[INFO] cloning repository https://github.com/miguelggcc/raytracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/miguelggcc/raytracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmiguelggcc%2Fraytracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmiguelggcc%2Fraytracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 07b1a1e567e354fd5642626f441a5cdaafd19b16
[INFO] checking miguelggcc/raytracer against master#f2c70877a7dbc51cd98e2d5d25209b24d4a586d5 for pr-150097
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmiguelggcc%2Fraytracer" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:   1% (10/594)
Updating files:   2% (12/594)
Updating files:   3% (18/594)
Updating files:   4% (24/594)
Updating files:   5% (30/594)
Updating files:   6% (36/594)
Updating files:   7% (42/594)
Updating files:   8% (48/594)
Updating files:   9% (54/594)
Updating files:  10% (60/594)
Updating files:  11% (66/594)
Updating files:  12% (72/594)
Updating files:  13% (78/594)
Updating files:  14% (84/594)
Updating files:  15% (90/594)
Updating files:  16% (96/594)
Updating files:  17% (101/594)
Updating files:  18% (107/594)
Updating files:  19% (113/594)
Updating files:  20% (119/594)
Updating files:  21% (125/594)
Updating files:  22% (131/594)
Updating files:  23% (137/594)
Updating files:  24% (143/594)
Updating files:  25% (149/594)
Updating files:  26% (155/594)
Updating files:  27% (161/594)
Updating files:  28% (167/594)
Updating files:  29% (173/594)
Updating files:  30% (179/594)
Updating files:  31% (185/594)
Updating files:  32% (191/594)
Updating files:  33% (197/594)
Updating files:  34% (202/594)
Updating files:  35% (208/594)
Updating files:  36% (214/594)
Updating files:  37% (220/594)
Updating files:  38% (226/594)
Updating files:  39% (232/594)
Updating files:  40% (238/594)
Updating files:  41% (244/594)
Updating files:  42% (250/594)
Updating files:  43% (256/594)
Updating files:  44% (262/594)
Updating files:  45% (268/594)
Updating files:  46% (274/594)
Updating files:  47% (280/594)
Updating files:  48% (286/594)
Updating files:  49% (292/594)
Updating files:  50% (297/594)
Updating files:  51% (303/594)
Updating files:  52% (309/594)
Updating files:  53% (315/594)
Updating files:  54% (321/594)
Updating files:  55% (327/594)
Updating files:  56% (333/594)
Updating files:  57% (339/594)
Updating files:  58% (345/594)
Updating files:  59% (351/594)
Updating files:  60% (357/594)
Updating files:  61% (363/594)
Updating files:  62% (369/594)
Updating files:  63% (375/594)
Updating files:  64% (381/594)
Updating files:  65% (387/594)
Updating files:  66% (393/594)
Updating files:  67% (398/594)
Updating files:  68% (404/594)
Updating files:  69% (410/594)
Updating files:  70% (416/594)
Updating files:  71% (422/594)
Updating files:  72% (428/594)
Updating files:  73% (434/594)
Updating files:  74% (440/594)
Updating files:  75% (446/594)
Updating files:  76% (452/594)
Updating files:  77% (458/594)
Updating files:  78% (464/594)
Updating files:  79% (470/594)
Updating files:  80% (476/594)
Updating files:  81% (482/594)
Updating files:  82% (488/594)
Updating files:  83% (494/594)
Updating files:  84% (499/594)
Updating files:  85% (505/594)
Updating files:  86% (511/594)
Updating files:  87% (517/594)
Updating files:  88% (523/594)
Updating files:  89% (529/594)
Updating files:  90% (535/594)
Updating files:  91% (541/594)
Updating files:  92% (547/594)
Updating files:  93% (553/594)
Updating files:  94% (559/594)
Updating files:  95% (565/594)
Updating files:  96% (571/594)
Updating files:  97% (577/594)
Updating files:  98% (583/594)
Updating files:  99% (589/594)
Updating files: 100% (594/594)
Updating files: 100% (594/594), done.
[INFO] started tweaking git repo https://github.com/miguelggcc/raytracer
[INFO] finished tweaking git repo https://github.com/miguelggcc/raytracer
[INFO] tweaked toml for git repo https://github.com/miguelggcc/raytracer written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/miguelggcc/raytracer on toolchain f2c70877a7dbc51cd98e2d5d25209b24d4a586d5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/miguelggcc/raytracer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thiserror-impl v1.0.62
[INFO] [stderr]   Downloaded thiserror v1.0.62
[INFO] [stderr]   Downloaded inplace_it v0.3.5
[INFO] [stderr]   Downloaded show-image-macros v0.12.3
[INFO] [stderr]   Downloaded show-image v0.12.3
[INFO] [stderr]   Downloaded tinyfiledialogs v3.9.1
[INFO] [stderr]   Downloaded textwrap v0.16.1
[INFO] [stderr]   Downloaded cc v1.1.1
[INFO] [stderr]   Downloaded wgpu v0.12.0
[INFO] [stderr]   Downloaded wgpu-hal v0.12.5
[INFO] [stderr]   Downloaded syn v2.0.70
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 16876e02e558bab734bc7db4c62320ed50473d40862d0b6095bbed6b8de23f56
[INFO] running `Command { std: "docker" "start" "-a" "16876e02e558bab734bc7db4c62320ed50473d40862d0b6095bbed6b8de23f56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "16876e02e558bab734bc7db4c62320ed50473d40862d0b6095bbed6b8de23f56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "16876e02e558bab734bc7db4c62320ed50473d40862d0b6095bbed6b8de23f56", kill_on_drop: false }`
[INFO] [stdout] 16876e02e558bab734bc7db4c62320ed50473d40862d0b6095bbed6b8de23f56
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 044fb51b054f7d792c4995df10f3044ef8c7f676c63e327f5b4b7ddf8feca50a
[INFO] running `Command { std: "docker" "start" "-a" "044fb51b054f7d792c4995df10f3044ef8c7f676c63e327f5b4b7ddf8feca50a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling xml-rs v0.8.20
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking libloading v0.8.4
[INFO] [stderr]     Checking allocator-api2 v0.2.18
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]    Compiling thiserror v1.0.62
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking miniz_oxide v0.7.4
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]    Compiling ash v0.34.0+1.2.203
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking scoped-tls v1.0.1
[INFO] [stderr]     Checking unicode-width v0.1.13
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.2
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]     Checking spirv v0.2.0+1.5.4
[INFO] [stderr]     Checking gpu-alloc-types v0.2.0
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]    Compiling wgpu-core v0.12.2
[INFO] [stderr]     Checking gpu-alloc v0.5.4
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking flate2 v1.0.30
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking wgpu-types v0.12.0
[INFO] [stderr]     Checking inplace_it v0.3.5
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling syn v2.0.70
[INFO] [stderr]    Compiling smithay-client-toolkit v0.15.4
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking glow v0.11.2
[INFO] [stderr]     Checking profiling v1.0.15
[INFO] [stderr]     Checking renderdoc-sys v0.7.1
[INFO] [stderr]    Compiling cc v1.1.1
[INFO] [stderr]     Checking xcursor v0.3.5
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking regex-syntax v0.8.4
[INFO] [stderr]     Checking copyless v0.1.5
[INFO] [stderr]    Compiling winit v0.26.1
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling show-image v0.12.3
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking bytemuck v1.16.1
[INFO] [stderr]     Checking os_str_bytes v6.6.1
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking nix v0.22.3
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking memmap2 v0.3.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]     Checking regex-automata v0.4.7
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling tinyfiledialogs v3.9.1
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]     Checking gpu-descriptor v0.2.4
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking console v0.15.8
[INFO] [stderr]    Compiling thiserror-impl v1.0.62
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking textwrap v0.16.1
[INFO] [stderr]     Checking glam v0.20.5
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking clap v3.2.25
[INFO] [stderr]     Checking tobj v4.0.2
[INFO] [stderr]     Checking regex v1.10.5
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking indicatif v0.16.2
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]    Compiling show-image-macros v0.12.3
[INFO] [stderr]     Checking calloop v0.9.3
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking naga v0.8.5
[INFO] [stderr]     Checking wgpu-hal v0.12.5
[INFO] [stderr]     Checking wgpu v0.12.0
[INFO] [stderr]     Checking raytracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `path::Path` and `sync::Arc`
[INFO] [stdout]  --> src/scenes.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{path::Path, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WindowOptions` and `event`
[INFO] [stdout]   --> src/main.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | use show_image::{event, ImageInfo, ImageView, WindowOptions};
[INFO] [stdout]    |                  ^^^^^                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `path::Path` and `sync::Arc`
[INFO] [stdout]  --> src/scenes.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{path::Path, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WindowOptions` and `event`
[INFO] [stdout]   --> src/main.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | use show_image::{event, ImageInfo, ImageView, WindowOptions};
[INFO] [stdout]    |                  ^^^^^                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tex_wood`
[INFO] [stdout]    --> src/scenes.rs:410:21
[INFO] [stdout]     |
[INFO] [stdout] 410 |                 let tex_wood = Texture::load_texture("textures/wood.jpg");
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tex_wood`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tex_wood`
[INFO] [stdout]    --> src/scenes.rs:410:21
[INFO] [stdout]     |
[INFO] [stdout] 410 |                 let tex_wood = Texture::load_texture("textures/wood.jpg");
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tex_wood`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image`
[INFO] [stdout]    --> src/main.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let image = if do_denoising {
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `image_v`, `width`, and `height` are never read
[INFO] [stdout]    --> src/background.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct EnviromentalMap {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 141 |     pub image_v: Arc<Vec<Rgb<f32>>>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 142 |     pub width: f32,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 143 |     pub height: f32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnviromentalMap` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `viewport_height`, `viewport_width`, and `w` are never read
[INFO] [stdout]   --> src/camera.rs:7:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Camera {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout]  6 |     pub origin: Vector3<f32>,
[INFO] [stdout]  7 |     pub viewport_height: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]  8 |     pub viewport_width: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub w: Vector3<f32>,
[INFO] [stdout]    |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pdf` is never read
[INFO] [stdout]   --> src/pdf.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |     PDFSphere { pdf: PDFSphere },
[INFO] [stdout]    |     ---------   ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/constant_medium.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::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] 26 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::HitRecord<'_>> {
[INFO] [stdout]    |                                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/material.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 78 |     ) -> Option<ScatterRecord> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ 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 |     ) -> Option<ScatterRecord<'_>> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/object.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn hit(&self, ray: &Ray, t_min: f32, t_max: f32) -> 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] 130 |     fn hit(&self, ray: &Ray, t_min: f32, t_max: f32) -> 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:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::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] 137 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::HitRecord<'_>> {
[INFO] [stdout]     |                                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rectangle.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> 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] 103 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rectangle.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> 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] 187 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rectangle.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 250 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> 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] 250 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/simd_bvh.rs:167:16
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn hit(&self, r: &Ray, t_min: f32, t_max: f32) -> 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] 167 |     pub fn hit(&self, r: &Ray, t_min: f32, t_max: f32) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/simd_bvh.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn _hit(&self, queue: &mut Vec<U32>, r: &Ray, t_min: f32, mut t_max: f32) -> 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] 172 |     fn _hit(&self, queue: &mut Vec<U32>, r: &Ray, t_min: f32, mut t_max: f32) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sphere.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> 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] 68 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/transformations.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::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: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::HitRecord<'_>> {
[INFO] [stdout]    |                                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/transformations.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::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] 89 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::HitRecord<'_>> {
[INFO] [stdout]    |                                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/triangle_mesh.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::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] 75 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::HitRecord<'_>> {
[INFO] [stdout]    |                                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image`
[INFO] [stdout]    --> src/main.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let image = if do_denoising {
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `image_v`, `width`, and `height` are never read
[INFO] [stdout]    --> src/background.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct EnviromentalMap {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 141 |     pub image_v: Arc<Vec<Rgb<f32>>>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 142 |     pub width: f32,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 143 |     pub height: f32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnviromentalMap` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `viewport_height`, `viewport_width`, and `w` are never read
[INFO] [stdout]   --> src/camera.rs:7:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Camera {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout]  6 |     pub origin: Vector3<f32>,
[INFO] [stdout]  7 |     pub viewport_height: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]  8 |     pub viewport_width: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub w: Vector3<f32>,
[INFO] [stdout]    |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pdf` is never read
[INFO] [stdout]   --> src/pdf.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |     PDFSphere { pdf: PDFSphere },
[INFO] [stdout]    |     ---------   ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/constant_medium.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::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] 26 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::HitRecord<'_>> {
[INFO] [stdout]    |                                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/material.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 78 |     ) -> Option<ScatterRecord> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ 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 |     ) -> Option<ScatterRecord<'_>> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/object.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn hit(&self, ray: &Ray, t_min: f32, t_max: f32) -> 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] 130 |     fn hit(&self, ray: &Ray, t_min: f32, t_max: f32) -> 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:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::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] 137 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::HitRecord<'_>> {
[INFO] [stdout]     |                                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rectangle.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> 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] 103 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rectangle.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> 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] 187 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rectangle.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 250 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> 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] 250 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/simd_bvh.rs:167:16
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn hit(&self, r: &Ray, t_min: f32, t_max: f32) -> 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] 167 |     pub fn hit(&self, r: &Ray, t_min: f32, t_max: f32) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/simd_bvh.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn _hit(&self, queue: &mut Vec<U32>, r: &Ray, t_min: f32, mut t_max: f32) -> 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] 172 |     fn _hit(&self, queue: &mut Vec<U32>, r: &Ray, t_min: f32, mut t_max: f32) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sphere.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> 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] 68 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<HitRecord<'_>> {
[INFO] [stdout]    |                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/transformations.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::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: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::HitRecord<'_>> {
[INFO] [stdout]    |                                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/transformations.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::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] 89 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::HitRecord<'_>> {
[INFO] [stdout]    |                                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/triangle_mesh.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::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] 75 |     fn hit(&self, r: &crate::ray::Ray, t_min: f32, t_max: f32) -> Option<crate::ray::HitRecord<'_>> {
[INFO] [stdout]    |                                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.66s
[INFO] running `Command { std: "docker" "inspect" "044fb51b054f7d792c4995df10f3044ef8c7f676c63e327f5b4b7ddf8feca50a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "044fb51b054f7d792c4995df10f3044ef8c7f676c63e327f5b4b7ddf8feca50a", kill_on_drop: false }`
[INFO] [stdout] 044fb51b054f7d792c4995df10f3044ef8c7f676c63e327f5b4b7ddf8feca50a
