[INFO] cloning repository https://github.com/ismasgrove/raytracing
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ismasgrove/raytracing" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fismasgrove%2Fraytracing", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fismasgrove%2Fraytracing'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 159bb540dc87375a8d58f08e4740b5858d5ed5f9
[INFO] checking ismasgrove/raytracing against try#53f0b05ecbcf011a1f77f1c627304e87ebd05801 for pr-154492
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fismasgrove%2Fraytracing" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ismasgrove/raytracing
[INFO] finished tweaking git repo https://github.com/ismasgrove/raytracing
[INFO] tweaked toml for git repo https://github.com/ismasgrove/raytracing written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ismasgrove/raytracing on toolchain 53f0b05ecbcf011a1f77f1c627304e87ebd05801
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+53f0b05ecbcf011a1f77f1c627304e87ebd05801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ismasgrove/raytracing 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" "+53f0b05ecbcf011a1f77f1c627304e87ebd05801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded terminal_size v0.1.16
[INFO] [stderr]   Downloaded number_prefix v0.3.0
[INFO] [stderr]   Downloaded indicatif v0.15.0
[INFO] [stderr]   Downloaded weezl v0.1.3
[INFO] [stderr]   Downloaded bytemuck v1.4.1
[INFO] [stderr]   Downloaded gif v0.11.1
[INFO] [stderr]   Downloaded rand_core v0.6.0
[INFO] [stderr]   Downloaded rand v0.8.0
[INFO] [stderr]   Downloaded console v0.14.0
[INFO] [stderr]   Downloaded getrandom v0.2.0
[INFO] [stderr]   Downloaded image v0.23.12
[INFO] [stderr]   Downloaded jpeg-decoder v0.1.20
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+53f0b05ecbcf011a1f77f1c627304e87ebd05801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6c70f67d2a72e00d2ec36b8ee9c13600b6dae99511feae14c888d6eaf8ba5b5b
[INFO] running `Command { std: "docker" "start" "-a" "6c70f67d2a72e00d2ec36b8ee9c13600b6dae99511feae14c888d6eaf8ba5b5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6c70f67d2a72e00d2ec36b8ee9c13600b6dae99511feae14c888d6eaf8ba5b5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6c70f67d2a72e00d2ec36b8ee9c13600b6dae99511feae14c888d6eaf8ba5b5b", kill_on_drop: false }`
[INFO] [stdout] 6c70f67d2a72e00d2ec36b8ee9c13600b6dae99511feae14c888d6eaf8ba5b5b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+53f0b05ecbcf011a1f77f1c627304e87ebd05801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a4e70071d7f7a0fb68ce236cc7bbd383210cede56356d150a65969393122b678
[INFO] running `Command { std: "docker" "start" "-a" "a4e70071d7f7a0fb68ce236cc7bbd383210cede56356d150a65969393122b678", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.81
[INFO] [stderr]    Compiling crossbeam-utils v0.8.1
[INFO] [stderr]    Compiling memoffset v0.6.1
[INFO] [stderr]    Compiling const_fn v0.4.4
[INFO] [stderr]    Compiling rayon-core v1.9.0
[INFO] [stderr]    Compiling rayon v1.5.0
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]    Compiling getrandom v0.2.0
[INFO] [stderr]    Compiling miniz_oxide v0.4.3
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]     Checking byteorder v1.3.4
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]     Checking adler v0.2.3
[INFO] [stderr]     Checking weezl v0.1.3
[INFO] [stderr]     Checking regex-syntax v0.6.22
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]     Checking ppv-lite86 v0.2.10
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]     Checking gif v0.11.1
[INFO] [stderr]     Checking bytemuck v1.4.1
[INFO] [stderr]     Checking number_prefix v0.3.0
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking terminal_size v0.1.16
[INFO] [stderr]     Checking rand_core v0.6.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.0
[INFO] [stderr]     Checking regex v1.4.3
[INFO] [stderr]     Checking rand_chacha v0.3.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.0
[INFO] [stderr]     Checking rand v0.8.0
[INFO] [stderr]     Checking console v0.14.0
[INFO] [stderr]     Checking jpeg-decoder v0.1.20
[INFO] [stderr]     Checking indicatif v0.15.0
[INFO] [stderr]     Checking tiff v0.6.1
[INFO] [stderr]     Checking image v0.23.12
[INFO] [stderr]     Checking raytracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `scenes::two_perlin_spheres`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use scenes::two_perlin_spheres;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scenes::two_perlin_spheres`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use scenes::two_perlin_spheres;
[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: `Dielectric` and `Material`
[INFO] [stdout]  --> src/scenes.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use material::{Dielectric, Lambertian, Material};
[INFO] [stdout]   |                ^^^^^^^^^^              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Triangle`
[INFO] [stdout]  --> src/scenes.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Pyramid, RotateY, Sphere, Translate, Triangle, Vec3, XYRect, XZRect, YZRect,
[INFO] [stdout]   |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Dielectric` and `Material`
[INFO] [stdout]  --> src/scenes.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use material::{Dielectric, Lambertian, Material};
[INFO] [stdout]   |                ^^^^^^^^^^              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Triangle`
[INFO] [stdout]  --> src/scenes.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Pyramid, RotateY, Sphere, Translate, Triangle, Vec3, XYRect, XZRect, YZRect,
[INFO] [stdout]   |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t0`
[INFO] [stdout]   --> src/plane.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn bounding_box(&self, t0: f64, t1: f64) -> Option<AABB> {
[INFO] [stdout]    |                            ^^ help: if this is intentional, prefix it with an underscore: `_t0`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t1`
[INFO] [stdout]   --> src/plane.rs:40:37
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn bounding_box(&self, t0: f64, t1: f64) -> Option<AABB> {
[INFO] [stdout]    |                                     ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t0`
[INFO] [stdout]   --> src/plane.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn bounding_box(&self, t0: f64, t1: f64) -> Option<AABB> {
[INFO] [stdout]    |                            ^^ help: if this is intentional, prefix it with an underscore: `_t0`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t1`
[INFO] [stdout]   --> src/plane.rs:40:37
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn bounding_box(&self, t0: f64, t1: f64) -> Option<AABB> {
[INFO] [stdout]    |                                     ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AABB` is never constructed
[INFO] [stdout]  --> src/aabb.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct AABB {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `min`, `max`, `hit`, and `surrounding_box` are never used
[INFO] [stdout]   --> src/aabb.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl AABB {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(min: Position, max: Position) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn min(&self) -> Position {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn max(&self) -> Position {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> bool {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn surrounding_box(box0: AABB, box1: AABB) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BVHNode` is never constructed
[INFO] [stdout]  --> src/bvh.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct BVHNode {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new`, `construct_tree`, `comparator`, `comparator_x`, `comparator_y`, and `comparator_z` are never used
[INFO] [stdout]   --> src/bvh.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl BVHNode {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 16 |     fn new(root_box: AABB, left: Arc<dyn Hittable>, right: Arc<dyn Hittable>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn construct_tree(hitlist: HittableList, t0: f64, t1: f64) -> Arc<dyn Hittable> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     fn comparator(axis: i32, a: &Arc<dyn Hittable>, b: &Arc<dyn Hittable>) -> Ordering {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     fn comparator_x(a: &Arc<dyn Hittable>, b: &Arc<dyn Hittable>) -> Ordering {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fn comparator_y(a: &Arc<dyn Hittable>, b: &Arc<dyn Hittable>) -> Ordering {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     fn comparator_z(a: &Arc<dyn Hittable>, b: &Arc<dyn Hittable>) -> Ordering {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bounding_box` is never used
[INFO] [stdout]  --> src/hittable.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Hittable: Sync + Send {
[INFO] [stdout]   |           -------- method in this trait
[INFO] [stdout] 6 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord>;
[INFO] [stdout] 7 |     fn bounding_box(&self, t0: f64, t1: f64) -> Option<AABB>;
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `front_face` is never read
[INFO] [stdout]   --> src/hittable.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct HitRecord {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub front_face: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `list` and `len` are never used
[INFO] [stdout]   --> src/hittable.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl HittableList {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn list(&self) -> &Vec<Arc<dyn Hittable>> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Translate` is never constructed
[INFO] [stdout]  --> src/instance_transforms.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Translate {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/instance_transforms.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Translate {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn new(object: Arc<dyn Hittable>, offset: Direction) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RotateY` is never constructed
[INFO] [stdout]   --> src/instance_transforms.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct RotateY {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/instance_transforms.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl RotateY {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 53 |     pub fn new(object: Arc<dyn Hittable>, angle: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/material.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Lambertian {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(col: Color) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Metal` is never constructed
[INFO] [stdout]   --> src/material.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Metal {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/material.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Metal {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 46 |     pub fn new(albedo: Color, fuzziness: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dielectric` is never constructed
[INFO] [stdout]   --> src/material.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Dielectric {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `reflectance` are never used
[INFO] [stdout]   --> src/material.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl Dielectric {
[INFO] [stdout]    | --------------- associated functions in this implementation
[INFO] [stdout] 72 |     pub fn new(refr_index: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     fn reflectance(cosine: f64, refr_index: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffuseLight` is never constructed
[INFO] [stdout]    --> src/material.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct DiffuseLight {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/material.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl DiffuseLight {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 112 |     pub fn new(emit: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `trilinear_interpolation` is never used
[INFO] [stdout]   --> src/perlin.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Perlin {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn trilinear_interpolation(c: Vec<Vec<Vec<f64>>>, u: f64, v: f64, w: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pixel` is never constructed
[INFO] [stdout]  --> src/pixel.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Pixel {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `color` is never used
[INFO] [stdout]   --> src/pixel.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Pixel {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 14 |     pub fn color(&self) -> Vec3 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pyramid` is never constructed
[INFO] [stdout]  --> src/pyramid.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Pyramid {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/pyramid.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Pyramid {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 17 |     pub fn new(base: XZRect, apex: Vec3) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XYRect` is never constructed
[INFO] [stdout]  --> src/rect.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct XYRect {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rect.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl XYRect {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(x0: f64, x1: f64, y0: f64, y1: f64, k: f64, material: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YZRect` is never constructed
[INFO] [stdout]   --> src/rect.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct YZRect {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rect.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl YZRect {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 70 |     pub fn new(y0: f64, y1: f64, z0: f64, z1: f64, k: f64, material: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XZRect` is never constructed
[INFO] [stdout]    --> src/rect.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct XZRect {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/rect.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl XZRect {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 127 |     pub fn new(x0: f64, x1: f64, z0: f64, z1: f64, k: f64, material: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cuboid` is never constructed
[INFO] [stdout]    --> src/rect.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub struct Cuboid {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/rect.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl Cuboid {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 179 |     pub fn new(p0: Vec3, p1: Vec3, material: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_scene` is never used
[INFO] [stdout]   --> src/scenes.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn random_scene() -> (Camera, Arc<HittableList>, Vec3) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `two_spheres` is never used
[INFO] [stdout]    --> src/scenes.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn two_spheres() -> (Camera, Arc<HittableList>, Vec3) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `globe` is never used
[INFO] [stdout]    --> src/scenes.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn globe() -> (Camera, Arc<HittableList>, Vec3) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simple_light` is never used
[INFO] [stdout]    --> src/scenes.rs:222:8
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub fn simple_light() -> (Camera, Arc<HittableList>, Vec3) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cornell_box` is never used
[INFO] [stdout]    --> src/scenes.rs:263:8
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub fn cornell_box() -> (Camera, Arc<HittableList>, Vec3) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cornell_smoke` is never used
[INFO] [stdout]    --> src/scenes.rs:379:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn cornell_smoke() -> (Camera, Arc<HittableList>, Vec3) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `final_scene` is never used
[INFO] [stdout]    --> src/scenes.rs:458:8
[INFO] [stdout]     |
[INFO] [stdout] 458 | pub fn final_scene() -> (Camera, Arc<HittableList>, Vec3) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/sphere.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Sphere {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn new(center: Vec3, radius: f64, material: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovingSphere` is never constructed
[INFO] [stdout]   --> src/sphere.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct MovingSphere {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `center` are never used
[INFO] [stdout]   --> src/sphere.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl MovingSphere {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 79 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn center(&self, time: f64) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solid` is never constructed
[INFO] [stdout]  --> src/texture.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Solid {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `color_rgb` and `color_vec3` are never used
[INFO] [stdout]   --> src/texture.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Solid {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] 14 |     fn color_rgb(red: f64, green: f64, blue: f64) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn color_vec3(color: Vec3) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Checker` is never constructed
[INFO] [stdout]   --> src/texture.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Checker {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_vec3` are never used
[INFO] [stdout]   --> src/texture.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Checker {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 36 |     pub fn new(odd: Arc<dyn Texture>, even: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn from_vec3(c1: Vec3, c2: Vec3) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageTexture` is never constructed
[INFO] [stdout]   --> src/texture.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct ImageTexture {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/texture.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl ImageTexture {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 92 |     pub fn new(filename: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Triangle` is never constructed
[INFO] [stdout]  --> src/triangle.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Triangle {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `barycentric` are never used
[INFO] [stdout]   --> src/triangle.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Triangle {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 10 |     pub fn new(vertices: [Vec3; 3], material: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     fn barycentric(p: Vec3, vertices: [Vec3; 3]) -> (f64, f64) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConstantMedium` is never constructed
[INFO] [stdout]  --> src/volume.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ConstantMedium {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/volume.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl ConstantMedium {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn new(density: f64, boundary: Arc<dyn Hittable>, tex: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Isotropic` is never constructed
[INFO] [stdout]   --> src/volume.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Isotropic {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/volume.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl Isotropic {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 77 |     pub fn new(albedo: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AABB` is never constructed
[INFO] [stdout]  --> src/aabb.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct AABB {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `min`, `max`, `hit`, and `surrounding_box` are never used
[INFO] [stdout]   --> src/aabb.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl AABB {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(min: Position, max: Position) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn min(&self) -> Position {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn max(&self) -> Position {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> bool {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn surrounding_box(box0: AABB, box1: AABB) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BVHNode` is never constructed
[INFO] [stdout]  --> src/bvh.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct BVHNode {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new`, `construct_tree`, `comparator`, `comparator_x`, `comparator_y`, and `comparator_z` are never used
[INFO] [stdout]   --> src/bvh.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl BVHNode {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 16 |     fn new(root_box: AABB, left: Arc<dyn Hittable>, right: Arc<dyn Hittable>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn construct_tree(hitlist: HittableList, t0: f64, t1: f64) -> Arc<dyn Hittable> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     fn comparator(axis: i32, a: &Arc<dyn Hittable>, b: &Arc<dyn Hittable>) -> Ordering {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     fn comparator_x(a: &Arc<dyn Hittable>, b: &Arc<dyn Hittable>) -> Ordering {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fn comparator_y(a: &Arc<dyn Hittable>, b: &Arc<dyn Hittable>) -> Ordering {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     fn comparator_z(a: &Arc<dyn Hittable>, b: &Arc<dyn Hittable>) -> Ordering {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bounding_box` is never used
[INFO] [stdout]  --> src/hittable.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Hittable: Sync + Send {
[INFO] [stdout]   |           -------- method in this trait
[INFO] [stdout] 6 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord>;
[INFO] [stdout] 7 |     fn bounding_box(&self, t0: f64, t1: f64) -> Option<AABB>;
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `front_face` is never read
[INFO] [stdout]   --> src/hittable.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct HitRecord {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub front_face: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `list` and `len` are never used
[INFO] [stdout]   --> src/hittable.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl HittableList {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn list(&self) -> &Vec<Arc<dyn Hittable>> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Translate` is never constructed
[INFO] [stdout]  --> src/instance_transforms.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Translate {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/instance_transforms.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Translate {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn new(object: Arc<dyn Hittable>, offset: Direction) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RotateY` is never constructed
[INFO] [stdout]   --> src/instance_transforms.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct RotateY {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/instance_transforms.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl RotateY {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 53 |     pub fn new(object: Arc<dyn Hittable>, angle: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/material.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Lambertian {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(col: Color) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Metal` is never constructed
[INFO] [stdout]   --> src/material.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Metal {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/material.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Metal {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 46 |     pub fn new(albedo: Color, fuzziness: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dielectric` is never constructed
[INFO] [stdout]   --> src/material.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Dielectric {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `reflectance` are never used
[INFO] [stdout]   --> src/material.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl Dielectric {
[INFO] [stdout]    | --------------- associated functions in this implementation
[INFO] [stdout] 72 |     pub fn new(refr_index: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     fn reflectance(cosine: f64, refr_index: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffuseLight` is never constructed
[INFO] [stdout]    --> src/material.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct DiffuseLight {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/material.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl DiffuseLight {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 112 |     pub fn new(emit: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `trilinear_interpolation` is never used
[INFO] [stdout]   --> src/perlin.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Perlin {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn trilinear_interpolation(c: Vec<Vec<Vec<f64>>>, u: f64, v: f64, w: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pixel` is never constructed
[INFO] [stdout]  --> src/pixel.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Pixel {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `color` is never used
[INFO] [stdout]   --> src/pixel.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Pixel {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 14 |     pub fn color(&self) -> Vec3 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pyramid` is never constructed
[INFO] [stdout]  --> src/pyramid.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Pyramid {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/pyramid.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Pyramid {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 17 |     pub fn new(base: XZRect, apex: Vec3) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XYRect` is never constructed
[INFO] [stdout]  --> src/rect.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct XYRect {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rect.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl XYRect {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(x0: f64, x1: f64, y0: f64, y1: f64, k: f64, material: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YZRect` is never constructed
[INFO] [stdout]   --> src/rect.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct YZRect {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rect.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl YZRect {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 70 |     pub fn new(y0: f64, y1: f64, z0: f64, z1: f64, k: f64, material: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XZRect` is never constructed
[INFO] [stdout]    --> src/rect.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct XZRect {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/rect.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl XZRect {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 127 |     pub fn new(x0: f64, x1: f64, z0: f64, z1: f64, k: f64, material: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cuboid` is never constructed
[INFO] [stdout]    --> src/rect.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub struct Cuboid {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/rect.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl Cuboid {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 179 |     pub fn new(p0: Vec3, p1: Vec3, material: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_scene` is never used
[INFO] [stdout]   --> src/scenes.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn random_scene() -> (Camera, Arc<HittableList>, Vec3) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `two_spheres` is never used
[INFO] [stdout]    --> src/scenes.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn two_spheres() -> (Camera, Arc<HittableList>, Vec3) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `globe` is never used
[INFO] [stdout]    --> src/scenes.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn globe() -> (Camera, Arc<HittableList>, Vec3) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simple_light` is never used
[INFO] [stdout]    --> src/scenes.rs:222:8
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub fn simple_light() -> (Camera, Arc<HittableList>, Vec3) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cornell_box` is never used
[INFO] [stdout]    --> src/scenes.rs:263:8
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub fn cornell_box() -> (Camera, Arc<HittableList>, Vec3) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cornell_smoke` is never used
[INFO] [stdout]    --> src/scenes.rs:379:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn cornell_smoke() -> (Camera, Arc<HittableList>, Vec3) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `final_scene` is never used
[INFO] [stdout]    --> src/scenes.rs:458:8
[INFO] [stdout]     |
[INFO] [stdout] 458 | pub fn final_scene() -> (Camera, Arc<HittableList>, Vec3) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/sphere.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Sphere {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn new(center: Vec3, radius: f64, material: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovingSphere` is never constructed
[INFO] [stdout]   --> src/sphere.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct MovingSphere {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `center` are never used
[INFO] [stdout]   --> src/sphere.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl MovingSphere {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 79 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn center(&self, time: f64) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solid` is never constructed
[INFO] [stdout]  --> src/texture.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Solid {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `color_rgb` and `color_vec3` are never used
[INFO] [stdout]   --> src/texture.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Solid {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] 14 |     fn color_rgb(red: f64, green: f64, blue: f64) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn color_vec3(color: Vec3) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Checker` is never constructed
[INFO] [stdout]   --> src/texture.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Checker {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_vec3` are never used
[INFO] [stdout]   --> src/texture.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Checker {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 36 |     pub fn new(odd: Arc<dyn Texture>, even: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn from_vec3(c1: Vec3, c2: Vec3) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageTexture` is never constructed
[INFO] [stdout]   --> src/texture.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct ImageTexture {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/texture.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl ImageTexture {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 92 |     pub fn new(filename: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Triangle` is never constructed
[INFO] [stdout]  --> src/triangle.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Triangle {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `barycentric` are never used
[INFO] [stdout]   --> src/triangle.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Triangle {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 10 |     pub fn new(vertices: [Vec3; 3], material: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     fn barycentric(p: Vec3, vertices: [Vec3; 3]) -> (f64, f64) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConstantMedium` is never constructed
[INFO] [stdout]  --> src/volume.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ConstantMedium {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/volume.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl ConstantMedium {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn new(density: f64, boundary: Arc<dyn Hittable>, tex: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Isotropic` is never constructed
[INFO] [stdout]   --> src/volume.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Isotropic {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/volume.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl Isotropic {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 77 |     pub fn new(albedo: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.98s
[INFO] running `Command { std: "docker" "inspect" "a4e70071d7f7a0fb68ce236cc7bbd383210cede56356d150a65969393122b678", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4e70071d7f7a0fb68ce236cc7bbd383210cede56356d150a65969393122b678", kill_on_drop: false }`
[INFO] [stdout] a4e70071d7f7a0fb68ce236cc7bbd383210cede56356d150a65969393122b678
