[INFO] cloning repository https://github.com/thanadolps/raytracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/thanadolps/raytracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthanadolps%2Fraytracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthanadolps%2Fraytracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 591ed33c7b369e54f6a52547f7ebedd3a0fc488c
[INFO] checking thanadolps/raytracer against try#8ac0915e346f9a2e49ca3951b642c55bd7d1eaab for pr-158447
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthanadolps%2Fraytracer" "/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/thanadolps/raytracer
[INFO] finished tweaking git repo https://github.com/thanadolps/raytracer
[INFO] tweaked toml for git repo https://github.com/thanadolps/raytracer written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/thanadolps/raytracer on toolchain 8ac0915e346f9a2e49ca3951b642c55bd7d1eaab
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/thanadolps/raytracer 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" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rand_distr v0.4.0
[INFO] [stderr]   Downloaded redox_syscall v0.2.8
[INFO] [stderr]   Downloaded palette_derive v0.5.0
[INFO] [stderr]   Downloaded siphasher v0.3.5
[INFO] [stderr]   Downloaded ordered-float v2.2.0
[INFO] [stderr]   Downloaded paste v1.0.5
[INFO] [stderr]   Downloaded typed-index-collections v3.0.2
[INFO] [stderr]   Downloaded custom_error v1.9.2
[INFO] [stderr]   Downloaded simba v0.4.0
[INFO] [stderr]   Downloaded enum_dispatch v0.3.7
[INFO] [stderr]   Downloaded gif v0.11.2
[INFO] [stderr]   Downloaded palette v0.5.0
[INFO] [stderr]   Downloaded derive_more v0.99.14
[INFO] [stderr]   Downloaded proptest v1.0.0
[INFO] [stderr]   Downloaded micromath v2.0.0
[INFO] [stderr]   Downloaded nalgebra v0.26.2
[INFO] [stderr]   Downloaded uninit v0.4.1-dev
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5f4dc73dd642a5f38ccac1b807f9433e9a5860d85d4d81e80764961286495e01
[INFO] running `Command { std: "docker" "start" "5f4dc73dd642a5f38ccac1b807f9433e9a5860d85d4d81e80764961286495e01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5f4dc73dd642a5f38ccac1b807f9433e9a5860d85d4d81e80764961286495e01" "/opt/rustwide/cargo-home/bin/cargo" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5f4dc73dd642a5f38ccac1b807f9433e9a5860d85d4d81e80764961286495e01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5f4dc73dd642a5f38ccac1b807f9433e9a5860d85d4d81e80764961286495e01" "/opt/rustwide/cargo-home/bin/cargo" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.94
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.26
[INFO] [stderr]    Compiling syn v1.0.72
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.4
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling memoffset v0.6.3
[INFO] [stderr]    Compiling serde_derive v1.0.126
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling serde v1.0.126
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling siphasher v0.3.5
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling typenum v1.13.0
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking weezl v0.1.5
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]    Compiling paste v1.0.5
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking matrixmultiply v0.3.1
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]    Compiling once_cell v1.7.2
[INFO] [stderr]     Checking phf v0.8.0
[INFO] [stderr]     Checking bytemuck v1.5.1
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking gif v0.11.2
[INFO] [stderr]     Checking base64 v0.13.0
[INFO] [stderr]     Checking bit-set v0.5.2
[INFO] [stderr]     Checking itertools v0.10.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.4
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking assert_approx_eq v1.1.0
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]     Checking micromath v2.0.0
[INFO] [stderr]     Checking uninit v0.4.1-dev
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking custom_error v1.9.2
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking rand_core v0.6.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.0
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]     Checking rand_chacha v0.3.0
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking rand_xoshiro v0.6.0
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking ordered-float v2.2.0
[INFO] [stderr]     Checking rand v0.8.3
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]     Checking tempfile v3.2.0
[INFO] [stderr]     Checking rand_distr v0.4.0
[INFO] [stderr]    Compiling phf_codegen v0.8.0
[INFO] [stderr]    Compiling palette v0.5.0
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking proptest v1.0.0
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking tiff v0.6.1
[INFO] [stderr]    Compiling palette_derive v0.5.0
[INFO] [stderr]    Compiling derive_more v0.99.14
[INFO] [stderr]    Compiling enum_dispatch v0.3.7
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking num-complex v0.3.1
[INFO] [stderr]     Checking ron v0.6.4
[INFO] [stderr]     Checking typed-index-collections v3.0.2
[INFO] [stderr]     Checking simba v0.4.0
[INFO] [stderr]     Checking nalgebra v0.26.2
[INFO] [stderr]     Checking test_project v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::f32::consts::FRAC_PI_4`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::f32::consts::FRAC_PI_4;
[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: `Point3`, `Rotation3`, `UnitQuaternion`, `Unit`, and `Vector3`
[INFO] [stdout]   --> src/main.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use nalgebra::{Point3, Rotation3, Unit, UnitQuaternion, Vector3};
[INFO] [stdout]    |                ^^^^^^  ^^^^^^^^^  ^^^^  ^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InfinitePlane` and `Sphere`
[INFO] [stdout]   --> src/main.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rtracer::geometric::{InfinitePlane, Sphere};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rtracer::light::AreaLight`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rtracer::light::AreaLight;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rtracer::Color3`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use rtracer::Color3;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rtracer::SceneObject`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use rtracer::SceneObject;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rtracer::SceneData`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::rtracer::SceneData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser::serde_interface`
[INFO] [stdout]  --> src/rtracer.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use parser::serde_interface;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape::Shape`
[INFO] [stdout]   --> src/rtracer.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use shape::Shape;
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::cell_vec::CellVec`
[INFO] [stdout]  --> src/rtracer/bvh.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::utils::cell_vec::CellVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/rtracer/light.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Similarity3`, `Translation3`, and `UnitQuaternion`
[INFO] [stdout]  --> src/rtracer/light.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use nalgebra::{Point3, Similarity3, Translation3, Unit, UnitQuaternion, Vector3};
[INFO] [stdout]   |                        ^^^^^^^^^^^  ^^^^^^^^^^^^        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Distribution` and `Uniform`
[INFO] [stdout]  --> src/rtracer/light.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::distributions::{Distribution, Uniform};
[INFO] [stdout]   |                           ^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::thread_rng`
[INFO] [stdout]  --> src/rtracer/light.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::thread_rng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AREALIGHT_MONTECARLO_SAMPLE`
[INFO] [stdout]  --> src/rtracer/light.rs:9:42
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::{AREALIGHT_FINITEDIFF_LENGTH, AREALIGHT_MONTECARLO_SAMPLE};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/rtracer/light.rs:232:31
[INFO] [stdout]     |
[INFO] [stdout] 232 |         let mut light_point = (plane_pos - (span + cospan));
[INFO] [stdout]     |                               ^                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 232 -         let mut light_point = (plane_pos - (span + cospan));
[INFO] [stdout] 232 +         let mut light_point = plane_pos - (span + cospan) ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]   --> src/rtracer/material.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::f32::consts::PI;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::Rng`
[INFO] [stdout]  --> src/rtracer/renderer.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::prelude::Rng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::SeedableRng`
[INFO] [stdout]   --> src/rtracer/renderer.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::SeedableRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::FRAC_PI_4`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::f32::consts::FRAC_PI_4;
[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: `rand::rngs::mock::StepRng`
[INFO] [stdout]  --> src/rtracer/thread_buffer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::rngs::mock::StepRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Point3`, `Rotation3`, `UnitQuaternion`, `Unit`, and `Vector3`
[INFO] [stdout]   --> src/main.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use nalgebra::{Point3, Rotation3, Unit, UnitQuaternion, Vector3};
[INFO] [stdout]    |                ^^^^^^  ^^^^^^^^^  ^^^^  ^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rtracer::helper::debug_normalize`
[INFO] [stdout]  --> src/utils/proxy_serialize.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::rtracer::helper::debug_normalize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InfinitePlane` and `Sphere`
[INFO] [stdout]   --> src/main.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rtracer::geometric::{InfinitePlane, Sphere};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Similarity3` and `UnitQuaternion`
[INFO] [stdout]  --> src/utils/proxy_serialize.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nalgebra::{Point3, Similarity3, Unit, UnitQuaternion, Vector3};
[INFO] [stdout]   |                        ^^^^^^^^^^^        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rtracer::light::AreaLight`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rtracer::light::AreaLight;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/utils/proxy_serialize.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rtracer::Color3`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use rtracer::Color3;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rtracer::SceneObject`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use rtracer::SceneObject;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rtracer::SceneData`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::rtracer::SceneData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser::serde_interface`
[INFO] [stdout]  --> src/rtracer.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use parser::serde_interface;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape::Shape`
[INFO] [stdout]   --> src/rtracer.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use shape::Shape;
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::cell_vec::CellVec`
[INFO] [stdout]  --> src/rtracer/bvh.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::utils::cell_vec::CellVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/rtracer/light.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Similarity3`, `Translation3`, and `UnitQuaternion`
[INFO] [stdout]  --> src/rtracer/light.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use nalgebra::{Point3, Similarity3, Translation3, Unit, UnitQuaternion, Vector3};
[INFO] [stdout]   |                        ^^^^^^^^^^^  ^^^^^^^^^^^^        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Distribution` and `Uniform`
[INFO] [stdout]  --> src/rtracer/light.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::distributions::{Distribution, Uniform};
[INFO] [stdout]   |                           ^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::thread_rng`
[INFO] [stdout]  --> src/rtracer/light.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::thread_rng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AREALIGHT_MONTECARLO_SAMPLE`
[INFO] [stdout]  --> src/rtracer/light.rs:9:42
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::{AREALIGHT_FINITEDIFF_LENGTH, AREALIGHT_MONTECARLO_SAMPLE};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/rtracer/light.rs:232:31
[INFO] [stdout]     |
[INFO] [stdout] 232 |         let mut light_point = (plane_pos - (span + cospan));
[INFO] [stdout]     |                               ^                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 232 -         let mut light_point = (plane_pos - (span + cospan));
[INFO] [stdout] 232 +         let mut light_point = plane_pos - (span + cospan) ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]   --> src/rtracer/material.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::f32::consts::PI;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::Rng`
[INFO] [stdout]  --> src/rtracer/renderer.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::prelude::Rng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::SeedableRng`
[INFO] [stdout]   --> src/rtracer/renderer.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::SeedableRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::mock::StepRng`
[INFO] [stdout]  --> src/rtracer/thread_buffer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::rngs::mock::StepRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::*`
[INFO] [stdout]    --> src/utils/aabb.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     use crate::utils::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rtracer::helper::debug_normalize`
[INFO] [stdout]  --> src/utils/proxy_serialize.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::rtracer::helper::debug_normalize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Similarity3` and `UnitQuaternion`
[INFO] [stdout]  --> src/utils/proxy_serialize.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nalgebra::{Point3, Similarity3, Unit, UnitQuaternion, Vector3};
[INFO] [stdout]   |                        ^^^^^^^^^^^        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/utils/proxy_serialize.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `light::Light`
[INFO] [stdout]   --> src/rtracer/material.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |     helper, light::Light, Color3, HitInfo, RayCastInfo, Scene, SceneObject, INDIRECT_DEPTH_LIMIT,
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/rtracer/material.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/rtracer/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pixel`
[INFO] [stdout]  --> src/rtracer/renderer.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::{ImageBuffer, Pixel};
[INFO] [stdout]   |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `capacity`
[INFO] [stdout]   --> src/rtracer/bvh.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let capacity = calc_dfs_required_capacity(&flat_tree);
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_capacity`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `light::Light`
[INFO] [stdout]   --> src/rtracer/material.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |     helper, light::Light, Color3, HitInfo, RayCastInfo, Scene, SceneObject, INDIRECT_DEPTH_LIMIT,
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/rtracer/material.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/rtracer/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pixel`
[INFO] [stdout]  --> src/rtracer/renderer.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::{ImageBuffer, Pixel};
[INFO] [stdout]   |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `capacity`
[INFO] [stdout]   --> src/rtracer/bvh.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let capacity = calc_dfs_required_capacity(&flat_tree);
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_capacity`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scene`
[INFO] [stdout]    --> src/rtracer/material.rs:394:9
[INFO] [stdout]     |
[INFO] [stdout] 394 |         scene: &Scene,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_scene`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_buffer`
[INFO] [stdout]    --> src/rtracer/material.rs:395:9
[INFO] [stdout]     |
[INFO] [stdout] 395 |         thread_buffer: &mut ThreadBuffer,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_info`
[INFO] [stdout]    --> src/rtracer/material.rs:396:9
[INFO] [stdout]     |
[INFO] [stdout] 396 |         hit_info: &HitInfo,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]    --> src/rtracer/material.rs:397:9
[INFO] [stdout]     |
[INFO] [stdout] 397 |         hit_object: &SceneObject,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raycase_info`
[INFO] [stdout]    --> src/rtracer/material.rs:398:9
[INFO] [stdout]     |
[INFO] [stdout] 398 |         raycase_info: RayCastInfo,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raycase_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scene`
[INFO] [stdout]    --> src/rtracer/material.rs:394:9
[INFO] [stdout]     |
[INFO] [stdout] 394 |         scene: &Scene,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_scene`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_buffer`
[INFO] [stdout]    --> src/rtracer/material.rs:395:9
[INFO] [stdout]     |
[INFO] [stdout] 395 |         thread_buffer: &mut ThreadBuffer,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_info`
[INFO] [stdout]    --> src/rtracer/material.rs:396:9
[INFO] [stdout]     |
[INFO] [stdout] 396 |         hit_info: &HitInfo,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]    --> src/rtracer/material.rs:397:9
[INFO] [stdout]     |
[INFO] [stdout] 397 |         hit_object: &SceneObject,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raycase_info`
[INFO] [stdout]    --> src/rtracer/material.rs:398:9
[INFO] [stdout]     |
[INFO] [stdout] 398 |         raycase_info: RayCastInfo,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raycase_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AREALIGHT_MONTECARLO_SAMPLE` is never used
[INFO] [stdout]   --> src/rtracer.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const AREALIGHT_MONTECARLO_SAMPLE: u32 = 121;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_capacity` is never used
[INFO] [stdout]   --> src/rtracer/bvh.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn calculate_capacity(mut n: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `generate` is never used
[INFO] [stdout]   --> src/rtracer/bvh.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl BVHTree {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn generate(objects: impl Iterator<Item = (SceneObjectIndex, AABB)>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_float` is never used
[INFO] [stdout]   --> src/rtracer/helper.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn map_float<F: Real>(x: F, src: RangeInclusive<F>, dest: RangeInclusive<F>) -> F {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/light.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl PointLight {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 45 |     pub fn new(pos: Point3<f32>, light: Color3) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/rtracer/light.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl DirectionalLight {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 121 |     pub fn new(dir: Unit<Vector3<f32>>, light: Color3) -> DirectionalLight {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/material.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl Diffuse {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 70 |     pub fn new(color: Color3, albedo: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/rtracer/material.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl Reflective {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 158 |     pub fn new(color: Color3, roughness: f32, iteration: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/rtracer/material.rs:345:12
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl PerfectReflective {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 345 |     pub fn new(color: Color3) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PBRReflective` is never constructed
[INFO] [stdout]    --> src/rtracer/material.rs:380:12
[INFO] [stdout]     |
[INFO] [stdout] 380 | pub struct PBRReflective {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_scene_data` is never used
[INFO] [stdout]   --> src/rtracer/parser.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn save_scene_data(path: impl AsRef<Path>, scene: &SceneData) -> Result<(), SceneParserError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_maybe_component` is never used
[INFO] [stdout]   --> src/rtracer/scene.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl SceneBuilder {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn from_maybe_component(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `lights`, `skylight`, and `skylight_mut` are never used
[INFO] [stdout]    --> src/rtracer/scene.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout]  73 | impl Scene {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn lights(&self) -> &[light::Lights] {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn skylight(&self) -> &Color3 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn skylight_mut(&mut self) -> &mut Color3 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/scene_object.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl SceneObject {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(shape: impl Into<Shapes>, material: impl Into<Materials>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/rtracer/shape.rs:146:16
[INFO] [stdout]     |
[INFO] [stdout] 145 |     impl Disc {
[INFO] [stdout]     |     --------- associated function in this implementation
[INFO] [stdout] 146 |         pub fn new(pos: Point3<f32>, norm: Unit<Vector3<f32>>, r: f32) -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_ron` is never used
[INFO] [stdout]  --> src/utils.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn print_ron(x: &impl Serialize) {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_floats` and `contain` are never used
[INFO] [stdout]   --> src/utils/aabb.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl AABB {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn from_floats(ax: f32, ay: f32, az: f32, bx: f32, by: f32, bz: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn contain(&self, p: Point3<f32>, tor: f32) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CellVec` is never constructed
[INFO] [stdout]  --> src/utils/cell_vec.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct CellVec<T> {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/utils/cell_vec.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<T> CellVec<T> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn reallocate() {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn last_index(&self) -> Option<usize> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn as_cell_slice(&mut self) -> &[Cell<T>] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn push(&self, value: T) -> Result<(), ()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub unsafe fn push_unchecked(&self, value: T) {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn clear(&self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn truncate(&self, len: usize) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pop`, `clear_fast`, `as_slice`, `get`, `index`, and `get_unchecked` are never used
[INFO] [stdout]    --> src/utils/cell_vec.rs:98:12
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl<T: Copy> CellVec<T> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout]  98 |     pub fn pop(&self) -> Option<T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn clear_fast(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn as_slice<'a>(&'a mut self) -> &'a [T] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn get(&self, index: usize) -> Option<T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn index(&self, index: usize) -> T {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub unsafe fn get_unchecked(&self, index: usize) -> T {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `uninitialize_cell` is never used
[INFO] [stdout]    --> src/utils/cell_vec.rs:180:11
[INFO] [stdout]     |
[INFO] [stdout] 180 | unsafe fn uninitialize_cell<T>(x: &Cell<MaybeUninit<T>>) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AREALIGHT_MONTECARLO_SAMPLE` is never used
[INFO] [stdout]   --> src/rtracer.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const AREALIGHT_MONTECARLO_SAMPLE: u32 = 121;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_capacity` is never used
[INFO] [stdout]   --> src/rtracer/bvh.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn calculate_capacity(mut n: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `generate` is never used
[INFO] [stdout]   --> src/rtracer/bvh.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl BVHTree {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn generate(objects: impl Iterator<Item = (SceneObjectIndex, AABB)>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/light.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl PointLight {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 45 |     pub fn new(pos: Point3<f32>, light: Color3) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/rtracer/light.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl DirectionalLight {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 121 |     pub fn new(dir: Unit<Vector3<f32>>, light: Color3) -> DirectionalLight {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/material.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl Diffuse {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 70 |     pub fn new(color: Color3, albedo: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/rtracer/material.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl Reflective {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 158 |     pub fn new(color: Color3, roughness: f32, iteration: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/rtracer/material.rs:345:12
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl PerfectReflective {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 345 |     pub fn new(color: Color3) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PBRReflective` is never constructed
[INFO] [stdout]    --> src/rtracer/material.rs:380:12
[INFO] [stdout]     |
[INFO] [stdout] 380 | pub struct PBRReflective {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_scene_data` is never used
[INFO] [stdout]   --> src/rtracer/parser.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn save_scene_data(path: impl AsRef<Path>, scene: &SceneData) -> Result<(), SceneParserError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_maybe_component` is never used
[INFO] [stdout]   --> src/rtracer/scene.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl SceneBuilder {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn from_maybe_component(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `lights`, `skylight`, and `skylight_mut` are never used
[INFO] [stdout]    --> src/rtracer/scene.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout]  73 | impl Scene {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn lights(&self) -> &[light::Lights] {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn skylight(&self) -> &Color3 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn skylight_mut(&mut self) -> &mut Color3 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/scene_object.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl SceneObject {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(shape: impl Into<Shapes>, material: impl Into<Materials>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/rtracer/shape.rs:146:16
[INFO] [stdout]     |
[INFO] [stdout] 145 |     impl Disc {
[INFO] [stdout]     |     --------- associated function in this implementation
[INFO] [stdout] 146 |         pub fn new(pos: Point3<f32>, norm: Unit<Vector3<f32>>, r: f32) -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_ron` is never used
[INFO] [stdout]  --> src/utils.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn print_ron(x: &impl Serialize) {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contain` is never used
[INFO] [stdout]   --> src/utils/aabb.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl AABB {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn contain(&self, p: Point3<f32>, tor: f32) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `reallocate`, `last_index`, and `push_unchecked` are never used
[INFO] [stdout]   --> src/utils/cell_vec.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<T> CellVec<T> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn reallocate() {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn last_index(&self) -> Option<usize> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub unsafe fn push_unchecked(&self, value: T) {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear_fast`, `as_slice`, `get`, `index`, and `get_unchecked` are never used
[INFO] [stdout]    --> src/utils/cell_vec.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl<T: Copy> CellVec<T> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn clear_fast(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn as_slice<'a>(&'a mut self) -> &'a [T] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn get(&self, index: usize) -> Option<T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn index(&self, index: usize) -> T {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub unsafe fn get_unchecked(&self, index: usize) -> T {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_strategy` is never used
[INFO] [stdout]  --> src/utils/fuzzing.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn vector_strategy() -> impl Strategy<Value = Vector3<f32>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unit_vector_strategy` is never used
[INFO] [stdout]   --> src/utils/fuzzing.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn unit_vector_strategy() -> impl Strategy<Value = Unit<Vector3<f32>>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 19.41s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nalgebra v0.26.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "5f4dc73dd642a5f38ccac1b807f9433e9a5860d85d4d81e80764961286495e01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f4dc73dd642a5f38ccac1b807f9433e9a5860d85d4d81e80764961286495e01", kill_on_drop: false }`
[INFO] [stdout] 5f4dc73dd642a5f38ccac1b807f9433e9a5860d85d4d81e80764961286495e01
