[INFO] cloning repository https://github.com/carlosconley/surely-raytracing
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/carlosconley/surely-raytracing" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcarlosconley%2Fsurely-raytracing", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcarlosconley%2Fsurely-raytracing'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6f011392fc644bc46cf3d8e9dc19b9352d7c9778
[INFO] checking carlosconley/surely-raytracing against 5c543b0b8c73c7b72bc8284ced4fb22ead15734d for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcarlosconley%2Fsurely-raytracing" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/carlosconley/surely-raytracing
[INFO] finished tweaking git repo https://github.com/carlosconley/surely-raytracing
[INFO] tweaked toml for git repo https://github.com/carlosconley/surely-raytracing written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/carlosconley/surely-raytracing on toolchain 5c543b0b8c73c7b72bc8284ced4fb22ead15734d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/carlosconley/surely-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" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rayon v1.9.0
[INFO] [stderr]   Downloaded bytemuck v1.14.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d1804c07c3aadcb8bf1fab080bb3956630f581a3185fa6702d0a1505f3057c2c
[INFO] running `Command { std: "docker" "start" "d1804c07c3aadcb8bf1fab080bb3956630f581a3185fa6702d0a1505f3057c2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d1804c07c3aadcb8bf1fab080bb3956630f581a3185fa6702d0a1505f3057c2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d1804c07c3aadcb8bf1fab080bb3956630f581a3185fa6702d0a1505f3057c2c" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d1804c07c3aadcb8bf1fab080bb3956630f581a3185fa6702d0a1505f3057c2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d1804c07c3aadcb8bf1fab080bb3956630f581a3185fa6702d0a1505f3057c2c" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking half v2.4.0
[INFO] [stderr]     Checking smallvec v1.13.1
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking bytemuck v1.14.3
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rayon-core v1.12.1
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking raytracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: constant `INF` is never used
[INFO] [stdout]  --> src/utils.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const INF: f64 = f64::INFINITY;
[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 `random_int` is never used
[INFO] [stdout]   --> src/utils.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn random_int(min: i64, max: i64) -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INF` is never used
[INFO] [stdout]  --> src/utils.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const INF: f64 = f64::INFINITY;
[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 `random_range` is never used
[INFO] [stdout]  --> src/utils.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn random_range(min: f64, max: f64) -> f64 {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_int` is never used
[INFO] [stdout]   --> src/utils.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn random_int(min: i64, max: i64) -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/object.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::interval::{self, Interval, EMPTY};
[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: `std::f64::consts::PI`
[INFO] [stdout]  --> src/render.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f64::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CosinePDF`
[INFO] [stdout]  --> src/render.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::pdf::{CosinePDF, HittablePDF, MixturePDF, PDF};
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/object.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::interval::{self, Interval, EMPTY};
[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: `std::f64::consts::PI`
[INFO] [stdout]  --> src/render.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f64::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CosinePDF`
[INFO] [stdout]  --> src/render.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::pdf::{CosinePDF, HittablePDF, MixturePDF, PDF};
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INF` is never used
[INFO] [stdout]  --> src/utils.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const INF: f64 = f64::INFINITY;
[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 `random_int` is never used
[INFO] [stdout]   --> src/utils.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn random_int(min: i64, max: i64) -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INF` is never used
[INFO] [stdout]  --> src/utils.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const INF: f64 = f64::INFINITY;
[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 `random_range` is never used
[INFO] [stdout]  --> src/utils.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn random_range(min: f64, max: f64) -> f64 {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_int` is never used
[INFO] [stdout]   --> src/utils.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn random_int(min: i64, max: i64) -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]   --> src/hittable.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn pdf_value(&self, origin: &Point3, direction: &Vec3) -> f64 {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `direction`
[INFO] [stdout]   --> src/hittable.rs:46:42
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn pdf_value(&self, origin: &Point3, direction: &Vec3) -> f64 {
[INFO] [stdout]    |                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]   --> src/hittable.rs:50:22
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn random(&self, origin: &Point3) -> Vec3 {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> src/material.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord) -> Option<ScatterRecord> {
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]   --> src/material.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord) -> Option<ScatterRecord> {
[INFO] [stdout]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> src/material.rs:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]   --> src/material.rs:70:42
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]    |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scattered`
[INFO] [stdout]   --> src/material.rs:70:59
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]    |                                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scattered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> src/material.rs:93:23
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord) -> Option<ScatterRecord> {
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]    --> src/material.rs:100:30
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]   --> src/hittable.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn pdf_value(&self, origin: &Point3, direction: &Vec3) -> f64 {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `direction`
[INFO] [stdout]   --> src/hittable.rs:46:42
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn pdf_value(&self, origin: &Point3, direction: &Vec3) -> f64 {
[INFO] [stdout]    |                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]   --> src/hittable.rs:50:22
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn random(&self, origin: &Point3) -> Vec3 {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]    --> src/material.rs:136:30
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]    --> src/material.rs:136:42
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]     |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scattered`
[INFO] [stdout]    --> src/material.rs:136:59
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]     |                                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scattered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]    --> src/material.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn emitted(&self, r_in: &Ray, rec: &HitRecord, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]    --> src/material.rs:242:23
[INFO] [stdout]     |
[INFO] [stdout] 242 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord) -> Option<ScatterRecord> {
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> src/material.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord) -> Option<ScatterRecord> {
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]   --> src/material.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord) -> Option<ScatterRecord> {
[INFO] [stdout]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> src/material.rs:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]   --> src/material.rs:70:42
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]    |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scattered`
[INFO] [stdout]   --> src/material.rs:70:59
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]    |                                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scattered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> src/material.rs:93:23
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord) -> Option<ScatterRecord> {
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]    --> src/material.rs:100:30
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]    --> src/material.rs:136:30
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]    --> src/material.rs:136:42
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]     |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scattered`
[INFO] [stdout]    --> src/material.rs:136:59
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 {
[INFO] [stdout]     |                                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scattered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]    --> src/material.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn emitted(&self, r_in: &Ray, rec: &HitRecord, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]    --> src/material.rs:242:23
[INFO] [stdout]     |
[INFO] [stdout] 242 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord) -> Option<ScatterRecord> {
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aluminum`
[INFO] [stdout]    --> src/main.rs:462:9
[INFO] [stdout]     |
[INFO] [stdout] 462 |     let aluminum = Metal::new(Color::new(0.8, 0.85, 0.88), 0.1);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aluminum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `box2`
[INFO] [stdout]    --> src/main.rs:479:9
[INFO] [stdout]     |
[INFO] [stdout] 479 |     let box2 = Translate::new(box2.into(), Vec3::new(130., 0., 65.));
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_box2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `direction` is never read
[INFO] [stdout]    --> src/object.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub struct Sun {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] 217 |     pub direction: Vec3,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `aspect_ratio`, `vfov`, `lookat`, `vup`, and `focus_dist` are never read
[INFO] [stdout]   --> src/render.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Camera {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 16 |     pub aspect_ratio: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub vfov: f64, // Vertical view angle (field of view)
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 21 |     pub lookat: Point3,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 22 |     pub vup: Vec3,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 23 |     pub defocus_angle: f64,
[INFO] [stdout] 24 |     pub focus_dist: f64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_depth` is never used
[INFO] [stdout]    --> src/render.rs:313:4
[INFO] [stdout]     |
[INFO] [stdout] 313 | fn draw_depth(cam: &Camera, depth_buffer: &Vec<i32>) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/constant_medium.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]    |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/hittable.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord>;
[INFO] [stdout]    |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>>;
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/hittable.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]    |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/hittable.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]     |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/object.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]    |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/object.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]     |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/object.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]     |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/object.rs:453:12
[INFO] [stdout]     |
[INFO] [stdout] 453 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]     |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 453 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/transform.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]    |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aluminum`
[INFO] [stdout]    --> src/main.rs:462:9
[INFO] [stdout]     |
[INFO] [stdout] 462 |     let aluminum = Metal::new(Color::new(0.8, 0.85, 0.88), 0.1);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aluminum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `box2`
[INFO] [stdout]    --> src/main.rs:479:9
[INFO] [stdout]     |
[INFO] [stdout] 479 |     let box2 = Translate::new(box2.into(), Vec3::new(130., 0., 65.));
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_box2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/transform.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn hit(&self, r: &crate::ray::Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]    |            ^^^^^ the lifetime is elided here                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn hit(&self, r: &crate::ray::Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/transform.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]    |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `direction` is never read
[INFO] [stdout]    --> src/object.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub struct Sun {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] 217 |     pub direction: Vec3,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `aspect_ratio`, `vfov`, `lookat`, `vup`, and `focus_dist` are never read
[INFO] [stdout]   --> src/render.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Camera {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 16 |     pub aspect_ratio: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub vfov: f64, // Vertical view angle (field of view)
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 21 |     pub lookat: Point3,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 22 |     pub vup: Vec3,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 23 |     pub defocus_angle: f64,
[INFO] [stdout] 24 |     pub focus_dist: f64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_depth` is never used
[INFO] [stdout]    --> src/render.rs:313:4
[INFO] [stdout]     |
[INFO] [stdout] 313 | fn draw_depth(cam: &Camera, depth_buffer: &Vec<i32>) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/constant_medium.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]    |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/hittable.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord>;
[INFO] [stdout]    |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>>;
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/hittable.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]    |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/hittable.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]     |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/object.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]    |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/object.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]     |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/object.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]     |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/object.rs:453:12
[INFO] [stdout]     |
[INFO] [stdout] 453 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]     |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 453 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/transform.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]    |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/transform.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn hit(&self, r: &crate::ray::Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]    |            ^^^^^ the lifetime is elided here                       ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn hit(&self, r: &crate::ray::Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/transform.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord> {
[INFO] [stdout]    |            ^^^^^ the lifetime is elided here           ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn hit(&self, r: &Ray, ray_t: &Interval) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.33s
[INFO] running `Command { std: "docker" "inspect" "d1804c07c3aadcb8bf1fab080bb3956630f581a3185fa6702d0a1505f3057c2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d1804c07c3aadcb8bf1fab080bb3956630f581a3185fa6702d0a1505f3057c2c", kill_on_drop: false }`
[INFO] [stdout] d1804c07c3aadcb8bf1fab080bb3956630f581a3185fa6702d0a1505f3057c2c
