[INFO] cloning repository https://github.com/matihope/RustRayTracing
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/matihope/RustRayTracing" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatihope%2FRustRayTracing", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatihope%2FRustRayTracing'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c8b2a31e415664921c706a8cc9dfb53410db122a
[INFO] testing matihope/RustRayTracing against beta-2025-09-21 for beta-1.91-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatihope%2FRustRayTracing" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/matihope/RustRayTracing
[INFO] finished tweaking git repo https://github.com/matihope/RustRayTracing
[INFO] tweaked toml for git repo https://github.com/matihope/RustRayTracing written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/matihope/RustRayTracing on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/matihope/RustRayTracing already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 86b1822b959fc577a0ff54dfc8fb529e4e52c44cadc46282b7ad4ccea9c1c200
[INFO] running `Command { std: "docker" "start" "-a" "86b1822b959fc577a0ff54dfc8fb529e4e52c44cadc46282b7ad4ccea9c1c200", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "86b1822b959fc577a0ff54dfc8fb529e4e52c44cadc46282b7ad4ccea9c1c200", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86b1822b959fc577a0ff54dfc8fb529e4e52c44cadc46282b7ad4ccea9c1c200", kill_on_drop: false }`
[INFO] [stdout] 86b1822b959fc577a0ff54dfc8fb529e4e52c44cadc46282b7ad4ccea9c1c200
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 91afd19e13fdb58f95f14a7a6bf32cd7c8f9b3ed2acf87d6172352c27925638f
[INFO] running `Command { std: "docker" "start" "-a" "91afd19e13fdb58f95f14a7a6bf32cd7c8f9b3ed2acf87d6172352c27925638f", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling portable-atomic v1.6.0
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling either v1.10.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling getrandom v0.2.12
[INFO] [stderr]    Compiling console v0.15.8
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rayon v1.9.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling indicatif v0.17.8
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling ray_tracing v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Normal`
[INFO] [stdout]  --> src/draw_image.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand_distr::{Distribution, Normal};
[INFO] [stdout]   |                                ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ray`
[INFO] [stdout]  --> src/camera.rs:6:99
[INFO] [stdout]   |
[INFO] [stdout] 6 |     color::Color, hittables::prelude::*, material::material::ScatterResult, my_math::{prelude::*, ray},
[INFO] [stdout]   |                                                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Distribution`
[INFO] [stdout]  --> src/draw_image.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand_distr::{Distribution, Normal};
[INFO] [stdout]   |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `material_right`
[INFO] [stdout]   --> src/draw_image.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let material_right = Arc::new(Metal::new(Color::new(0.8, 0.6, 0.2), 0.1));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material_right`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dist`
[INFO] [stdout]   --> src/draw_image.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let dist = Uniform::new(0, 3);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_dist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_world` is never used
[INFO] [stdout]   --> src/draw_image.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn make_world() -> HittableList {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HitRecordNoHit` is never constructed
[INFO] [stdout]   --> src/hittables/hittable.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct HitRecordNoHit;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `clear` are never used
[INFO] [stdout]   --> src/hittables/hittable_list.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl HittableList {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn new(hittable: Rc<dyn Hittable>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `random` and `random_in_hemisphere` are never used
[INFO] [stdout]   --> src/my_math/vec3.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Vec3 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn random() -> Self {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn random_in_hemisphere(normal: &Vec3) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `contains`, `EMPTY`, and `UNIVERSE` are never used
[INFO] [stdout]   --> src/my_math/interval.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Interval {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub fn contains(&self, x: f64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub const EMPTY: Interval = Interval::new(INFINITY, -INFINITY);
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 24 |     pub const UNIVERSE: Interval = Interval::new(-INFINITY, INFINITY);
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.16s
[INFO] running `Command { std: "docker" "inspect" "91afd19e13fdb58f95f14a7a6bf32cd7c8f9b3ed2acf87d6172352c27925638f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "91afd19e13fdb58f95f14a7a6bf32cd7c8f9b3ed2acf87d6172352c27925638f", kill_on_drop: false }`
[INFO] [stdout] 91afd19e13fdb58f95f14a7a6bf32cd7c8f9b3ed2acf87d6172352c27925638f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] db9f1f9cb07a2ac451495c8f6cbce3f1954a27e83dc0c019e9234ee9abce74be
[INFO] running `Command { std: "docker" "start" "-a" "db9f1f9cb07a2ac451495c8f6cbce3f1954a27e83dc0c019e9234ee9abce74be", kill_on_drop: false }`
[INFO] [stderr]    Compiling ray_tracing v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Normal`
[INFO] [stdout]  --> src/draw_image.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand_distr::{Distribution, Normal};
[INFO] [stdout]   |                                ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ray`
[INFO] [stdout]  --> src/camera.rs:6:99
[INFO] [stdout]   |
[INFO] [stdout] 6 |     color::Color, hittables::prelude::*, material::material::ScatterResult, my_math::{prelude::*, ray},
[INFO] [stdout]   |                                                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Distribution`
[INFO] [stdout]  --> src/draw_image.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand_distr::{Distribution, Normal};
[INFO] [stdout]   |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `material_right`
[INFO] [stdout]   --> src/draw_image.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let material_right = Arc::new(Metal::new(Color::new(0.8, 0.6, 0.2), 0.1));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material_right`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dist`
[INFO] [stdout]   --> src/draw_image.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let dist = Uniform::new(0, 3);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_dist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_world` is never used
[INFO] [stdout]   --> src/draw_image.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn make_world() -> HittableList {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HitRecordNoHit` is never constructed
[INFO] [stdout]   --> src/hittables/hittable.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct HitRecordNoHit;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `clear` are never used
[INFO] [stdout]   --> src/hittables/hittable_list.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl HittableList {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn new(hittable: Rc<dyn Hittable>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `random` and `random_in_hemisphere` are never used
[INFO] [stdout]   --> src/my_math/vec3.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Vec3 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn random() -> Self {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn random_in_hemisphere(normal: &Vec3) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `contains`, `EMPTY`, and `UNIVERSE` are never used
[INFO] [stdout]   --> src/my_math/interval.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Interval {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub fn contains(&self, x: f64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub const EMPTY: Interval = Interval::new(INFINITY, -INFINITY);
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 24 |     pub const UNIVERSE: Interval = Interval::new(-INFINITY, INFINITY);
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.69s
[INFO] running `Command { std: "docker" "inspect" "db9f1f9cb07a2ac451495c8f6cbce3f1954a27e83dc0c019e9234ee9abce74be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db9f1f9cb07a2ac451495c8f6cbce3f1954a27e83dc0c019e9234ee9abce74be", kill_on_drop: false }`
[INFO] [stdout] db9f1f9cb07a2ac451495c8f6cbce3f1954a27e83dc0c019e9234ee9abce74be
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e89e30bebaa1f9e6f3192546e5bc916c76b91cfc9dbff4897ac8e570fcd084b2
[INFO] running `Command { std: "docker" "start" "-a" "e89e30bebaa1f9e6f3192546e5bc916c76b91cfc9dbff4897ac8e570fcd084b2", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Normal`
[INFO] [stderr]  --> src/draw_image.rs:2:32
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rand_distr::{Distribution, Normal};
[INFO] [stderr]   |                                ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ray`
[INFO] [stderr]  --> src/camera.rs:6:99
[INFO] [stderr]   |
[INFO] [stderr] 6 |     color::Color, hittables::prelude::*, material::material::ScatterResult, my_math::{prelude::*, ray},
[INFO] [stderr]   |                                                                                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Distribution`
[INFO] [stderr]  --> src/draw_image.rs:2:18
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rand_distr::{Distribution, Normal};
[INFO] [stderr]   |                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `material_right`
[INFO] [stderr]   --> src/draw_image.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |     let material_right = Arc::new(Metal::new(Color::new(0.8, 0.6, 0.2), 0.1));
[INFO] [stderr]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material_right`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dist`
[INFO] [stderr]   --> src/draw_image.rs:74:9
[INFO] [stderr]    |
[INFO] [stderr] 74 |     let dist = Uniform::new(0, 3);
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_dist`
[INFO] [stderr] 
[INFO] [stderr] warning: function `make_world` is never used
[INFO] [stderr]   --> src/draw_image.rs:15:4
[INFO] [stderr]    |
[INFO] [stderr] 15 | fn make_world() -> HittableList {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `HitRecordNoHit` is never constructed
[INFO] [stderr]   --> src/hittables/hittable.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct HitRecordNoHit;
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `clear` are never used
[INFO] [stderr]   --> src/hittables/hittable_list.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl HittableList {
[INFO] [stderr]    | ----------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 16 |     pub fn new(hittable: Rc<dyn Hittable>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub fn clear(&mut self) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `random` and `random_in_hemisphere` are never used
[INFO] [stderr]   --> src/my_math/vec3.rs:38:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl Vec3 {
[INFO] [stderr]    | --------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 38 |     fn random() -> Self {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 60 |     pub fn random_in_hemisphere(normal: &Vec3) -> Vec3 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `contains`, `EMPTY`, and `UNIVERSE` are never used
[INFO] [stderr]   --> src/my_math/interval.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr]  8 | impl Interval {
[INFO] [stderr]    | ------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 12 |     pub fn contains(&self, x: f64) -> bool {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub const EMPTY: Interval = Interval::new(INFINITY, -INFINITY);
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr] 24 |     pub const UNIVERSE: Interval = Interval::new(-INFINITY, INFINITY);
[INFO] [stderr]    |               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ray_tracing` (bin "ray_tracing" test) generated 10 warnings (run `cargo fix --bin "ray_tracing" --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ray_tracing-297f3ee72fdf85f3)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e89e30bebaa1f9e6f3192546e5bc916c76b91cfc9dbff4897ac8e570fcd084b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e89e30bebaa1f9e6f3192546e5bc916c76b91cfc9dbff4897ac8e570fcd084b2", kill_on_drop: false }`
[INFO] [stdout] e89e30bebaa1f9e6f3192546e5bc916c76b91cfc9dbff4897ac8e570fcd084b2
