[INFO] cloning repository https://github.com/mattmacf98/raytracing-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mattmacf98/raytracing-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattmacf98%2Fraytracing-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattmacf98%2Fraytracing-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a7f08157b1317ad78620cc19afb3a1dff520d11e
[INFO] building mattmacf98/raytracing-rust against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattmacf98%2Fraytracing-rust" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mattmacf98/raytracing-rust
[INFO] finished tweaking git repo https://github.com/mattmacf98/raytracing-rust
[INFO] tweaked toml for git repo https://github.com/mattmacf98/raytracing-rust written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mattmacf98/raytracing-rust on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mattmacf98/raytracing-rust 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_derive v1.0.214
[INFO] [stderr]   Downloaded thiserror v1.0.65
[INFO] [stderr]   Downloaded fdeflate v0.3.6
[INFO] [stderr]   Downloaded thiserror-impl v1.0.65
[INFO] [stderr]   Downloaded anyhow v1.0.91
[INFO] [stderr]   Downloaded image-webp v0.2.0
[INFO] [stderr]   Downloaded serde v1.0.214
[INFO] [stderr]   Downloaded syn v2.0.85
[INFO] [stderr]   Downloaded image v0.25.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6e6ecacef91c272f76bb118df14b8d075f8bef7b1c2dc1041926c551cc65695b
[INFO] running `Command { std: "docker" "start" "-a" "6e6ecacef91c272f76bb118df14b8d075f8bef7b1c2dc1041926c551cc65695b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6e6ecacef91c272f76bb118df14b8d075f8bef7b1c2dc1041926c551cc65695b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6e6ecacef91c272f76bb118df14b8d075f8bef7b1c2dc1041926c551cc65695b", kill_on_drop: false }`
[INFO] [stdout] 6e6ecacef91c272f76bb118df14b8d075f8bef7b1c2dc1041926c551cc65695b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9456119ac7d4ecd3ef67e730cbff7dc9900afe1ede959ea9d1ca3cae60be1c4c
[INFO] running `Command { std: "docker" "start" "-a" "9456119ac7d4ecd3ef67e730cbff7dc9900afe1ede959ea9d1ca3cae60be1c4c", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling anyhow v1.0.91
[INFO] [stderr]    Compiling built v0.7.5
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling miniz_oxide v0.8.0
[INFO] [stderr]    Compiling thiserror v1.0.65
[INFO] [stderr]    Compiling wasm-bindgen v0.2.95
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling maybe-rayon v0.1.1
[INFO] [stderr]    Compiling bitstream-io v2.5.3
[INFO] [stderr]    Compiling avif-serialize v0.8.2
[INFO] [stderr]    Compiling fdeflate v0.3.6
[INFO] [stderr]    Compiling bytemuck v1.19.0
[INFO] [stderr]    Compiling image-webp v0.2.0
[INFO] [stderr]    Compiling zune-jpeg v0.4.13
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]    Compiling flate2 v1.0.34
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling av1-grain v0.2.3
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling tiff v0.9.1
[INFO] [stderr]    Compiling png v0.17.14
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.85
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling exr v1.73.0
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.95
[INFO] [stderr]    Compiling profiling-procmacros v1.0.16
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling thiserror-impl v1.0.65
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.95
[INFO] [stderr]    Compiling profiling v1.0.16
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.95
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling ravif v0.11.11
[INFO] [stderr]    Compiling image v0.25.4
[INFO] [stderr]    Compiling ray-tracing-one-weekend v0.1.0 (/opt/rustwide/workdir/ray-tracing-one-weekend)
[INFO] [stdout] warning: unused imports: `self` and `vec2::Vec2`
[INFO] [stdout]  --> ray-tracing-one-weekend/src/quad.rs:3:142
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...able_list::HittableList, material::Material, ray::Ray, vec2::Vec2, vec3::{self, cross, dot, unit_vector, Point3, Vec3}};
[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 imports: `CosinePdf`, `dot`, `random_double_range`, and `vec2::UV`
[INFO] [stdout]  --> ray-tracing-one-weekend/src/camera.rs:5:85
[INFO] [stdout]   |
[INFO] [stdout] 5 | ...e, random_double_range}, hittable::Hittable, hittable_list::HittableList, pdf::{CosinePdf, HittablePdf, MixturePdf, Pdf}, ray::Ray, vec2::UV, vec3::{self, dot, P...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^                                                          ^^^^^^^^^                                           ^^^^^^^^               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dot`
[INFO] [stdout]  --> ray-tracing-one-weekend/src/material.rs:3:170
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...herePdf}, ray::Ray, texture::{SolidColor, Texture}, vec3::{self, dot, random_unit_vector, unit_vector, Point3, Vec3}};
[INFO] [stdout]   |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random_double`
[INFO] [stdout]  --> ray-tracing-one-weekend/src/perlin.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{common::{random_double, random_int_range}, vec3::{dot, Point3, Vec3}};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interval::Interval`
[INFO] [stdout]  --> ray-tracing-one-weekend/src/texture_image.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{color::Color, interval::Interval, texture::Texture};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/hittable.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn pdf_value(&self, origin: Point3, direction: Vec3) -> f64 {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `direction`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/hittable.rs:30:41
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn pdf_value(&self, origin: Point3, direction: Vec3) -> f64 {
[INFO] [stdout]    |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/hittable.rs:34:22
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn random(&self, origin: Point3) -> Vec3 {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_rec`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn emitted(&self, hit_rec: &HitRecord, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:13:44
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn emitted(&self, hit_rec: &HitRecord, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                                            ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn emitted(&self, hit_rec: &HitRecord, _u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                                            +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ASPECT_RATIO`
[INFO] [stdout]    |
[INFO] [stdout] 13 -     fn emitted(&self, hit_rec: &HitRecord, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout] 13 +     fn emitted(&self, hit_rec: &HitRecord, ASPECT_RATIO: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:13:52
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn emitted(&self, hit_rec: &HitRecord, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                                                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn emitted(&self, hit_rec: &HitRecord, u: f64, _v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                                                    +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ASPECT_RATIO`
[INFO] [stdout]    |
[INFO] [stdout] 13 -     fn emitted(&self, hit_rec: &HitRecord, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout] 13 +     fn emitted(&self, hit_rec: &HitRecord, u: f64, ASPECT_RATIO: f64, p: &Point3) -> Color {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:13:60
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn emitted(&self, hit_rec: &HitRecord, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                                                            ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn scatter_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:16:39
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn scatter_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scattered`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:16:56
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn scatter_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]    |                                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scattered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:68:27
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn scatter_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]    --> ray-tracing-one-weekend/src/material.rs:226:27
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn scatter_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]    --> ray-tracing-one-weekend/src/material.rs:226:39
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn scatter_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scattered`
[INFO] [stdout]    --> ray-tracing-one-weekend/src/material.rs:226:56
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn scatter_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]     |                                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scattered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/noise_texture.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn get_color(&self, u: f64, v:f64, point: &Point3) -> Color {
[INFO] [stdout]    |                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn get_color(&self, _u: f64, v:f64, point: &Point3) -> Color {
[INFO] [stdout]    |                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ASPECT_RATIO`
[INFO] [stdout]    |
[INFO] [stdout] 18 -     fn get_color(&self, u: f64, v:f64, point: &Point3) -> Color {
[INFO] [stdout] 18 +     fn get_color(&self, ASPECT_RATIO: f64, v:f64, point: &Point3) -> Color {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/noise_texture.rs:18:33
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn get_color(&self, u: f64, v:f64, point: &Point3) -> Color {
[INFO] [stdout]    |                                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn get_color(&self, u: f64, _v:f64, point: &Point3) -> Color {
[INFO] [stdout]    |                                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ASPECT_RATIO`
[INFO] [stdout]    |
[INFO] [stdout] 18 -     fn get_color(&self, u: f64, v:f64, point: &Point3) -> Color {
[INFO] [stdout] 18 +     fn get_color(&self, u: f64, ASPECT_RATIO:f64, point: &Point3) -> Color {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aluminum`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/main.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let aluminum = Arc::new(Metal::from_color(Color::new(0.8, 0.85, 0.88), 0.0));
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aluminum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASPECT_RATIO` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/main.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const ASPECT_RATIO: f64 = 3.0 / 2.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_WIDTH` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/main.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const IMAGE_WIDTH: i32 = 400;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_HEIGHT` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/main.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 | const IMAGE_HEIGHT: i32 = (IMAGE_WIDTH as f64 / ASPECT_RATIO) as i32;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cornell_smoke` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/main.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn cornell_smoke() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simple_light` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/main.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn simple_light() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quads` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/main.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn quads() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `perlin_spheres` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/main.rs:181:4
[INFO] [stdout]     |
[INFO] [stdout] 181 | fn perlin_spheres() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `earth` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/main.rs:201:4
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn earth() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checkered_spheres` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/main.rs:220:4
[INFO] [stdout]     |
[INFO] [stdout] 220 | fn checkered_spheres() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_scene` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/main.rs:241:4
[INFO] [stdout]     |
[INFO] [stdout] 241 | fn random_scene() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_unit_vector` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/vec3.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub fn random_unit_vector() -> Vec3 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Lambertian {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 40 |     pub fn new(albedo: Box<dyn Texture>) -> Lambertian {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl Metal {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 84 |     pub fn new(albedo: Box<dyn Texture>, f: f64) -> Metal {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/material.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl DiffuseLight {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 164 |     pub fn new(albedo: Box<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Isotropic` is never constructed
[INFO] [stdout]    --> ray-tracing-one-weekend/src/material.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct Isotropic {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_color` are never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/material.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | impl Isotropic {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout] 198 |     pub fn new(albedo: Box<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn from_color(albedo_color: Color) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_rgb` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/texture.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl SolidColor {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn from_rgb(red: f64, green: f64, blue: f64) -> SolidColor {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheckerTexture` is never constructed
[INFO] [stdout]   --> ray-tracing-one-weekend/src/texture.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct CheckerTexture {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_colors` are never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/texture.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl CheckerTexture {
[INFO] [stdout]    | ------------------- associated functions in this implementation
[INFO] [stdout] 39 |     pub fn new(scale: f64, even: Box<dyn Texture>, odd: Box<dyn Texture>) -> CheckerTexture {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn from_colors(scale: f64, color1: Color, color2: Color) -> CheckerTexture {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Perlin` is never constructed
[INFO] [stdout]  --> ray-tracing-one-weekend/src/perlin.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Perlin {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `noise`, `turbulence`, `perlin_generate_perm`, `permute`, and `perlin_interp` are never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/perlin.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Perlin {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     pub fn new() -> Perlin {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn noise(&self, scale: f64, p: &Point3) -> f64 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn turbulence(&self, p: &Point3, depth: i32) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn perlin_generate_perm() -> [i32; 256] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     fn permute(n: usize, p: &mut [i32; 256]) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn perlin_interp(c: [[[Vec3; 2]; 2]; 2], u: f64, v: f64, w: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextureImage` is never constructed
[INFO] [stdout]  --> ray-tracing-one-weekend/src/texture_image.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TextureImage {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `width`, `height`, and `pixel_data` are never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/texture_image.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl TextureImage {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(image_file: &str) -> TextureImage {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn width(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn height(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn pixel_data(&self, x: u32, y: u32) -> Color {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Interval` is never constructed
[INFO] [stdout]  --> ray-tracing-one-weekend/src/interval.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Interval {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_sub_intervals`, `expand`, `size`, `contains`, and `surrounds` are never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/interval.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Interval {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(min: f64, max: f64) -> Interval {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn from_sub_intervals(a: Interval, b: Interval) -> Interval {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn expand(&self, delta: f64) -> Interval {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn size(&self) -> f64 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn contains(&self, x: f64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn surrounds(&self, x: f64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoiseTexture` is never constructed
[INFO] [stdout]  --> ray-tracing-one-weekend/src/noise_texture.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct NoiseTexture {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> ray-tracing-one-weekend/src/noise_texture.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl NoiseTexture {
[INFO] [stdout]   | ----------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(scale: f64) -> NoiseTexture {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConstantMedium` is never constructed
[INFO] [stdout]  --> ray-tracing-one-weekend/src/constant_medium.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ConstantMedium {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_color` are never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/constant_medium.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ConstantMedium {
[INFO] [stdout]    | ------------------- associated functions in this implementation
[INFO] [stdout] 13 |     pub fn new(boundary: Arc<dyn Hittable>, density: f64, phase_function: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn from_color(boundary: Arc<dyn Hittable>, density: f64, albedo: Color) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `u` and `v` are never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/onb.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Onb {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn u(&self) -> Vec3 {
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn v(&self) -> Vec3 {
[INFO] [stdout]    |            ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpherePdf` is never constructed
[INFO] [stdout]   --> ray-tracing-one-weekend/src/pdf.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SpherePdf {}
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/pdf.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl SpherePdf {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new() -> SpherePdf {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.30s
[INFO] running `Command { std: "docker" "inspect" "9456119ac7d4ecd3ef67e730cbff7dc9900afe1ede959ea9d1ca3cae60be1c4c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9456119ac7d4ecd3ef67e730cbff7dc9900afe1ede959ea9d1ca3cae60be1c4c", kill_on_drop: false }`
[INFO] [stdout] 9456119ac7d4ecd3ef67e730cbff7dc9900afe1ede959ea9d1ca3cae60be1c4c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0b96d2bd8be698bbd5e07085eab0d6e4088c9d6a845816c5f383402850fb3e95
[INFO] running `Command { std: "docker" "start" "-a" "0b96d2bd8be698bbd5e07085eab0d6e4088c9d6a845816c5f383402850fb3e95", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling ray-tracing-one-weekend v0.1.0 (/opt/rustwide/workdir/ray-tracing-one-weekend)
[INFO] [stdout] warning: unused imports: `self` and `vec2::Vec2`
[INFO] [stdout]  --> ray-tracing-one-weekend/src/quad.rs:3:142
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...able_list::HittableList, material::Material, ray::Ray, vec2::Vec2, vec3::{self, cross, dot, unit_vector, Point3, Vec3}};
[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 imports: `CosinePdf`, `dot`, `random_double_range`, and `vec2::UV`
[INFO] [stdout]  --> ray-tracing-one-weekend/src/camera.rs:5:85
[INFO] [stdout]   |
[INFO] [stdout] 5 | ...e, random_double_range}, hittable::Hittable, hittable_list::HittableList, pdf::{CosinePdf, HittablePdf, MixturePdf, Pdf}, ray::Ray, vec2::UV, vec3::{self, dot, P...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^                                                          ^^^^^^^^^                                           ^^^^^^^^               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dot`
[INFO] [stdout]  --> ray-tracing-one-weekend/src/material.rs:3:170
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...herePdf}, ray::Ray, texture::{SolidColor, Texture}, vec3::{self, dot, random_unit_vector, unit_vector, Point3, Vec3}};
[INFO] [stdout]   |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random_double`
[INFO] [stdout]  --> ray-tracing-one-weekend/src/perlin.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{common::{random_double, random_int_range}, vec3::{dot, Point3, Vec3}};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interval::Interval`
[INFO] [stdout]  --> ray-tracing-one-weekend/src/texture_image.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{color::Color, interval::Interval, texture::Texture};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/hittable.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn pdf_value(&self, origin: Point3, direction: Vec3) -> f64 {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `direction`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/hittable.rs:30:41
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn pdf_value(&self, origin: Point3, direction: Vec3) -> f64 {
[INFO] [stdout]    |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/hittable.rs:34:22
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn random(&self, origin: Point3) -> Vec3 {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_rec`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn emitted(&self, hit_rec: &HitRecord, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:13:44
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn emitted(&self, hit_rec: &HitRecord, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                                            ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn emitted(&self, hit_rec: &HitRecord, _u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                                            +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ASPECT_RATIO`
[INFO] [stdout]    |
[INFO] [stdout] 13 -     fn emitted(&self, hit_rec: &HitRecord, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout] 13 +     fn emitted(&self, hit_rec: &HitRecord, ASPECT_RATIO: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:13:52
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn emitted(&self, hit_rec: &HitRecord, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                                                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn emitted(&self, hit_rec: &HitRecord, u: f64, _v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                                                    +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ASPECT_RATIO`
[INFO] [stdout]    |
[INFO] [stdout] 13 -     fn emitted(&self, hit_rec: &HitRecord, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout] 13 +     fn emitted(&self, hit_rec: &HitRecord, u: f64, ASPECT_RATIO: f64, p: &Point3) -> Color {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:13:60
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn emitted(&self, hit_rec: &HitRecord, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                                                            ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn scatter_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:16:39
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn scatter_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scattered`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:16:56
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn scatter_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]    |                                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scattered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:68:27
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn scatter_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]    --> ray-tracing-one-weekend/src/material.rs:226:27
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn scatter_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]    --> ray-tracing-one-weekend/src/material.rs:226:39
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn scatter_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scattered`
[INFO] [stdout]    --> ray-tracing-one-weekend/src/material.rs:226:56
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn scatter_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]     |                                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scattered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/noise_texture.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn get_color(&self, u: f64, v:f64, point: &Point3) -> Color {
[INFO] [stdout]    |                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn get_color(&self, _u: f64, v:f64, point: &Point3) -> Color {
[INFO] [stdout]    |                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ASPECT_RATIO`
[INFO] [stdout]    |
[INFO] [stdout] 18 -     fn get_color(&self, u: f64, v:f64, point: &Point3) -> Color {
[INFO] [stdout] 18 +     fn get_color(&self, ASPECT_RATIO: f64, v:f64, point: &Point3) -> Color {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/noise_texture.rs:18:33
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn get_color(&self, u: f64, v:f64, point: &Point3) -> Color {
[INFO] [stdout]    |                                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn get_color(&self, u: f64, _v:f64, point: &Point3) -> Color {
[INFO] [stdout]    |                                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ASPECT_RATIO`
[INFO] [stdout]    |
[INFO] [stdout] 18 -     fn get_color(&self, u: f64, v:f64, point: &Point3) -> Color {
[INFO] [stdout] 18 +     fn get_color(&self, u: f64, ASPECT_RATIO:f64, point: &Point3) -> Color {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aluminum`
[INFO] [stdout]   --> ray-tracing-one-weekend/src/main.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let aluminum = Arc::new(Metal::from_color(Color::new(0.8, 0.85, 0.88), 0.0));
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aluminum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASPECT_RATIO` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/main.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const ASPECT_RATIO: f64 = 3.0 / 2.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_WIDTH` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/main.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const IMAGE_WIDTH: i32 = 400;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_HEIGHT` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/main.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 | const IMAGE_HEIGHT: i32 = (IMAGE_WIDTH as f64 / ASPECT_RATIO) as i32;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cornell_smoke` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/main.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn cornell_smoke() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simple_light` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/main.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn simple_light() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quads` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/main.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn quads() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `perlin_spheres` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/main.rs:181:4
[INFO] [stdout]     |
[INFO] [stdout] 181 | fn perlin_spheres() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `earth` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/main.rs:201:4
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn earth() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checkered_spheres` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/main.rs:220:4
[INFO] [stdout]     |
[INFO] [stdout] 220 | fn checkered_spheres() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_scene` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/main.rs:241:4
[INFO] [stdout]     |
[INFO] [stdout] 241 | fn random_scene() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_unit_vector` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/vec3.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub fn random_unit_vector() -> Vec3 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Lambertian {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 40 |     pub fn new(albedo: Box<dyn Texture>) -> Lambertian {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/material.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl Metal {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 84 |     pub fn new(albedo: Box<dyn Texture>, f: f64) -> Metal {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/material.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl DiffuseLight {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 164 |     pub fn new(albedo: Box<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Isotropic` is never constructed
[INFO] [stdout]    --> ray-tracing-one-weekend/src/material.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct Isotropic {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_color` are never used
[INFO] [stdout]    --> ray-tracing-one-weekend/src/material.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | impl Isotropic {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout] 198 |     pub fn new(albedo: Box<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn from_color(albedo_color: Color) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_rgb` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/texture.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl SolidColor {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn from_rgb(red: f64, green: f64, blue: f64) -> SolidColor {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheckerTexture` is never constructed
[INFO] [stdout]   --> ray-tracing-one-weekend/src/texture.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct CheckerTexture {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_colors` are never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/texture.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl CheckerTexture {
[INFO] [stdout]    | ------------------- associated functions in this implementation
[INFO] [stdout] 39 |     pub fn new(scale: f64, even: Box<dyn Texture>, odd: Box<dyn Texture>) -> CheckerTexture {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn from_colors(scale: f64, color1: Color, color2: Color) -> CheckerTexture {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Perlin` is never constructed
[INFO] [stdout]  --> ray-tracing-one-weekend/src/perlin.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Perlin {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `noise`, `turbulence`, `perlin_generate_perm`, `permute`, and `perlin_interp` are never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/perlin.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Perlin {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     pub fn new() -> Perlin {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn noise(&self, scale: f64, p: &Point3) -> f64 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn turbulence(&self, p: &Point3, depth: i32) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn perlin_generate_perm() -> [i32; 256] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     fn permute(n: usize, p: &mut [i32; 256]) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn perlin_interp(c: [[[Vec3; 2]; 2]; 2], u: f64, v: f64, w: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextureImage` is never constructed
[INFO] [stdout]  --> ray-tracing-one-weekend/src/texture_image.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TextureImage {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `width`, `height`, and `pixel_data` are never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/texture_image.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl TextureImage {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(image_file: &str) -> TextureImage {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn width(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn height(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn pixel_data(&self, x: u32, y: u32) -> Color {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Interval` is never constructed
[INFO] [stdout]  --> ray-tracing-one-weekend/src/interval.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Interval {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_sub_intervals`, `expand`, `size`, `contains`, and `surrounds` are never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/interval.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Interval {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(min: f64, max: f64) -> Interval {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn from_sub_intervals(a: Interval, b: Interval) -> Interval {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn expand(&self, delta: f64) -> Interval {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn size(&self) -> f64 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn contains(&self, x: f64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn surrounds(&self, x: f64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoiseTexture` is never constructed
[INFO] [stdout]  --> ray-tracing-one-weekend/src/noise_texture.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct NoiseTexture {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> ray-tracing-one-weekend/src/noise_texture.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl NoiseTexture {
[INFO] [stdout]   | ----------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(scale: f64) -> NoiseTexture {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConstantMedium` is never constructed
[INFO] [stdout]  --> ray-tracing-one-weekend/src/constant_medium.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ConstantMedium {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_color` are never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/constant_medium.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ConstantMedium {
[INFO] [stdout]    | ------------------- associated functions in this implementation
[INFO] [stdout] 13 |     pub fn new(boundary: Arc<dyn Hittable>, density: f64, phase_function: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn from_color(boundary: Arc<dyn Hittable>, density: f64, albedo: Color) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `u` and `v` are never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/onb.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Onb {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn u(&self) -> Vec3 {
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn v(&self) -> Vec3 {
[INFO] [stdout]    |            ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpherePdf` is never constructed
[INFO] [stdout]   --> ray-tracing-one-weekend/src/pdf.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SpherePdf {}
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> ray-tracing-one-weekend/src/pdf.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl SpherePdf {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new() -> SpherePdf {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.59s
[INFO] running `Command { std: "docker" "inspect" "0b96d2bd8be698bbd5e07085eab0d6e4088c9d6a845816c5f383402850fb3e95", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b96d2bd8be698bbd5e07085eab0d6e4088c9d6a845816c5f383402850fb3e95", kill_on_drop: false }`
[INFO] [stdout] 0b96d2bd8be698bbd5e07085eab0d6e4088c9d6a845816c5f383402850fb3e95
