[INFO] cloning repository https://github.com/sayZhongWen/raytracing-2023
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sayZhongWen/raytracing-2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsayZhongWen%2Fraytracing-2023", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsayZhongWen%2Fraytracing-2023'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c922e6d813aae7e51a7b42e466ac148d554fcabc
[INFO] checking sayZhongWen/raytracing-2023 against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsayZhongWen%2Fraytracing-2023" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc1/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/sayZhongWen/raytracing-2023
[INFO] finished tweaking git repo https://github.com/sayZhongWen/raytracing-2023
[INFO] tweaked toml for git repo https://github.com/sayZhongWen/raytracing-2023 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sayZhongWen/raytracing-2023 on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sayZhongWen/raytracing-2023 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bytemuck v1.13.1
[INFO] [stderr]   Downloaded simd-adler32 v0.3.5
[INFO] [stderr]   Downloaded png v0.17.9
[INFO] [stderr]   Downloaded image v0.24.6
[INFO] [stderr]   Downloaded exr v1.6.4
[INFO] [stderr]   Downloaded tiff v0.8.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6745b847080439a03c97475f73de9022deba939bbe924590fe07808f986a98a4
[INFO] running `Command { std: "docker" "start" "-a" "6745b847080439a03c97475f73de9022deba939bbe924590fe07808f986a98a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6745b847080439a03c97475f73de9022deba939bbe924590fe07808f986a98a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6745b847080439a03c97475f73de9022deba939bbe924590fe07808f986a98a4", kill_on_drop: false }`
[INFO] [stdout] 6745b847080439a03c97475f73de9022deba939bbe924590fe07808f986a98a4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f606121e4f3055e54f15443cb399444470afd2481ac7e6619525be7b1765626b
[INFO] running `Command { std: "docker" "start" "-a" "f606121e4f3055e54f15443cb399444470afd2481ac7e6619525be7b1765626b", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling libc v0.2.146
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]    Compiling proc-macro2 v1.0.60
[INFO] [stderr]    Compiling unicode-ident v1.0.9
[INFO] [stderr]     Checking simd-adler32 v0.3.5
[INFO] [stderr]    Compiling quote v1.0.28
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking flate2 v1.0.26
[INFO] [stderr]     Checking crossbeam-channel v0.5.8
[INFO] [stderr]     Checking weezl v0.1.7
[INFO] [stderr]     Checking futures-sink v0.3.28
[INFO] [stderr]     Checking fdeflate v0.3.0
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking crossbeam-deque v0.8.3
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking half v2.2.1
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking bytemuck v1.13.1
[INFO] [stderr]     Checking smallvec v1.10.0
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]    Compiling syn v2.0.18
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking regex-syntax v0.6.18
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking gif v0.12.0
[INFO] [stderr]     Checking console v0.15.7
[INFO] [stderr]     Checking png v0.17.9
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]     Checking rayon v1.7.0
[INFO] [stderr]     Checking regex v1.3.9
[INFO] [stderr]     Checking indicatif v0.16.2
[INFO] [stderr]     Checking jpeg-decoder v0.3.0
[INFO] [stderr]     Checking tiff v0.8.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.0
[INFO] [stderr]     Checking pin-project v1.1.0
[INFO] [stderr]     Checking flume v0.10.14
[INFO] [stderr]     Checking exr v1.6.4
[INFO] [stderr]     Checking image v0.24.6
[INFO] [stderr]     Checking raytracer v0.1.0 (/opt/rustwide/workdir/raytracer)
[INFO] [stdout] warning: unused variable: `o`
[INFO] [stdout]   --> raytracer/src/hittable.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn pdf_value(&self, o: &Point3, v: &Vec3) -> f64 {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_o`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> raytracer/src/hittable.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn pdf_value(&self, o: &Point3, v: &Vec3) -> f64 {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `o`
[INFO] [stdout]   --> raytracer/src/hittable.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn random(&self, o: &Vec3) -> Vec3 {
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_o`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `o`
[INFO] [stdout]   --> raytracer/src/hittable.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn pdf_value(&self, o: &Point3, v: &Vec3) -> f64 {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_o`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> raytracer/src/hittable.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn pdf_value(&self, o: &Point3, v: &Vec3) -> f64 {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `o`
[INFO] [stdout]   --> raytracer/src/hittable.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn random(&self, o: &Vec3) -> Vec3 {
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_o`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> raytracer/src/material.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Color)> {
[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]   --> raytracer/src/material.rs:10:35
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Color)> {
[INFO] [stdout]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pdf`
[INFO] [stdout]   --> raytracer/src/material.rs:10:52
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Color)> {
[INFO] [stdout]    |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> raytracer/src/material.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 |     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]   --> raytracer/src/material.rs:13:42
[INFO] [stdout]    |
[INFO] [stdout] 13 |     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]   --> raytracer/src/material.rs:13:59
[INFO] [stdout]    |
[INFO] [stdout] 13 |     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]   --> raytracer/src/material.rs:53:30
[INFO] [stdout]    |
[INFO] [stdout] 53 |     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: `pdf`
[INFO] [stdout]   --> raytracer/src/material.rs:76:52
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Vec3)> {
[INFO] [stdout]    |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pdf`
[INFO] [stdout]    --> raytracer/src/material.rs:106:52
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Vec3)> {
[INFO] [stdout]     |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pdf`
[INFO] [stdout]    --> raytracer/src/material.rs:169:52
[INFO] [stdout]     |
[INFO] [stdout] 169 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Vec3)> {
[INFO] [stdout]     |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> raytracer/src/material.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Color)> {
[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]   --> raytracer/src/material.rs:10:35
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Color)> {
[INFO] [stdout]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pdf`
[INFO] [stdout]   --> raytracer/src/material.rs:10:52
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Color)> {
[INFO] [stdout]    |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]   --> raytracer/src/material.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 |     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]   --> raytracer/src/material.rs:13:42
[INFO] [stdout]    |
[INFO] [stdout] 13 |     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]   --> raytracer/src/material.rs:13:59
[INFO] [stdout]    |
[INFO] [stdout] 13 |     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]   --> raytracer/src/material.rs:53:30
[INFO] [stdout]    |
[INFO] [stdout] 53 |     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: `pdf`
[INFO] [stdout]   --> raytracer/src/material.rs:76:52
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Vec3)> {
[INFO] [stdout]    |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pdf`
[INFO] [stdout]    --> raytracer/src/material.rs:106:52
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Vec3)> {
[INFO] [stdout]     |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pdf`
[INFO] [stdout]    --> raytracer/src/material.rs:169:52
[INFO] [stdout]     |
[INFO] [stdout] 169 |     fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Vec3)> {
[INFO] [stdout]     |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `scattered` is never read
[INFO] [stdout]   --> raytracer/src/main.rs:68:22
[INFO] [stdout]    |
[INFO] [stdout] 68 |         if let Some((mut scattered, attenuation)) = rec.material.scatter(&r, &rec, &mut pdf) {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `scattered` is never read
[INFO] [stdout]   --> raytracer/src/main.rs:68:22
[INFO] [stdout]    |
[INFO] [stdout] 68 |         if let Some((mut scattered, attenuation)) = rec.material.scatter(&r, &rec, &mut pdf) {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `local` is never used
[INFO] [stdout]   --> raytracer/src/onb.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Onb {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn local(&self, a: f64, b: f64, c: f64) -> 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: function `random_in_hemisphere` is never used
[INFO] [stdout]   --> raytracer/src/vec3.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn random_in_hemisphere(normal: Vec3) -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_unit_vector` is never used
[INFO] [stdout]   --> raytracer/src/vec3.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn random_unit_vector() -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/aarect.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 30 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/aarect.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 78 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> raytracer/src/aarect.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 140 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/box.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 74 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/bvh.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 46 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> raytracer/src/hittable.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 8 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>>;
[INFO] [stdout]   |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/hittable.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 66 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> raytracer/src/hittable.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 141 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 141 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> raytracer/src/hittable.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 183 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/hittable_list.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/medium.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 33 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/sphere.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `local` is never used
[INFO] [stdout]   --> raytracer/src/onb.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Onb {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn local(&self, a: f64, b: f64, c: f64) -> 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: function `random_in_hemisphere` is never used
[INFO] [stdout]   --> raytracer/src/vec3.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn random_in_hemisphere(normal: Vec3) -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_unit_vector` is never used
[INFO] [stdout]   --> raytracer/src/vec3.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn random_unit_vector() -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/sphere.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 98 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/aarect.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 30 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/aarect.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 78 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> raytracer/src/aarect.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 140 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/box.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 74 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/bvh.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 46 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> raytracer/src/hittable.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 8 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>>;
[INFO] [stdout]   |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/hittable.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 66 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> raytracer/src/hittable.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 141 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 141 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> raytracer/src/hittable.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 183 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/hittable_list.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/medium.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 33 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/sphere.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/sphere.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> 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] 98 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.63s
[INFO] running `Command { std: "docker" "inspect" "f606121e4f3055e54f15443cb399444470afd2481ac7e6619525be7b1765626b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f606121e4f3055e54f15443cb399444470afd2481ac7e6619525be7b1765626b", kill_on_drop: false }`
[INFO] [stdout] f606121e4f3055e54f15443cb399444470afd2481ac7e6619525be7b1765626b
