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