[INFO] cloning repository https://github.com/tom7980/tracy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tom7980/tracy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftom7980%2Ftracy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftom7980%2Ftracy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 86965dbb89dccbd78bb84813746eff6f5f3828c4
[INFO] checking tom7980/tracy against master#b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd for pr-155499
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftom7980%2Ftracy" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tom7980/tracy
[INFO] finished tweaking git repo https://github.com/tom7980/tracy
[INFO] tweaked toml for git repo https://github.com/tom7980/tracy written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tom7980/tracy on toolchain b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tom7980/tracy 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" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded indicatif v0.18.3
[INFO] [stderr]   Downloaded unit-prefix v0.5.2
[INFO] [stderr]   Downloaded noise v0.9.0
[INFO] [stderr]   Downloaded zune-jpeg v0.5.7
[INFO] [stderr]   Downloaded console v0.16.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b1e6f63b5174bad4c5e1bf166b2281dcfd47133613324700f50aabefed3c4c7d
[INFO] running `Command { std: "docker" "start" "-a" "b1e6f63b5174bad4c5e1bf166b2281dcfd47133613324700f50aabefed3c4c7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b1e6f63b5174bad4c5e1bf166b2281dcfd47133613324700f50aabefed3c4c7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1e6f63b5174bad4c5e1bf166b2281dcfd47133613324700f50aabefed3c4c7d", kill_on_drop: false }`
[INFO] [stdout] b1e6f63b5174bad4c5e1bf166b2281dcfd47133613324700f50aabefed3c4c7d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9ac45511990e49501a785ff6d7866bfe107ee735274df3b618c172bf519c2b97
[INFO] running `Command { std: "docker" "start" "-a" "9ac45511990e49501a785ff6d7866bfe107ee735274df3b618c172bf519c2b97", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking as-slice v0.2.1
[INFO] [stderr]    Compiling built v0.8.0
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]     Checking core2 v0.4.0
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling pastey v0.1.1
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking y4m v0.8.0
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking bitstream-io v4.9.0
[INFO] [stderr]     Checking aligned v0.4.3
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]     Checking imgref v1.12.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking avif-serialize v0.8.6
[INFO] [stderr]     Checking zune-jpeg v0.4.21
[INFO] [stderr]     Checking lebe v0.5.3
[INFO] [stderr]     Checking zune-core v0.5.0
[INFO] [stderr]     Checking rgb v0.8.52
[INFO] [stderr]     Checking bit_field v0.10.3
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]     Checking console v0.16.1
[INFO] [stderr]     Checking gif v0.14.1
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]     Checking zune-jpeg v0.5.7
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking image-webp v0.2.4
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking unit-prefix v0.5.2
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking pxfm v0.1.27
[INFO] [stderr]     Checking indicatif v0.18.3
[INFO] [stderr]     Checking noise v0.9.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking moxcms v0.7.11
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking fax v0.2.6
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking tiff v0.10.3
[INFO] [stderr]     Checking ravif v0.12.0
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]     Checking tracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::str::MatchIndices`
[INFO] [stdout]  --> src/bvh.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::MatchIndices;
[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: `crate::vec3::*`
[INFO] [stdout]  --> src/bvh.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::vec3::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::material`
[INFO] [stdout]  --> src/hittable.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::material;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImageBuffer`
[INFO] [stdout]  --> src/texture.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::{open, ImageBuffer, RgbImage};
[INFO] [stdout]   |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hittable::HittableList`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use hittable::HittableList;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::MatchIndices`
[INFO] [stdout]  --> src/bvh.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::MatchIndices;
[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: `crate::vec3::*`
[INFO] [stdout]  --> src/bvh.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::vec3::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::material`
[INFO] [stdout]  --> src/hittable.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::material;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImageBuffer`
[INFO] [stdout]  --> src/texture.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::{open, ImageBuffer, RgbImage};
[INFO] [stdout]   |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hittable::HittableList`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use hittable::HittableList;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent_index`
[INFO] [stdout]   --> src/bvh.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 parent_index,
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: try ignoring the field: `parent_index: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent_index`
[INFO] [stdout]   --> src/bvh.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 parent_index,
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: try ignoring the field: `parent_index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/material.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn emit(&self, u: f64, v: f64, p: &Point3) -> Option<Colour> {
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/material.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn emit(&self, u: f64, v: f64, p: &Point3) -> Option<Colour> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/material.rs:28:36
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn emit(&self, u: f64, v: f64, p: &Point3) -> Option<Colour> {
[INFO] [stdout]    |                                    ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> src/material.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn scatter_pdf(&self, ray: &Ray, hit_record: &HitRecord, scatter_ray: &Ray) -> f64 {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_record`
[INFO] [stdout]   --> src/material.rs:32:38
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn scatter_pdf(&self, ray: &Ray, hit_record: &HitRecord, scatter_ray: &Ray) -> f64 {
[INFO] [stdout]    |                                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scatter_ray`
[INFO] [stdout]   --> src/material.rs:32:62
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn scatter_pdf(&self, ray: &Ray, hit_record: &HitRecord, scatter_ray: &Ray) -> f64 {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scatter_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> src/material.rs:65:27
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn scatter_pdf(&self, ray: &Ray, hit_record: &HitRecord, scatter_ray: &Ray) -> f64 {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]    --> src/material.rs:187:23
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn scatter(&self, ray: &Ray, hit_record: &HitRecord) -> Option<ScatterRecord> {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_record`
[INFO] [stdout]    --> src/material.rs:187:34
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn scatter(&self, ray: &Ray, hit_record: &HitRecord) -> Option<ScatterRecord> {
[INFO] [stdout]     |                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/texture.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn value(&self, u: f64, v: f64, p: Point3) -> Colour {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/texture.rs:33:29
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn value(&self, u: f64, v: f64, p: Point3) -> Colour {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/texture.rs:33:37
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn value(&self, u: f64, v: f64, p: Point3) -> Colour {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/texture.rs:85:37
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn value(&self, u: f64, v: f64, p: Point3) -> Colour {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/texture.rs:119:37
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn value(&self, u: f64, v: f64, p: Point3) -> Colour {
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metalic_1`
[INFO] [stdout]   --> src/main.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let metalic_1 = Arc::new(Metalic::new(Colour::new(0.8, 0.2, 0.2), 0.3));
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metalic_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metalic_2`
[INFO] [stdout]   --> src/main.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let metalic_2 = Arc::new(Metalic::new(Colour::new(0.9, 0.2, 0.2), 0.5));
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metalic_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glass`
[INFO] [stdout]   --> src/main.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let glass = Arc::new(Dielectric::new(1.50, Colour::new(0.8, 0.8, 0.9)));
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_glass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bubble`
[INFO] [stdout]   --> src/main.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let bubble = Arc::new(Dielectric::new(1.0 / 1.5, Colour::new(1.0, 1.0, 1.0)));
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bubble`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metalic_1`
[INFO] [stdout]    --> src/main.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let metalic_1 = Arc::new(Metalic::new(Colour::new(0.8, 0.2, 0.2), 0.3));
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metalic_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metalic_2`
[INFO] [stdout]    --> src/main.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     let metalic_2 = Arc::new(Metalic::new(Colour::new(0.9, 0.2, 0.2), 0.5));
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metalic_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glass`
[INFO] [stdout]    --> src/main.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let glass = Arc::new(Dielectric::new(1.50, Colour::new(0.8, 0.8, 0.9)));
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_glass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bubble`
[INFO] [stdout]    --> src/main.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let bubble = Arc::new(Dielectric::new(1.0 / 1.5, Colour::new(1.0, 1.0, 1.0)));
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bubble`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spheres` is never used
[INFO] [stdout]   --> src/main.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn spheres(world: &mut BvhTree) {
[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 `quads` is never used
[INFO] [stdout]   --> src/main.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn quads(world: &mut BvhTree) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `light` is never used
[INFO] [stdout]    --> src/main.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn light(world: &mut BvhTree) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `aspect_ratio`, `vfov`, `u`, `v`, and `w` are never read
[INFO] [stdout]   --> src/camera.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Camera {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     aspect_ratio: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     vfov: f64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 30 |
[INFO] [stdout] 31 |     u: Vec3,
[INFO] [stdout]    |     ^
[INFO] [stdout] 32 |     v: Vec3,
[INFO] [stdout]    |     ^
[INFO] [stdout] 33 |     w: Vec3,
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `front_face` and `update_record` are never used
[INFO] [stdout]   --> src/hittable.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl HitRecord {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn front_face(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn update_record(&mut self, p: Point3, normal: Vec3, t: f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `attenuation_ref` is never used
[INFO] [stdout]   --> src/material.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ScatterRecord {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 12 |     pub fn attenuation_ref(&self) -> &Colour {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/material.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Lambertian {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 42 |     pub fn new(albedo: Arc<dyn Texture>) -> Lambertian {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Metalic` is never constructed
[INFO] [stdout]   --> src/material.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct Metalic {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `as_arc` are never used
[INFO] [stdout]   --> src/material.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl Metalic {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 81 |     pub fn new(albedo: Colour, fuzz: f64) -> Metalic {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn as_arc(albedo: Colour, fuzz: f64) -> Arc<Metalic> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dielectric` is never constructed
[INFO] [stdout]    --> src/material.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct Dielectric {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `as_arc`, and `reflectance` are never used
[INFO] [stdout]    --> src/material.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl Dielectric {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 114 |     pub fn new(refractive_index: f64, albedo: Colour) -> Dielectric {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn as_arc(refractive_index: f64, albedo: Colour) -> Arc<Dielectric> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     fn reflectance(&self, cosine: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_colour` are never used
[INFO] [stdout]    --> src/material.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 168 | impl DiffuseLight {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] 169 |     pub fn new(texture: Arc<dyn Texture>) -> DiffuseLight {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn from_colour(colour: Colour) -> DiffuseLight {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `f` is never read
[INFO] [stdout]   --> src/quad.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Quad<F>
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     f: F,
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sphere` is never constructed
[INFO] [stdout]   --> src/sphere.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Sphere {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_sphere_uv` are never used
[INFO] [stdout]   --> src/sphere.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Sphere {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(movement: Ray, radius: f64, mat: Arc<dyn Material>) -> Sphere {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn get_sphere_uv(&self, p: &Point3) -> (f64, f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/texture.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl SolidColour {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 17 |     pub fn new(a: Colour) -> SolidColour {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheckerTexture` is never constructed
[INFO] [stdout]   --> src/texture.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct CheckerTexture {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_with_colours` is never used
[INFO] [stdout]   --> src/texture.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl CheckerTexture {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 45 |     pub fn new_with_colours(scale: f64, a: Colour, b: Colour) -> CheckerTexture {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageTexture` is never constructed
[INFO] [stdout]   --> src/texture.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct ImageTexture {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/texture.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl ImageTexture {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 75 |     pub fn new<P>(path: P) -> ImageTexture
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoiseTexture` is never constructed
[INFO] [stdout]    --> src/texture.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct NoiseTexture {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/texture.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl NoiseTexture {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 111 |     pub fn new() -> NoiseTexture {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent_index`
[INFO] [stdout]   --> src/bvh.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 parent_index,
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: try ignoring the field: `parent_index: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent_index`
[INFO] [stdout]   --> src/bvh.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 parent_index,
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: try ignoring the field: `parent_index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/material.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn emit(&self, u: f64, v: f64, p: &Point3) -> Option<Colour> {
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/material.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn emit(&self, u: f64, v: f64, p: &Point3) -> Option<Colour> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/material.rs:28:36
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn emit(&self, u: f64, v: f64, p: &Point3) -> Option<Colour> {
[INFO] [stdout]    |                                    ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> src/material.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn scatter_pdf(&self, ray: &Ray, hit_record: &HitRecord, scatter_ray: &Ray) -> f64 {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_record`
[INFO] [stdout]   --> src/material.rs:32:38
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn scatter_pdf(&self, ray: &Ray, hit_record: &HitRecord, scatter_ray: &Ray) -> f64 {
[INFO] [stdout]    |                                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scatter_ray`
[INFO] [stdout]   --> src/material.rs:32:62
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn scatter_pdf(&self, ray: &Ray, hit_record: &HitRecord, scatter_ray: &Ray) -> f64 {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scatter_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> src/material.rs:65:27
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn scatter_pdf(&self, ray: &Ray, hit_record: &HitRecord, scatter_ray: &Ray) -> f64 {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]    --> src/material.rs:187:23
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn scatter(&self, ray: &Ray, hit_record: &HitRecord) -> Option<ScatterRecord> {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hit_record`
[INFO] [stdout]    --> src/material.rs:187:34
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn scatter(&self, ray: &Ray, hit_record: &HitRecord) -> Option<ScatterRecord> {
[INFO] [stdout]     |                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/texture.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn value(&self, u: f64, v: f64, p: Point3) -> Colour {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/texture.rs:33:29
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn value(&self, u: f64, v: f64, p: Point3) -> Colour {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/texture.rs:33:37
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn value(&self, u: f64, v: f64, p: Point3) -> Colour {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/texture.rs:85:37
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn value(&self, u: f64, v: f64, p: Point3) -> Colour {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/texture.rs:119:37
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn value(&self, u: f64, v: f64, p: Point3) -> Colour {
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metalic_1`
[INFO] [stdout]   --> src/main.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let metalic_1 = Arc::new(Metalic::new(Colour::new(0.8, 0.2, 0.2), 0.3));
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metalic_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metalic_2`
[INFO] [stdout]   --> src/main.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let metalic_2 = Arc::new(Metalic::new(Colour::new(0.9, 0.2, 0.2), 0.5));
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metalic_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glass`
[INFO] [stdout]   --> src/main.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let glass = Arc::new(Dielectric::new(1.50, Colour::new(0.8, 0.8, 0.9)));
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_glass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bubble`
[INFO] [stdout]   --> src/main.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let bubble = Arc::new(Dielectric::new(1.0 / 1.5, Colour::new(1.0, 1.0, 1.0)));
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bubble`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metalic_1`
[INFO] [stdout]    --> src/main.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let metalic_1 = Arc::new(Metalic::new(Colour::new(0.8, 0.2, 0.2), 0.3));
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metalic_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metalic_2`
[INFO] [stdout]    --> src/main.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     let metalic_2 = Arc::new(Metalic::new(Colour::new(0.9, 0.2, 0.2), 0.5));
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metalic_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glass`
[INFO] [stdout]    --> src/main.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let glass = Arc::new(Dielectric::new(1.50, Colour::new(0.8, 0.8, 0.9)));
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_glass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bubble`
[INFO] [stdout]    --> src/main.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let bubble = Arc::new(Dielectric::new(1.0 / 1.5, Colour::new(1.0, 1.0, 1.0)));
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bubble`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spheres` is never used
[INFO] [stdout]   --> src/main.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn spheres(world: &mut BvhTree) {
[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 `quads` is never used
[INFO] [stdout]   --> src/main.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn quads(world: &mut BvhTree) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `light` is never used
[INFO] [stdout]    --> src/main.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn light(world: &mut BvhTree) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `aspect_ratio`, `vfov`, `u`, `v`, and `w` are never read
[INFO] [stdout]   --> src/camera.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Camera {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     aspect_ratio: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     vfov: f64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 30 |
[INFO] [stdout] 31 |     u: Vec3,
[INFO] [stdout]    |     ^
[INFO] [stdout] 32 |     v: Vec3,
[INFO] [stdout]    |     ^
[INFO] [stdout] 33 |     w: Vec3,
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `front_face` and `update_record` are never used
[INFO] [stdout]   --> src/hittable.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl HitRecord {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn front_face(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn update_record(&mut self, p: Point3, normal: Vec3, t: f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `attenuation_ref` is never used
[INFO] [stdout]   --> src/material.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ScatterRecord {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 12 |     pub fn attenuation_ref(&self) -> &Colour {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/material.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Lambertian {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 42 |     pub fn new(albedo: Arc<dyn Texture>) -> Lambertian {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Metalic` is never constructed
[INFO] [stdout]   --> src/material.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct Metalic {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `as_arc` are never used
[INFO] [stdout]   --> src/material.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl Metalic {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 81 |     pub fn new(albedo: Colour, fuzz: f64) -> Metalic {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn as_arc(albedo: Colour, fuzz: f64) -> Arc<Metalic> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dielectric` is never constructed
[INFO] [stdout]    --> src/material.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct Dielectric {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `as_arc`, and `reflectance` are never used
[INFO] [stdout]    --> src/material.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl Dielectric {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 114 |     pub fn new(refractive_index: f64, albedo: Colour) -> Dielectric {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn as_arc(refractive_index: f64, albedo: Colour) -> Arc<Dielectric> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     fn reflectance(&self, cosine: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_colour` are never used
[INFO] [stdout]    --> src/material.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 168 | impl DiffuseLight {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] 169 |     pub fn new(texture: Arc<dyn Texture>) -> DiffuseLight {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn from_colour(colour: Colour) -> DiffuseLight {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `f` is never read
[INFO] [stdout]   --> src/quad.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Quad<F>
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     f: F,
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sphere` is never constructed
[INFO] [stdout]   --> src/sphere.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Sphere {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_sphere_uv` are never used
[INFO] [stdout]   --> src/sphere.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Sphere {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(movement: Ray, radius: f64, mat: Arc<dyn Material>) -> Sphere {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn get_sphere_uv(&self, p: &Point3) -> (f64, f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/texture.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl SolidColour {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 17 |     pub fn new(a: Colour) -> SolidColour {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheckerTexture` is never constructed
[INFO] [stdout]   --> src/texture.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct CheckerTexture {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_with_colours` is never used
[INFO] [stdout]   --> src/texture.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl CheckerTexture {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 45 |     pub fn new_with_colours(scale: f64, a: Colour, b: Colour) -> CheckerTexture {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageTexture` is never constructed
[INFO] [stdout]   --> src/texture.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct ImageTexture {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/texture.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl ImageTexture {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 75 |     pub fn new<P>(path: P) -> ImageTexture
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoiseTexture` is never constructed
[INFO] [stdout]    --> src/texture.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct NoiseTexture {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/texture.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl NoiseTexture {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 111 |     pub fn new() -> NoiseTexture {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.07s
[INFO] running `Command { std: "docker" "inspect" "9ac45511990e49501a785ff6d7866bfe107ee735274df3b618c172bf519c2b97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9ac45511990e49501a785ff6d7866bfe107ee735274df3b618c172bf519c2b97", kill_on_drop: false }`
[INFO] [stdout] 9ac45511990e49501a785ff6d7866bfe107ee735274df3b618c172bf519c2b97
