[INFO] cloning repository https://github.com/thanadolps/renderer_in_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/thanadolps/renderer_in_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthanadolps%2Frenderer_in_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthanadolps%2Frenderer_in_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d9080ba7307379a6577bd00bc13b624d1e0a3484
[INFO] checking thanadolps/renderer_in_rust against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthanadolps%2Frenderer_in_rust" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/thanadolps/renderer_in_rust on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/thanadolps/renderer_in_rust
[INFO] finished tweaking git repo https://github.com/thanadolps/renderer_in_rust
[INFO] tweaked toml for git repo https://github.com/thanadolps/renderer_in_rust written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/thanadolps/renderer_in_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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rand_pcg v0.2.0
[INFO] [stderr]   Downloaded libm v0.1.3
[INFO] [stderr]   Downloaded custom_error v1.7.1
[INFO] [stderr]   Downloaded enum_dispatch v0.1.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] baf660babb26a55731a8d884750eb53ae54ac4957c96d3bc258dc7d1fe1eef22
[INFO] running `Command { std: "docker" "start" "-a" "baf660babb26a55731a8d884750eb53ae54ac4957c96d3bc258dc7d1fe1eef22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "baf660babb26a55731a8d884750eb53ae54ac4957c96d3bc258dc7d1fe1eef22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "baf660babb26a55731a8d884750eb53ae54ac4957c96d3bc258dc7d1fe1eef22", kill_on_drop: false }`
[INFO] [stdout] baf660babb26a55731a8d884750eb53ae54ac4957c96d3bc258dc7d1fe1eef22
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9eb4e8a2e194a93ba54735981eaf56154015515512c4f2c739068868333d4fe0
[INFO] running `Command { std: "docker" "start" "-a" "9eb4e8a2e194a93ba54735981eaf56154015515512c4f2c739068868333d4fe0", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.4
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]     Checking cfg-if v0.1.9
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling syn v0.15.34
[INFO] [stderr]     Checking rand_core v0.4.0
[INFO] [stderr]     Checking lazy_static v1.3.0
[INFO] [stderr]    Compiling arrayvec v0.4.10
[INFO] [stderr]     Checking nodrop v0.1.13
[INFO] [stderr]     Checking crossbeam-utils v0.2.2
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling rayon-core v1.4.1
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]     Checking adler32 v1.0.3
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]    Compiling num-iter v0.1.39
[INFO] [stderr]    Compiling getrandom v0.1.12
[INFO] [stderr]    Compiling rayon v1.0.3
[INFO] [stderr]     Checking either v1.5.2
[INFO] [stderr]     Checking crossbeam-epoch v0.3.1
[INFO] [stderr]    Compiling serde v1.0.91
[INFO] [stderr]     Checking bitflags v1.0.4
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]     Checking num_cpus v1.10.0
[INFO] [stderr]     Checking deflate v0.7.19
[INFO] [stderr]     Checking crossbeam-deque v0.2.0
[INFO] [stderr]     Checking color_quant v1.0.1
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.5
[INFO] [stderr]    Compiling libm v0.1.3
[INFO] [stderr]    Compiling num-complex v0.2.1
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]     Checking c2-chacha v0.2.2
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking inflate v0.3.4
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling num-rational v0.2.1
[INFO] [stderr]     Checking rand_chacha v0.2.1
[INFO] [stderr]     Checking num-rational v0.1.42
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking png v0.11.0
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking rand_pcg v0.2.0
[INFO] [stderr]     Checking gif v0.9.2
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking rawpointer v0.1.0
[INFO] [stderr]     Checking png v0.14.1
[INFO] [stderr]     Checking rand v0.7.2
[INFO] [stderr]     Checking matrixmultiply v0.2.2
[INFO] [stderr]     Checking gif v0.10.1
[INFO] [stderr]     Checking jpeg-decoder v0.1.15
[INFO] [stderr]     Checking generic-array v0.12.0
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking base64 v0.10.1
[INFO] [stderr]     Checking itertools v0.8.0
[INFO] [stderr]     Checking custom_error v1.7.1
[INFO] [stderr]     Checking assert_approx_eq v1.1.0
[INFO] [stderr]     Checking image v0.18.0
[INFO] [stderr]     Checking rand_distr v0.2.2
[INFO] [stderr]     Checking noise v0.6.0
[INFO] [stderr]    Compiling serde_derive v1.0.91
[INFO] [stderr]    Compiling enum_dispatch v0.1.4
[INFO] [stderr]     Checking tiff v0.2.2
[INFO] [stderr]     Checking image v0.21.1
[INFO] [stderr]     Checking ron v0.5.1
[INFO] [stderr]     Checking alga v0.9.1
[INFO] [stderr]     Checking nalgebra v0.18.0
[INFO] [stderr]     Checking test_project v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Vector2`
[INFO] [stdout]  --> src/main.rs:4:57
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{Point3, Rotation3, Unit, UnitQuaternion, Vector2, Vector3};
[INFO] [stdout]   |                                                         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Disc`
[INFO] [stdout]  --> src/main.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rtracer::geometric::{Disc, InfinitePlane, Sphere};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirectionalLight`, `PointLight`
[INFO] [stdout]  --> src/main.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rtracer::light::{AreaLight, DirectionalLight, PointLight};
[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: `std::cell::RefCell`
[INFO] [stdout]  --> src/rtracer/scene.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector2`
[INFO] [stdout]  --> src/rtracer/light.rs:2:73
[INFO] [stdout]   |
[INFO] [stdout] 2 | use nalgebra::{Point3, Similarity3, Translation3, Unit, UnitQuaternion, Vector2, Vector3};
[INFO] [stdout]   |                                                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rtracer::serde_interface::CameraSerdeInterface`
[INFO] [stdout]  --> src/rtracer/camera.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::rtracer::serde_interface::CameraSerdeInterface;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `material`
[INFO] [stdout]  --> src/rtracer/scene_object.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{material, Materials};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/rtracer/material.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Reflection`, `UnitQuaternion`
[INFO] [stdout]  --> src/rtracer/material.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use nalgebra::{Reflection, Unit, UnitQuaternion, Vector3};
[INFO] [stdout]   |                ^^^^^^^^^^        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `noise::NoiseFn`
[INFO] [stdout]  --> src/rtracer/material.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use noise::NoiseFn;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]  --> src/rtracer/material.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::ThreadRng`
[INFO] [stdout]  --> src/rtracer/material.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::prelude::ThreadRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnitBall`
[INFO] [stdout]  --> src/rtracer/material.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand_distr::{Distribution, UnitBall};
[INFO] [stdout]   |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `raycast_compute_light` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 12  | use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |     ----------------------------------------------- the item `raycast_compute_light` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 109 |         use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnitBall` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 6   | use rand_distr::{Distribution, UnitBall};
[INFO] [stdout]     |                                -------- the item `UnitBall` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 110 |         use rand_distr::UnitBall;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `raycast_compute_light` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 12  | use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |     ----------------------------------------------- the item `raycast_compute_light` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 141 |         use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnitBall` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 6   | use rand_distr::{Distribution, UnitBall};
[INFO] [stdout]     |                                -------- the item `UnitBall` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 142 |         use rand_distr::UnitBall;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::UnitBall`
[INFO] [stdout]    --> src/rtracer/material.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         use rand_distr::UnitBall;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnitQuaternion` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 2   | use nalgebra::{Reflection, Unit, UnitQuaternion, Vector3};
[INFO] [stdout]     |                                  -------------- the item `UnitQuaternion` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 145 |         use nalgebra::UnitQuaternion;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `helper::calculate_reflect_ray`
[INFO] [stdout]    --> src/rtracer/material.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         use helper::calculate_reflect_ray;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BiLevel`, `blur`, `dither`
[INFO] [stdout]  --> src/rtracer/renderer.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use image::imageops::{BiLevel, blur, dither};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::math::nq::NeuQuant`
[INFO] [stdout]  --> src/rtracer/renderer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::math::nq::NeuQuant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::light::Light`
[INFO] [stdout]   --> src/rtracer/renderer.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use super::light::Light;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/rtracer/parser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Matrix`, `Point3`, `U1`, `U3`, `Vector3`
[INFO] [stdout]  --> src/rtracer/parser.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nalgebra::{Matrix, Point3, U1, U3, Vector3};
[INFO] [stdout]   |                ^^^^^^  ^^^^^^  ^^  ^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra::base::allocator::Allocator`
[INFO] [stdout]  --> src/rtracer/parser.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nalgebra::base::allocator::Allocator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra::base::default_allocator::DefaultAllocator`
[INFO] [stdout]  --> src/rtracer/parser.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use nalgebra::base::default_allocator::DefaultAllocator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serializer`
[INFO] [stdout]   --> src/rtracer/parser.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 | use serde::{Deserialize, Serialize, Serializer};
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color3`, `SceneObject`, `light`
[INFO] [stdout]   --> src/rtracer/parser.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::rtracer::{Color3, light, SceneObject};
[INFO] [stdout]    |                      ^^^^^^  ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector3`
[INFO] [stdout]   --> src/rtracer/parser.rs:45:39
[INFO] [stdout]    |
[INFO] [stdout] 45 |     use nalgebra::{Point3, Rotation3, Vector3};
[INFO] [stdout]    |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FlatMap`, `Scan`, `repeat`
[INFO] [stdout]  --> src/rtracer/helper.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::iter::{FlatMap, repeat, Scan};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Range`
[INFO] [stdout]  --> src/rtracer/helper.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Range, RangeInclusive};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnitQuaternion`
[INFO] [stdout]  --> src/rtracer/helper.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{Unit, UnitQuaternion, Vector3};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::type_name`
[INFO] [stdout]   --> src/main.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 |     use std::any::type_name;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector2`
[INFO] [stdout]  --> src/main.rs:4:57
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{Point3, Rotation3, Unit, UnitQuaternion, Vector2, Vector3};
[INFO] [stdout]   |                                                         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Disc`
[INFO] [stdout]  --> src/main.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rtracer::geometric::{Disc, InfinitePlane, Sphere};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirectionalLight`, `PointLight`
[INFO] [stdout]  --> src/main.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rtracer::light::{AreaLight, DirectionalLight, PointLight};
[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: `std::cell::RefCell`
[INFO] [stdout]  --> src/rtracer/scene.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector2`
[INFO] [stdout]  --> src/rtracer/light.rs:2:73
[INFO] [stdout]   |
[INFO] [stdout] 2 | use nalgebra::{Point3, Similarity3, Translation3, Unit, UnitQuaternion, Vector2, Vector3};
[INFO] [stdout]   |                                                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rtracer::serde_interface::CameraSerdeInterface`
[INFO] [stdout]  --> src/rtracer/camera.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::rtracer::serde_interface::CameraSerdeInterface;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `material`
[INFO] [stdout]  --> src/rtracer/scene_object.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{material, Materials};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/rtracer/material.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Reflection`, `UnitQuaternion`
[INFO] [stdout]  --> src/rtracer/material.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use nalgebra::{Reflection, Unit, UnitQuaternion, Vector3};
[INFO] [stdout]   |                ^^^^^^^^^^        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `noise::NoiseFn`
[INFO] [stdout]  --> src/rtracer/material.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use noise::NoiseFn;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]  --> src/rtracer/material.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::ThreadRng`
[INFO] [stdout]  --> src/rtracer/material.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::prelude::ThreadRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnitBall`
[INFO] [stdout]  --> src/rtracer/material.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand_distr::{Distribution, UnitBall};
[INFO] [stdout]   |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `raycast_compute_light` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 12  | use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |     ----------------------------------------------- the item `raycast_compute_light` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 109 |         use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnitBall` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 6   | use rand_distr::{Distribution, UnitBall};
[INFO] [stdout]     |                                -------- the item `UnitBall` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 110 |         use rand_distr::UnitBall;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `raycast_compute_light` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 12  | use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |     ----------------------------------------------- the item `raycast_compute_light` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 141 |         use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnitBall` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 6   | use rand_distr::{Distribution, UnitBall};
[INFO] [stdout]     |                                -------- the item `UnitBall` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 142 |         use rand_distr::UnitBall;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::UnitBall`
[INFO] [stdout]    --> src/rtracer/material.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         use rand_distr::UnitBall;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnitQuaternion` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 2   | use nalgebra::{Reflection, Unit, UnitQuaternion, Vector3};
[INFO] [stdout]     |                                  -------------- the item `UnitQuaternion` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 145 |         use nalgebra::UnitQuaternion;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `helper::calculate_reflect_ray`
[INFO] [stdout]    --> src/rtracer/material.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         use helper::calculate_reflect_ray;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BiLevel`, `blur`, `dither`
[INFO] [stdout]  --> src/rtracer/renderer.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use image::imageops::{BiLevel, blur, dither};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::math::nq::NeuQuant`
[INFO] [stdout]  --> src/rtracer/renderer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::math::nq::NeuQuant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::light::Light`
[INFO] [stdout]   --> src/rtracer/renderer.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use super::light::Light;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/rtracer/parser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Matrix`, `Point3`, `U1`, `U3`, `Vector3`
[INFO] [stdout]  --> src/rtracer/parser.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nalgebra::{Matrix, Point3, U1, U3, Vector3};
[INFO] [stdout]   |                ^^^^^^  ^^^^^^  ^^  ^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra::base::allocator::Allocator`
[INFO] [stdout]  --> src/rtracer/parser.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nalgebra::base::allocator::Allocator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra::base::default_allocator::DefaultAllocator`
[INFO] [stdout]  --> src/rtracer/parser.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use nalgebra::base::default_allocator::DefaultAllocator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serializer`
[INFO] [stdout]   --> src/rtracer/parser.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 | use serde::{Deserialize, Serialize, Serializer};
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color3`, `SceneObject`, `light`
[INFO] [stdout]   --> src/rtracer/parser.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::rtracer::{Color3, light, SceneObject};
[INFO] [stdout]    |                      ^^^^^^  ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector3`
[INFO] [stdout]   --> src/rtracer/parser.rs:45:39
[INFO] [stdout]    |
[INFO] [stdout] 45 |     use nalgebra::{Point3, Rotation3, Vector3};
[INFO] [stdout]    |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FlatMap`, `Scan`, `repeat`
[INFO] [stdout]  --> src/rtracer/helper.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::iter::{FlatMap, repeat, Scan};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Range`
[INFO] [stdout]  --> src/rtracer/helper.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Range, RangeInclusive};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnitQuaternion`
[INFO] [stdout]  --> src/rtracer/helper.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{Unit, UnitQuaternion, Vector3};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:125:35
[INFO] [stdout]     |
[INFO] [stdout] 125 |         assert_eq!(map_float(0.0, (-1.0..=1.0), (0.0..=1.0)), 0.5);
[INFO] [stdout]     |                                   ^          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 125 -         assert_eq!(map_float(0.0, (-1.0..=1.0), (0.0..=1.0)), 0.5);
[INFO] [stdout] 125 +         assert_eq!(map_float(0.0, -1.0..=1.0, (0.0..=1.0)), 0.5);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:125:49
[INFO] [stdout]     |
[INFO] [stdout] 125 |         assert_eq!(map_float(0.0, (-1.0..=1.0), (0.0..=1.0)), 0.5);
[INFO] [stdout]     |                                                 ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 125 -         assert_eq!(map_float(0.0, (-1.0..=1.0), (0.0..=1.0)), 0.5);
[INFO] [stdout] 125 +         assert_eq!(map_float(0.0, (-1.0..=1.0), 0.0..=1.0), 0.5);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:126:35
[INFO] [stdout]     |
[INFO] [stdout] 126 |         assert_eq!(map_float(1.0, (-1.0..=1.0), (0.0..=1.0)), 1.0);
[INFO] [stdout]     |                                   ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -         assert_eq!(map_float(1.0, (-1.0..=1.0), (0.0..=1.0)), 1.0);
[INFO] [stdout] 126 +         assert_eq!(map_float(1.0, -1.0..=1.0, (0.0..=1.0)), 1.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:126:49
[INFO] [stdout]     |
[INFO] [stdout] 126 |         assert_eq!(map_float(1.0, (-1.0..=1.0), (0.0..=1.0)), 1.0);
[INFO] [stdout]     |                                                 ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -         assert_eq!(map_float(1.0, (-1.0..=1.0), (0.0..=1.0)), 1.0);
[INFO] [stdout] 126 +         assert_eq!(map_float(1.0, (-1.0..=1.0), 0.0..=1.0), 1.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:127:36
[INFO] [stdout]     |
[INFO] [stdout] 127 |         assert_eq!(map_float(-1.0, (-1.0..=1.0), (0.0..=1.0)), 0.0);
[INFO] [stdout]     |                                    ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -         assert_eq!(map_float(-1.0, (-1.0..=1.0), (0.0..=1.0)), 0.0);
[INFO] [stdout] 127 +         assert_eq!(map_float(-1.0, -1.0..=1.0, (0.0..=1.0)), 0.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:127:50
[INFO] [stdout]     |
[INFO] [stdout] 127 |         assert_eq!(map_float(-1.0, (-1.0..=1.0), (0.0..=1.0)), 0.0);
[INFO] [stdout]     |                                                  ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -         assert_eq!(map_float(-1.0, (-1.0..=1.0), (0.0..=1.0)), 0.0);
[INFO] [stdout] 127 +         assert_eq!(map_float(-1.0, (-1.0..=1.0), 0.0..=1.0), 0.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:128:35
[INFO] [stdout]     |
[INFO] [stdout] 128 |         assert_eq!(map_float(0.0, (0.0..=1.0), (-1.0..=1.0)), -1.0);
[INFO] [stdout]     |                                   ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 -         assert_eq!(map_float(0.0, (0.0..=1.0), (-1.0..=1.0)), -1.0);
[INFO] [stdout] 128 +         assert_eq!(map_float(0.0, 0.0..=1.0, (-1.0..=1.0)), -1.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:128:48
[INFO] [stdout]     |
[INFO] [stdout] 128 |         assert_eq!(map_float(0.0, (0.0..=1.0), (-1.0..=1.0)), -1.0);
[INFO] [stdout]     |                                                ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 -         assert_eq!(map_float(0.0, (0.0..=1.0), (-1.0..=1.0)), -1.0);
[INFO] [stdout] 128 +         assert_eq!(map_float(0.0, (0.0..=1.0), -1.0..=1.0), -1.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::type_name`
[INFO] [stdout]   --> src/main.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 |     use std::any::type_name;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/rtracer/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/rtracer/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]   --> src/rtracer/material.rs:47:22
[INFO] [stdout]    |
[INFO] [stdout] 47 |                      hit_object: &SceneObject, _: RayCastInfo, rng: &mut impl Rng)
[INFO] [stdout]    |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/rtracer/material.rs:47:64
[INFO] [stdout]    |
[INFO] [stdout] 47 |                      hit_object: &SceneObject, _: RayCastInfo, rng: &mut impl Rng)
[INFO] [stdout]    |                                                                ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]    --> src/rtracer/material.rs:106:32
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...                   hit_object: &SceneObject, raycast_info: RayCastInfo,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]    --> src/rtracer/material.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 | ...                   hit_object: &SceneObject, raycase_info: RayCastInfo,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]    --> src/rtracer/material.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 |                      hit_object: &SceneObject, raycast_info: RayCastInfo, rng: &mut impl Rng)
[INFO] [stdout]     |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/rtracer/renderer.rs:115:16
[INFO] [stdout]     |
[INFO] [stdout] 115 |         .filter(|(x, a): &(HitInfo, _)| x.dist > 1e-6)
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]   --> src/rtracer/material.rs:47:22
[INFO] [stdout]    |
[INFO] [stdout] 47 |                      hit_object: &SceneObject, _: RayCastInfo, rng: &mut impl Rng)
[INFO] [stdout]    |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/rtracer/material.rs:47:64
[INFO] [stdout]    |
[INFO] [stdout] 47 |                      hit_object: &SceneObject, _: RayCastInfo, rng: &mut impl Rng)
[INFO] [stdout]    |                                                                ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]    --> src/rtracer/material.rs:106:32
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...                   hit_object: &SceneObject, raycast_info: RayCastInfo,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]    --> src/rtracer/material.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 | ...                   hit_object: &SceneObject, raycase_info: RayCastInfo,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]    --> src/rtracer/material.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 |                      hit_object: &SceneObject, raycast_info: RayCastInfo, rng: &mut impl Rng)
[INFO] [stdout]     |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]   --> src/main.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn test() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup` is never used
[INFO] [stdout]   --> src/main.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn setup() -> SceneData {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AREALIGHT_MONTECARLO_SAMPLE` is never used
[INFO] [stdout]   --> src/rtracer.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const AREALIGHT_MONTECARLO_SAMPLE: u32 = 121;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_maybe_component`, `add_obj`, `add_light`, `append_objs`, and `append_light` are never used
[INFO] [stdout]   --> src/rtracer/scene.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Scene {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     pub fn new() -> Scene {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn from_maybe_component(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn add_obj(&mut self, obj: impl Into<SceneObject>) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn add_light(&mut self, light: light::Lights) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn append_objs(&mut self, mut objs: Vec<SceneObject>) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn append_light(&mut self, mut lights: Vec<light::Lights>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/light.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl PointLight {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 37 |     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:92:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl DirectionalLight {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 92 |     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/light.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl AreaLight{
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 125 |     pub fn new(center: Vector3<f32>, rotation: UnitQuaternion<f32>, scaling: f32, light: Option<Color3>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/scene_object.rs:13:9
[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:119:10
[INFO] [stdout]     |
[INFO] [stdout] 118 |     impl Disc {
[INFO] [stdout]     |     --------- associated function in this implementation
[INFO] [stdout] 119 |         pub fn new(pos: Point3<f32>, norm: Unit<Vector3<f32>>, r: f32) -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/material.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Diffuse {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 40 |     pub fn new(color: Color3) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/material.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl Reflective {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 64 |     pub fn new(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:214:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl PerfectReflective {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 214 |     pub fn new(color: Color3) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_scene_data` is never used
[INFO] [stdout]   --> src/rtracer/parser.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn save_scene_data(path: impl AsRef<Path>, scene: &SceneData) -> Result<(), SceneParserError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_float` is never used
[INFO] [stdout]   --> src/rtracer/helper.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn map_float<F: Real>(x: F, src: RangeInclusive<F>, dest: RangeInclusive<F>) -> F {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `UV3` is never used
[INFO] [stdout]   --> src/rtracer/helper.rs:37:6
[INFO] [stdout]    |
[INFO] [stdout] 37 | type UV3 = Unit<Vector3<f32>>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/rtracer/renderer.rs:115:16
[INFO] [stdout]     |
[INFO] [stdout] 115 |         .filter(|(x, a): &(HitInfo, _)| x.dist > 1e-6)
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 57 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]   --> src/main.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn test() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup` is never used
[INFO] [stdout]   --> src/main.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn setup() -> SceneData {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AREALIGHT_MONTECARLO_SAMPLE` is never used
[INFO] [stdout]   --> src/rtracer.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const AREALIGHT_MONTECARLO_SAMPLE: u32 = 121;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_maybe_component`, `add_obj`, `add_light`, `append_objs`, and `append_light` are never used
[INFO] [stdout]   --> src/rtracer/scene.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Scene {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     pub fn new() -> Scene {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn from_maybe_component(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn add_obj(&mut self, obj: impl Into<SceneObject>) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn add_light(&mut self, light: light::Lights) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn append_objs(&mut self, mut objs: Vec<SceneObject>) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn append_light(&mut self, mut lights: Vec<light::Lights>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/light.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl PointLight {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 37 |     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:92:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl DirectionalLight {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 92 |     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/light.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl AreaLight{
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 125 |     pub fn new(center: Vector3<f32>, rotation: UnitQuaternion<f32>, scaling: f32, light: Option<Color3>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/scene_object.rs:13:9
[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:119:10
[INFO] [stdout]     |
[INFO] [stdout] 118 |     impl Disc {
[INFO] [stdout]     |     --------- associated function in this implementation
[INFO] [stdout] 119 |         pub fn new(pos: Point3<f32>, norm: Unit<Vector3<f32>>, r: f32) -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/material.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Diffuse {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 40 |     pub fn new(color: Color3) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/material.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl Reflective {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 64 |     pub fn new(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:214:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl PerfectReflective {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 214 |     pub fn new(color: Color3) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_scene_data` is never used
[INFO] [stdout]   --> src/rtracer/parser.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn save_scene_data(path: impl AsRef<Path>, scene: &SceneData) -> Result<(), SceneParserError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `UV3` is never used
[INFO] [stdout]   --> src/rtracer/helper.rs:37:6
[INFO] [stdout]    |
[INFO] [stdout] 37 | type UV3 = Unit<Vector3<f32>>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 64 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 15.96s
[INFO] running `Command { std: "docker" "inspect" "9eb4e8a2e194a93ba54735981eaf56154015515512c4f2c739068868333d4fe0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9eb4e8a2e194a93ba54735981eaf56154015515512c4f2c739068868333d4fe0", kill_on_drop: false }`
[INFO] [stdout] 9eb4e8a2e194a93ba54735981eaf56154015515512c4f2c739068868333d4fe0
[INFO] checking thanadolps/renderer_in_rust against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthanadolps%2Frenderer_in_rust" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/thanadolps/renderer_in_rust on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/thanadolps/renderer_in_rust
[INFO] finished tweaking git repo https://github.com/thanadolps/renderer_in_rust
[INFO] tweaked toml for git repo https://github.com/thanadolps/renderer_in_rust written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/thanadolps/renderer_in_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" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 695fdaf3de3423662e1572411cfd08310799af5185f002067a1c721bc005821a
[INFO] running `Command { std: "docker" "start" "-a" "695fdaf3de3423662e1572411cfd08310799af5185f002067a1c721bc005821a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "695fdaf3de3423662e1572411cfd08310799af5185f002067a1c721bc005821a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "695fdaf3de3423662e1572411cfd08310799af5185f002067a1c721bc005821a", kill_on_drop: false }`
[INFO] [stdout] 695fdaf3de3423662e1572411cfd08310799af5185f002067a1c721bc005821a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dnon_local_definitions" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] afbaf48b7cf7754ed19c5372b9c4b23129bf3fba61ea88f566eedf8b92fdabf7
[INFO] running `Command { std: "docker" "start" "-a" "afbaf48b7cf7754ed19c5372b9c4b23129bf3fba61ea88f566eedf8b92fdabf7", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.4
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]     Checking cfg-if v0.1.9
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling syn v0.15.34
[INFO] [stderr]     Checking rand_core v0.4.0
[INFO] [stderr]     Checking lazy_static v1.3.0
[INFO] [stderr]    Compiling arrayvec v0.4.10
[INFO] [stderr]     Checking nodrop v0.1.13
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking crossbeam-utils v0.2.2
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]     Checking adler32 v1.0.3
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling rayon-core v1.4.1
[INFO] [stderr]    Compiling num-iter v0.1.39
[INFO] [stderr]    Compiling getrandom v0.1.12
[INFO] [stderr]     Checking bitflags v1.0.4
[INFO] [stderr]    Compiling rayon v1.0.3
[INFO] [stderr]     Checking either v1.5.2
[INFO] [stderr]     Checking crossbeam-epoch v0.3.1
[INFO] [stderr]    Compiling serde v1.0.91
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]     Checking deflate v0.7.19
[INFO] [stderr]     Checking num_cpus v1.10.0
[INFO] [stderr]     Checking crossbeam-deque v0.2.0
[INFO] [stderr]     Checking color_quant v1.0.1
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.5
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling num-complex v0.2.1
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]    Compiling libm v0.1.3
[INFO] [stderr]     Checking c2-chacha v0.2.2
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking inflate v0.3.4
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling num-rational v0.2.1
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking png v0.11.0
[INFO] [stderr]     Checking rand_chacha v0.2.1
[INFO] [stderr]     Checking num-rational v0.1.42
[INFO] [stderr]     Checking rand_pcg v0.2.0
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking gif v0.9.2
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking rawpointer v0.1.0
[INFO] [stderr]     Checking jpeg-decoder v0.1.15
[INFO] [stderr]     Checking png v0.14.1
[INFO] [stderr]     Checking rand v0.7.2
[INFO] [stderr]     Checking matrixmultiply v0.2.2
[INFO] [stderr]     Checking generic-array v0.12.0
[INFO] [stderr]     Checking gif v0.10.1
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking base64 v0.10.1
[INFO] [stderr]     Checking image v0.18.0
[INFO] [stderr]     Checking itertools v0.8.0
[INFO] [stderr]     Checking assert_approx_eq v1.1.0
[INFO] [stderr]     Checking custom_error v1.7.1
[INFO] [stderr]     Checking rand_distr v0.2.2
[INFO] [stderr]     Checking noise v0.6.0
[INFO] [stderr]    Compiling serde_derive v1.0.91
[INFO] [stderr]    Compiling enum_dispatch v0.1.4
[INFO] [stderr]     Checking tiff v0.2.2
[INFO] [stderr]     Checking image v0.21.1
[INFO] [stderr]     Checking ron v0.5.1
[INFO] [stderr]     Checking alga v0.9.1
[INFO] [stderr]     Checking nalgebra v0.18.0
[INFO] [stderr]     Checking test_project v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Vector2`
[INFO] [stdout]  --> src/main.rs:4:57
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{Point3, Rotation3, Unit, UnitQuaternion, Vector2, Vector3};
[INFO] [stdout]   |                                                         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Disc`
[INFO] [stdout]  --> src/main.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rtracer::geometric::{Disc, InfinitePlane, Sphere};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirectionalLight`, `PointLight`
[INFO] [stdout]  --> src/main.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rtracer::light::{AreaLight, DirectionalLight, PointLight};
[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: `std::cell::RefCell`
[INFO] [stdout]  --> src/rtracer/scene.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector2`
[INFO] [stdout]  --> src/rtracer/light.rs:2:73
[INFO] [stdout]   |
[INFO] [stdout] 2 | use nalgebra::{Point3, Similarity3, Translation3, Unit, UnitQuaternion, Vector2, Vector3};
[INFO] [stdout]   |                                                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rtracer::serde_interface::CameraSerdeInterface`
[INFO] [stdout]  --> src/rtracer/camera.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::rtracer::serde_interface::CameraSerdeInterface;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `material`
[INFO] [stdout]  --> src/rtracer/scene_object.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{material, Materials};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/rtracer/material.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Reflection`, `UnitQuaternion`
[INFO] [stdout]  --> src/rtracer/material.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use nalgebra::{Reflection, Unit, UnitQuaternion, Vector3};
[INFO] [stdout]   |                ^^^^^^^^^^        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `noise::NoiseFn`
[INFO] [stdout]  --> src/rtracer/material.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use noise::NoiseFn;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]  --> src/rtracer/material.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::ThreadRng`
[INFO] [stdout]  --> src/rtracer/material.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::prelude::ThreadRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnitBall`
[INFO] [stdout]  --> src/rtracer/material.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand_distr::{Distribution, UnitBall};
[INFO] [stdout]   |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `raycast_compute_light` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 12  | use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |     ----------------------------------------------- the item `raycast_compute_light` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 109 |         use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnitBall` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 6   | use rand_distr::{Distribution, UnitBall};
[INFO] [stdout]     |                                -------- the item `UnitBall` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 110 |         use rand_distr::UnitBall;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `raycast_compute_light` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 12  | use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |     ----------------------------------------------- the item `raycast_compute_light` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 141 |         use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnitBall` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 6   | use rand_distr::{Distribution, UnitBall};
[INFO] [stdout]     |                                -------- the item `UnitBall` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 142 |         use rand_distr::UnitBall;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::UnitBall`
[INFO] [stdout]    --> src/rtracer/material.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         use rand_distr::UnitBall;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnitQuaternion` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 2   | use nalgebra::{Reflection, Unit, UnitQuaternion, Vector3};
[INFO] [stdout]     |                                  -------------- the item `UnitQuaternion` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 145 |         use nalgebra::UnitQuaternion;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `helper::calculate_reflect_ray`
[INFO] [stdout]    --> src/rtracer/material.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         use helper::calculate_reflect_ray;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BiLevel`, `blur`, `dither`
[INFO] [stdout]  --> src/rtracer/renderer.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use image::imageops::{BiLevel, blur, dither};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::math::nq::NeuQuant`
[INFO] [stdout]  --> src/rtracer/renderer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::math::nq::NeuQuant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::light::Light`
[INFO] [stdout]   --> src/rtracer/renderer.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use super::light::Light;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/rtracer/parser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Matrix`, `Point3`, `U1`, `U3`, `Vector3`
[INFO] [stdout]  --> src/rtracer/parser.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nalgebra::{Matrix, Point3, U1, U3, Vector3};
[INFO] [stdout]   |                ^^^^^^  ^^^^^^  ^^  ^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra::base::allocator::Allocator`
[INFO] [stdout]  --> src/rtracer/parser.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nalgebra::base::allocator::Allocator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra::base::default_allocator::DefaultAllocator`
[INFO] [stdout]  --> src/rtracer/parser.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use nalgebra::base::default_allocator::DefaultAllocator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serializer`
[INFO] [stdout]   --> src/rtracer/parser.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 | use serde::{Deserialize, Serialize, Serializer};
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color3`, `SceneObject`, `light`
[INFO] [stdout]   --> src/rtracer/parser.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::rtracer::{Color3, light, SceneObject};
[INFO] [stdout]    |                      ^^^^^^  ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector3`
[INFO] [stdout]   --> src/rtracer/parser.rs:45:39
[INFO] [stdout]    |
[INFO] [stdout] 45 |     use nalgebra::{Point3, Rotation3, Vector3};
[INFO] [stdout]    |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FlatMap`, `Scan`, `repeat`
[INFO] [stdout]  --> src/rtracer/helper.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::iter::{FlatMap, repeat, Scan};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Range`
[INFO] [stdout]  --> src/rtracer/helper.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Range, RangeInclusive};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnitQuaternion`
[INFO] [stdout]  --> src/rtracer/helper.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{Unit, UnitQuaternion, Vector3};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::type_name`
[INFO] [stdout]   --> src/main.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 |     use std::any::type_name;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector2`
[INFO] [stdout]  --> src/main.rs:4:57
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{Point3, Rotation3, Unit, UnitQuaternion, Vector2, Vector3};
[INFO] [stdout]   |                                                         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Disc`
[INFO] [stdout]  --> src/main.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rtracer::geometric::{Disc, InfinitePlane, Sphere};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirectionalLight`, `PointLight`
[INFO] [stdout]  --> src/main.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rtracer::light::{AreaLight, DirectionalLight, PointLight};
[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: `std::cell::RefCell`
[INFO] [stdout]  --> src/rtracer/scene.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector2`
[INFO] [stdout]  --> src/rtracer/light.rs:2:73
[INFO] [stdout]   |
[INFO] [stdout] 2 | use nalgebra::{Point3, Similarity3, Translation3, Unit, UnitQuaternion, Vector2, Vector3};
[INFO] [stdout]   |                                                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rtracer::serde_interface::CameraSerdeInterface`
[INFO] [stdout]  --> src/rtracer/camera.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::rtracer::serde_interface::CameraSerdeInterface;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `material`
[INFO] [stdout]  --> src/rtracer/scene_object.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{material, Materials};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/rtracer/material.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Reflection`, `UnitQuaternion`
[INFO] [stdout]  --> src/rtracer/material.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use nalgebra::{Reflection, Unit, UnitQuaternion, Vector3};
[INFO] [stdout]   |                ^^^^^^^^^^        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `noise::NoiseFn`
[INFO] [stdout]  --> src/rtracer/material.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use noise::NoiseFn;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]  --> src/rtracer/material.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::ThreadRng`
[INFO] [stdout]  --> src/rtracer/material.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::prelude::ThreadRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnitBall`
[INFO] [stdout]  --> src/rtracer/material.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand_distr::{Distribution, UnitBall};
[INFO] [stdout]   |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `raycast_compute_light` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 12  | use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |     ----------------------------------------------- the item `raycast_compute_light` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 109 |         use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnitBall` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 6   | use rand_distr::{Distribution, UnitBall};
[INFO] [stdout]     |                                -------- the item `UnitBall` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 110 |         use rand_distr::UnitBall;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `raycast_compute_light` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 12  | use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |     ----------------------------------------------- the item `raycast_compute_light` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 141 |         use crate::rtracer::renderer::raycast_compute_light;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnitBall` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 6   | use rand_distr::{Distribution, UnitBall};
[INFO] [stdout]     |                                -------- the item `UnitBall` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 142 |         use rand_distr::UnitBall;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::UnitBall`
[INFO] [stdout]    --> src/rtracer/material.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         use rand_distr::UnitBall;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnitQuaternion` is imported redundantly
[INFO] [stdout]    --> src/rtracer/material.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 2   | use nalgebra::{Reflection, Unit, UnitQuaternion, Vector3};
[INFO] [stdout]     |                                  -------------- the item `UnitQuaternion` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 145 |         use nalgebra::UnitQuaternion;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `helper::calculate_reflect_ray`
[INFO] [stdout]    --> src/rtracer/material.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         use helper::calculate_reflect_ray;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BiLevel`, `blur`, `dither`
[INFO] [stdout]  --> src/rtracer/renderer.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use image::imageops::{BiLevel, blur, dither};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::math::nq::NeuQuant`
[INFO] [stdout]  --> src/rtracer/renderer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::math::nq::NeuQuant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::light::Light`
[INFO] [stdout]   --> src/rtracer/renderer.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use super::light::Light;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/rtracer/parser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Matrix`, `Point3`, `U1`, `U3`, `Vector3`
[INFO] [stdout]  --> src/rtracer/parser.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nalgebra::{Matrix, Point3, U1, U3, Vector3};
[INFO] [stdout]   |                ^^^^^^  ^^^^^^  ^^  ^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra::base::allocator::Allocator`
[INFO] [stdout]  --> src/rtracer/parser.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nalgebra::base::allocator::Allocator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra::base::default_allocator::DefaultAllocator`
[INFO] [stdout]  --> src/rtracer/parser.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use nalgebra::base::default_allocator::DefaultAllocator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serializer`
[INFO] [stdout]   --> src/rtracer/parser.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 | use serde::{Deserialize, Serialize, Serializer};
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color3`, `SceneObject`, `light`
[INFO] [stdout]   --> src/rtracer/parser.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::rtracer::{Color3, light, SceneObject};
[INFO] [stdout]    |                      ^^^^^^  ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector3`
[INFO] [stdout]   --> src/rtracer/parser.rs:45:39
[INFO] [stdout]    |
[INFO] [stdout] 45 |     use nalgebra::{Point3, Rotation3, Vector3};
[INFO] [stdout]    |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FlatMap`, `Scan`, `repeat`
[INFO] [stdout]  --> src/rtracer/helper.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::iter::{FlatMap, repeat, Scan};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Range`
[INFO] [stdout]  --> src/rtracer/helper.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Range, RangeInclusive};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnitQuaternion`
[INFO] [stdout]  --> src/rtracer/helper.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{Unit, UnitQuaternion, Vector3};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:125:35
[INFO] [stdout]     |
[INFO] [stdout] 125 |         assert_eq!(map_float(0.0, (-1.0..=1.0), (0.0..=1.0)), 0.5);
[INFO] [stdout]     |                                   ^          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 125 -         assert_eq!(map_float(0.0, (-1.0..=1.0), (0.0..=1.0)), 0.5);
[INFO] [stdout] 125 +         assert_eq!(map_float(0.0, -1.0..=1.0, (0.0..=1.0)), 0.5);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:125:49
[INFO] [stdout]     |
[INFO] [stdout] 125 |         assert_eq!(map_float(0.0, (-1.0..=1.0), (0.0..=1.0)), 0.5);
[INFO] [stdout]     |                                                 ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 125 -         assert_eq!(map_float(0.0, (-1.0..=1.0), (0.0..=1.0)), 0.5);
[INFO] [stdout] 125 +         assert_eq!(map_float(0.0, (-1.0..=1.0), 0.0..=1.0), 0.5);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:126:35
[INFO] [stdout]     |
[INFO] [stdout] 126 |         assert_eq!(map_float(1.0, (-1.0..=1.0), (0.0..=1.0)), 1.0);
[INFO] [stdout]     |                                   ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -         assert_eq!(map_float(1.0, (-1.0..=1.0), (0.0..=1.0)), 1.0);
[INFO] [stdout] 126 +         assert_eq!(map_float(1.0, -1.0..=1.0, (0.0..=1.0)), 1.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:126:49
[INFO] [stdout]     |
[INFO] [stdout] 126 |         assert_eq!(map_float(1.0, (-1.0..=1.0), (0.0..=1.0)), 1.0);
[INFO] [stdout]     |                                                 ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -         assert_eq!(map_float(1.0, (-1.0..=1.0), (0.0..=1.0)), 1.0);
[INFO] [stdout] 126 +         assert_eq!(map_float(1.0, (-1.0..=1.0), 0.0..=1.0), 1.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:127:36
[INFO] [stdout]     |
[INFO] [stdout] 127 |         assert_eq!(map_float(-1.0, (-1.0..=1.0), (0.0..=1.0)), 0.0);
[INFO] [stdout]     |                                    ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -         assert_eq!(map_float(-1.0, (-1.0..=1.0), (0.0..=1.0)), 0.0);
[INFO] [stdout] 127 +         assert_eq!(map_float(-1.0, -1.0..=1.0, (0.0..=1.0)), 0.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:127:50
[INFO] [stdout]     |
[INFO] [stdout] 127 |         assert_eq!(map_float(-1.0, (-1.0..=1.0), (0.0..=1.0)), 0.0);
[INFO] [stdout]     |                                                  ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -         assert_eq!(map_float(-1.0, (-1.0..=1.0), (0.0..=1.0)), 0.0);
[INFO] [stdout] 127 +         assert_eq!(map_float(-1.0, (-1.0..=1.0), 0.0..=1.0), 0.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:128:35
[INFO] [stdout]     |
[INFO] [stdout] 128 |         assert_eq!(map_float(0.0, (0.0..=1.0), (-1.0..=1.0)), -1.0);
[INFO] [stdout]     |                                   ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 -         assert_eq!(map_float(0.0, (0.0..=1.0), (-1.0..=1.0)), -1.0);
[INFO] [stdout] 128 +         assert_eq!(map_float(0.0, 0.0..=1.0, (-1.0..=1.0)), -1.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/rtracer/helper.rs:128:48
[INFO] [stdout]     |
[INFO] [stdout] 128 |         assert_eq!(map_float(0.0, (0.0..=1.0), (-1.0..=1.0)), -1.0);
[INFO] [stdout]     |                                                ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 -         assert_eq!(map_float(0.0, (0.0..=1.0), (-1.0..=1.0)), -1.0);
[INFO] [stdout] 128 +         assert_eq!(map_float(0.0, (0.0..=1.0), -1.0..=1.0), -1.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::type_name`
[INFO] [stdout]   --> src/main.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 |     use std::any::type_name;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/rtracer/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/rtracer/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]   --> src/rtracer/material.rs:47:22
[INFO] [stdout]    |
[INFO] [stdout] 47 |                      hit_object: &SceneObject, _: RayCastInfo, rng: &mut impl Rng)
[INFO] [stdout]    |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/rtracer/material.rs:47:64
[INFO] [stdout]    |
[INFO] [stdout] 47 |                      hit_object: &SceneObject, _: RayCastInfo, rng: &mut impl Rng)
[INFO] [stdout]    |                                                                ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]    --> src/rtracer/material.rs:106:32
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...                   hit_object: &SceneObject, raycast_info: RayCastInfo,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]    --> src/rtracer/material.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 | ...                   hit_object: &SceneObject, raycase_info: RayCastInfo,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]   --> src/rtracer/material.rs:47:22
[INFO] [stdout]    |
[INFO] [stdout] 47 |                      hit_object: &SceneObject, _: RayCastInfo, rng: &mut impl Rng)
[INFO] [stdout]    |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/rtracer/material.rs:47:64
[INFO] [stdout]    |
[INFO] [stdout] 47 |                      hit_object: &SceneObject, _: RayCastInfo, rng: &mut impl Rng)
[INFO] [stdout]    |                                                                ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]    --> src/rtracer/material.rs:106:32
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...                   hit_object: &SceneObject, raycast_info: RayCastInfo,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]    --> src/rtracer/material.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 | ...                   hit_object: &SceneObject, raycase_info: RayCastInfo,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]    --> src/rtracer/material.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 |                      hit_object: &SceneObject, raycast_info: RayCastInfo, rng: &mut impl Rng)
[INFO] [stdout]     |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/rtracer/renderer.rs:115:16
[INFO] [stdout]     |
[INFO] [stdout] 115 |         .filter(|(x, a): &(HitInfo, _)| x.dist > 1e-6)
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_object`
[INFO] [stdout]    --> src/rtracer/material.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 |                      hit_object: &SceneObject, raycast_info: RayCastInfo, rng: &mut impl Rng)
[INFO] [stdout]     |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/rtracer/renderer.rs:115:16
[INFO] [stdout]     |
[INFO] [stdout] 115 |         .filter(|(x, a): &(HitInfo, _)| x.dist > 1e-6)
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]   --> src/main.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn test() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup` is never used
[INFO] [stdout]   --> src/main.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn setup() -> SceneData {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AREALIGHT_MONTECARLO_SAMPLE` is never used
[INFO] [stdout]   --> src/rtracer.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const AREALIGHT_MONTECARLO_SAMPLE: u32 = 121;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_maybe_component`, `add_obj`, `add_light`, `append_objs`, and `append_light` are never used
[INFO] [stdout]   --> src/rtracer/scene.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Scene {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     pub fn new() -> Scene {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn from_maybe_component(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn add_obj(&mut self, obj: impl Into<SceneObject>) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn add_light(&mut self, light: light::Lights) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn append_objs(&mut self, mut objs: Vec<SceneObject>) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn append_light(&mut self, mut lights: Vec<light::Lights>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/light.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl PointLight {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 37 |     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:92:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl DirectionalLight {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 92 |     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/light.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl AreaLight{
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 125 |     pub fn new(center: Vector3<f32>, rotation: UnitQuaternion<f32>, scaling: f32, light: Option<Color3>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/scene_object.rs:13:9
[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:119:10
[INFO] [stdout]     |
[INFO] [stdout] 118 |     impl Disc {
[INFO] [stdout]     |     --------- associated function in this implementation
[INFO] [stdout] 119 |         pub fn new(pos: Point3<f32>, norm: Unit<Vector3<f32>>, r: f32) -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/material.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Diffuse {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 40 |     pub fn new(color: Color3) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/material.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl Reflective {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 64 |     pub fn new(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:214:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl PerfectReflective {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 214 |     pub fn new(color: Color3) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_scene_data` is never used
[INFO] [stdout]   --> src/rtracer/parser.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn save_scene_data(path: impl AsRef<Path>, scene: &SceneData) -> Result<(), SceneParserError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_float` is never used
[INFO] [stdout]   --> src/rtracer/helper.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn map_float<F: Real>(x: F, src: RangeInclusive<F>, dest: RangeInclusive<F>) -> F {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `UV3` is never used
[INFO] [stdout]   --> src/rtracer/helper.rs:37:6
[INFO] [stdout]    |
[INFO] [stdout] 37 | type UV3 = Unit<Vector3<f32>>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/rtracer/scene.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Scene`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/rtracer/scene.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Scene`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/light.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Lights`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/light.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Lights`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/light.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_PointLight`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/light.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_PointLight`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/light.rs:85:10
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_DirectionalLight`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/light.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_DirectionalLight`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/rtracer/light.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_AreaLight`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/rtracer/light.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_AreaLight`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/rtracer/camera.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Serialize, Deserialize, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Camera`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/rtracer/camera.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Serialize, Deserialize, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Camera`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/rtracer/scene_object.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SceneObject`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/rtracer/scene_object.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SceneObject`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/shape.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Shapes`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/shape.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Shapes`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/shape.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Sphere`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/shape.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Sphere`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/shape.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_InfinitePlane`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/shape.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_InfinitePlane`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/rtracer/shape.rs:111:11
[INFO] [stdout]     |
[INFO] [stdout] 111 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Disc`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/rtracer/shape.rs:111:22
[INFO] [stdout]     |
[INFO] [stdout] 111 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |                         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Disc`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/material.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Materials`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/material.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Materials`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/material.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Diffuse`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/material.rs:34:21
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Diffuse`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/material.rs:57:10
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Reflective`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/material.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Reflective`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/rtracer/material.rs:208:10
[INFO] [stdout]     |
[INFO] [stdout] 208 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_PerfectReflective`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/rtracer/material.rs:208:21
[INFO] [stdout]     |
[INFO] [stdout] 208 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_PerfectReflective`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/parser.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SceneData`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/parser.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SceneData`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/parser.rs:50:14
[INFO] [stdout]    |
[INFO] [stdout] 50 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_CameraSerdeInterface`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]   --> src/main.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn test() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/parser.rs:50:25
[INFO] [stdout]    |
[INFO] [stdout] 50 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_CameraSerdeInterface`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup` is never used
[INFO] [stdout]   --> src/main.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn setup() -> SceneData {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AREALIGHT_MONTECARLO_SAMPLE` is never used
[INFO] [stdout]   --> src/rtracer.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const AREALIGHT_MONTECARLO_SAMPLE: u32 = 121;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_maybe_component`, `add_obj`, `add_light`, `append_objs`, and `append_light` are never used
[INFO] [stdout]   --> src/rtracer/scene.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Scene {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     pub fn new() -> Scene {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn from_maybe_component(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn add_obj(&mut self, obj: impl Into<SceneObject>) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn add_light(&mut self, light: light::Lights) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn append_objs(&mut self, mut objs: Vec<SceneObject>) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn append_light(&mut self, mut lights: Vec<light::Lights>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/light.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl PointLight {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 37 |     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:92:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl DirectionalLight {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 92 |     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/light.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl AreaLight{
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 125 |     pub fn new(center: Vector3<f32>, rotation: UnitQuaternion<f32>, scaling: f32, light: Option<Color3>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/scene_object.rs:13:9
[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:119:10
[INFO] [stdout]     |
[INFO] [stdout] 118 |     impl Disc {
[INFO] [stdout]     |     --------- associated function in this implementation
[INFO] [stdout] 119 |         pub fn new(pos: Point3<f32>, norm: Unit<Vector3<f32>>, r: f32) -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/material.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Diffuse {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 40 |     pub fn new(color: Color3) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtracer/material.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl Reflective {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 64 |     pub fn new(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:214:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl PerfectReflective {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 214 |     pub fn new(color: Color3) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_scene_data` is never used
[INFO] [stdout]   --> src/rtracer/parser.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn save_scene_data(path: impl AsRef<Path>, scene: &SceneData) -> Result<(), SceneParserError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `UV3` is never used
[INFO] [stdout]   --> src/rtracer/helper.rs:37:6
[INFO] [stdout]    |
[INFO] [stdout] 37 | type UV3 = Unit<Vector3<f32>>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/rtracer/scene.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Scene`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/rtracer/scene.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Scene`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/light.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Lights`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/light.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Lights`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/light.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_PointLight`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/light.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_PointLight`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/light.rs:85:10
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_DirectionalLight`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/light.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_DirectionalLight`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/rtracer/light.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_AreaLight`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/rtracer/light.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_AreaLight`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/rtracer/camera.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Serialize, Deserialize, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Camera`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/rtracer/camera.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Serialize, Deserialize, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Camera`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/rtracer/scene_object.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SceneObject`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/rtracer/scene_object.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SceneObject`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/shape.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Shapes`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/shape.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Shapes`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/shape.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Sphere`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/shape.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Sphere`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/shape.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_InfinitePlane`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/shape.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_InfinitePlane`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/rtracer/shape.rs:111:11
[INFO] [stdout]     |
[INFO] [stdout] 111 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Disc`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/rtracer/shape.rs:111:22
[INFO] [stdout]     |
[INFO] [stdout] 111 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |                         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Disc`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/material.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Materials`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/material.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Materials`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/material.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Diffuse`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/material.rs:34:21
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Diffuse`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/material.rs:57:10
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Reflective`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/material.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Reflective`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/rtracer/material.rs:208:10
[INFO] [stdout]     |
[INFO] [stdout] 208 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_PerfectReflective`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/rtracer/material.rs:208:21
[INFO] [stdout]     |
[INFO] [stdout] 208 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_PerfectReflective`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/parser.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SceneData`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/parser.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SceneData`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/parser.rs:50:14
[INFO] [stdout]    |
[INFO] [stdout] 50 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_CameraSerdeInterface`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/rtracer/parser.rs:50:25
[INFO] [stdout]    |
[INFO] [stdout] 50 |     #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_CameraSerdeInterface`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 34 previous errors; 57 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 34 previous errors; 64 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `test_project` (bin "test_project") due to 35 previous errors; 57 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `test_project` (bin "test_project" test) due to 35 previous errors; 64 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "afbaf48b7cf7754ed19c5372b9c4b23129bf3fba61ea88f566eedf8b92fdabf7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "afbaf48b7cf7754ed19c5372b9c4b23129bf3fba61ea88f566eedf8b92fdabf7", kill_on_drop: false }`
[INFO] [stdout] afbaf48b7cf7754ed19c5372b9c4b23129bf3fba61ea88f566eedf8b92fdabf7
