[INFO] cloning repository https://github.com/cjyyiii/Ray_tracing
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cjyyiii/Ray_tracing" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcjyyiii%2FRay_tracing", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcjyyiii%2FRay_tracing'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 70fda3ced6856f3d728a37ae2041b1e89dd5ad06
[INFO] testing cjyyiii/Ray_tracing against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcjyyiii%2FRay_tracing" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/cjyyiii/Ray_tracing
[INFO] finished tweaking git repo https://github.com/cjyyiii/Ray_tracing
[INFO] tweaked toml for git repo https://github.com/cjyyiii/Ray_tracing written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cjyyiii/Ray_tracing on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cjyyiii/Ray_tracing 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" "+1.99.0-beta.8" "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 weezl v0.1.7
[INFO] [stderr]   Downloaded memoffset v0.9.0
[INFO] [stderr]   Downloaded simd-adler32 v0.3.5
[INFO] [stderr]   Downloaded either v1.5.3
[INFO] [stderr]   Downloaded fdeflate v0.3.0
[INFO] [stderr]   Downloaded pin-project-internal v1.1.0
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.15
[INFO] [stderr]   Downloaded half v2.2.1
[INFO] [stderr]   Downloaded crc32fast v1.2.0
[INFO] [stderr]   Downloaded pin-project v1.1.0
[INFO] [stderr]   Downloaded png v0.17.9
[INFO] [stderr]   Downloaded exr v1.6.4
[INFO] [stderr]   Downloaded image v0.24.6
[INFO] [stderr]   Downloaded jpeg-decoder v0.3.0
[INFO] [stderr]   Downloaded libc v0.2.146
[INFO] [stderr]   Downloaded tiff v0.8.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 440923e8141cd4051d0af71ae6f16d730a60240a6d22a6008d6833ae6530edfc
[INFO] running `Command { std: "docker" "start" "440923e8141cd4051d0af71ae6f16d730a60240a6d22a6008d6833ae6530edfc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "440923e8141cd4051d0af71ae6f16d730a60240a6d22a6008d6833ae6530edfc", 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" "440923e8141cd4051d0af71ae6f16d730a60240a6d22a6008d6833ae6530edfc" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "440923e8141cd4051d0af71ae6f16d730a60240a6d22a6008d6833ae6530edfc", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "440923e8141cd4051d0af71ae6f16d730a60240a6d22a6008d6833ae6530edfc" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", 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 autocfg v1.0.0
[INFO] [stderr]    Compiling libc v0.2.146
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling simd-adler32 v0.3.5
[INFO] [stderr]    Compiling unicode-ident v1.0.9
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling either v1.5.3
[INFO] [stderr]    Compiling lock_api v0.4.6
[INFO] [stderr]    Compiling futures-sink v0.3.28
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling weezl v0.1.7
[INFO] [stderr]    Compiling bit_field v0.10.2
[INFO] [stderr]    Compiling bytemuck v1.13.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.60
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling lebe v0.5.2
[INFO] [stderr]    Compiling regex-syntax v0.6.18
[INFO] [stderr]    Compiling miniz_oxide v0.7.1
[INFO] [stderr]    Compiling zune-inflate v0.2.54
[INFO] [stderr]    Compiling fdeflate v0.3.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling half v2.2.1
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling gif v0.12.0
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]    Compiling quote v1.0.28
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling syn v2.0.18
[INFO] [stderr]    Compiling flate2 v1.0.26
[INFO] [stderr]    Compiling crossbeam-channel v0.5.8
[INFO] [stderr]    Compiling crossbeam-deque v0.8.3
[INFO] [stderr]    Compiling getrandom v0.2.10
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling console v0.15.7
[INFO] [stderr]    Compiling png v0.17.9
[INFO] [stderr]    Compiling nanorand v0.7.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rayon v1.7.0
[INFO] [stderr]    Compiling regex v1.3.9
[INFO] [stderr]    Compiling indicatif v0.16.2
[INFO] [stderr]    Compiling jpeg-decoder v0.3.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.0
[INFO] [stderr]    Compiling tiff v0.8.1
[INFO] [stderr]    Compiling pin-project v1.1.0
[INFO] [stderr]    Compiling flume v0.10.14
[INFO] [stderr]    Compiling exr v1.6.4
[INFO] [stderr]    Compiling image v0.24.6
[INFO] [stderr]    Compiling raytracer v0.1.0 (/opt/rustwide/workdir/raytracer)
[INFO] [stdout] warning: unused import: `std::path::*`
[INFO] [stdout]  --> raytracer/src/texture.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use std::path::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]   --> raytracer/src/constant_medium.rs:46:64
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if let Some(mut hit_rec1) = self.boundary.hit(r, -f64::INFINITY, f64::INFINITY) {
[INFO] [stdout]    |                                                                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]   --> raytracer/src/constant_medium.rs:46:79
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if let Some(mut hit_rec1) = self.boundary.hit(r, -f64::INFINITY, f64::INFINITY) {
[INFO] [stdout]    |                                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]   --> raytracer/src/constant_medium.rs:47:88
[INFO] [stdout]    |
[INFO] [stdout] 47 |             if let Some(mut hit_rec2) = self.boundary.hit(r, hit_rec1.t + 0.0001, f64::INFINITY) {
[INFO] [stdout]    |                                                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]    --> raytracer/src/hittable.rs:123:49
[INFO] [stdout]     |
[INFO] [stdout] 123 |             let mut min = Point3::new(std::f64::INFINITY, std::f64::INFINITY, std::f64::INFINITY);
[INFO] [stdout]     |                                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]    --> raytracer/src/hittable.rs:123:69
[INFO] [stdout]     |
[INFO] [stdout] 123 |             let mut min = Point3::new(std::f64::INFINITY, std::f64::INFINITY, std::f64::INFINITY);
[INFO] [stdout]     |                                                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]    --> raytracer/src/hittable.rs:123:89
[INFO] [stdout]     |
[INFO] [stdout] 123 |             let mut min = Point3::new(std::f64::INFINITY, std::f64::INFINITY, std::f64::INFINITY);
[INFO] [stdout]     |                                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]    --> raytracer/src/hittable.rs:125:28
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 -std::f64::INFINITY,
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]    --> raytracer/src/hittable.rs:126:28
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 -std::f64::INFINITY,
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]    --> raytracer/src/hittable.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 -std::f64::INFINITY,
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hasbox` is never read
[INFO] [stdout]    --> raytracer/src/hittable.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct RotateY {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub hasbox: bool,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bytes_per_scanline` is never read
[INFO] [stdout]    --> raytracer/src/texture.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct ImageTexture {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub bytes_per_scanline: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/aarect.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |     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] 40 |     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:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     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] 103 |     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:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 |     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] 166 |     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/bbox.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn hit(&self, r: &crate::Ray, t_min: f64, t_max: f64) -> Option<crate::hittable::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] 87 |     fn hit(&self, r: &crate::Ray, t_min: f64, t_max: f64) -> Option<crate::hittable::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:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     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] 59 |     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/constant_medium.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn hit(&self, r: &crate::Ray, t_min: f64, t_max: f64) -> Option<crate::hittable::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] 44 |     fn hit(&self, r: &crate::Ray, t_min: f64, t_max: f64) -> Option<crate::hittable::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:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |     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] 58 |     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:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |     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] 90 |     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:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 |     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] 176 |     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: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:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     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] 35 |     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:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 |     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] 101 |     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 36.62s
[INFO] running `Command { std: "docker" "inspect" "440923e8141cd4051d0af71ae6f16d730a60240a6d22a6008d6833ae6530edfc", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "440923e8141cd4051d0af71ae6f16d730a60240a6d22a6008d6833ae6530edfc" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", 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 raytracer v0.1.0 (/opt/rustwide/workdir/raytracer)
[INFO] [stdout] warning: unused import: `std::path::*`
[INFO] [stdout]  --> raytracer/src/texture.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use std::path::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]   --> raytracer/src/constant_medium.rs:46:64
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if let Some(mut hit_rec1) = self.boundary.hit(r, -f64::INFINITY, f64::INFINITY) {
[INFO] [stdout]    |                                                                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]   --> raytracer/src/constant_medium.rs:46:79
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if let Some(mut hit_rec1) = self.boundary.hit(r, -f64::INFINITY, f64::INFINITY) {
[INFO] [stdout]    |                                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]   --> raytracer/src/constant_medium.rs:47:88
[INFO] [stdout]    |
[INFO] [stdout] 47 |             if let Some(mut hit_rec2) = self.boundary.hit(r, hit_rec1.t + 0.0001, f64::INFINITY) {
[INFO] [stdout]    |                                                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]    --> raytracer/src/hittable.rs:123:49
[INFO] [stdout]     |
[INFO] [stdout] 123 |             let mut min = Point3::new(std::f64::INFINITY, std::f64::INFINITY, std::f64::INFINITY);
[INFO] [stdout]     |                                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]    --> raytracer/src/hittable.rs:123:69
[INFO] [stdout]     |
[INFO] [stdout] 123 |             let mut min = Point3::new(std::f64::INFINITY, std::f64::INFINITY, std::f64::INFINITY);
[INFO] [stdout]     |                                                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]    --> raytracer/src/hittable.rs:123:89
[INFO] [stdout]     |
[INFO] [stdout] 123 |             let mut min = Point3::new(std::f64::INFINITY, std::f64::INFINITY, std::f64::INFINITY);
[INFO] [stdout]     |                                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]    --> raytracer/src/hittable.rs:125:28
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 -std::f64::INFINITY,
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]    --> raytracer/src/hittable.rs:126:28
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 -std::f64::INFINITY,
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stdout]    --> raytracer/src/hittable.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 -std::f64::INFINITY,
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hasbox` is never read
[INFO] [stdout]    --> raytracer/src/hittable.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct RotateY {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub hasbox: bool,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bytes_per_scanline` is never read
[INFO] [stdout]    --> raytracer/src/texture.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct ImageTexture {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub bytes_per_scanline: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> raytracer/src/aarect.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |     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] 40 |     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:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     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] 103 |     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:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 |     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] 166 |     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/bbox.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn hit(&self, r: &crate::Ray, t_min: f64, t_max: f64) -> Option<crate::hittable::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] 87 |     fn hit(&self, r: &crate::Ray, t_min: f64, t_max: f64) -> Option<crate::hittable::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:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     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] 59 |     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/constant_medium.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn hit(&self, r: &crate::Ray, t_min: f64, t_max: f64) -> Option<crate::hittable::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] 44 |     fn hit(&self, r: &crate::Ray, t_min: f64, t_max: f64) -> Option<crate::hittable::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:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |     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] 58 |     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:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |     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] 90 |     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:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 |     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] 176 |     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: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:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     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] 35 |     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:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 |     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] 101 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stdout]     |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.61s
[INFO] running `Command { std: "docker" "inspect" "440923e8141cd4051d0af71ae6f16d730a60240a6d22a6008d6833ae6530edfc", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "440923e8141cd4051d0af71ae6f16d730a60240a6d22a6008d6833ae6530edfc" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", 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] warning: unused import: `std::path::*`
[INFO] [stderr]  --> raytracer/src/texture.rs:2:9
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub use std::path::*;
[INFO] [stderr]   |         ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stderr]   --> raytracer/src/constant_medium.rs:46:64
[INFO] [stderr]    |
[INFO] [stderr] 46 |         if let Some(mut hit_rec1) = self.boundary.hit(r, -f64::INFINITY, f64::INFINITY) {
[INFO] [stderr]    |                                                                ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stderr]   --> raytracer/src/constant_medium.rs:46:79
[INFO] [stderr]    |
[INFO] [stderr] 46 |         if let Some(mut hit_rec1) = self.boundary.hit(r, -f64::INFINITY, f64::INFINITY) {
[INFO] [stderr]    |                                                                               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stderr]   --> raytracer/src/constant_medium.rs:47:88
[INFO] [stderr]    |
[INFO] [stderr] 47 |             if let Some(mut hit_rec2) = self.boundary.hit(r, hit_rec1.t + 0.0001, f64::INFINITY) {
[INFO] [stderr]    |                                                                                        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stderr]    --> raytracer/src/hittable.rs:123:49
[INFO] [stderr]     |
[INFO] [stderr] 123 |             let mut min = Point3::new(std::f64::INFINITY, std::f64::INFINITY, std::f64::INFINITY);
[INFO] [stderr]     |                                                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stderr]    --> raytracer/src/hittable.rs:123:69
[INFO] [stderr]     |
[INFO] [stderr] 123 |             let mut min = Point3::new(std::f64::INFINITY, std::f64::INFINITY, std::f64::INFINITY);
[INFO] [stderr]     |                                                                     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stderr]    --> raytracer/src/hittable.rs:123:89
[INFO] [stderr]     |
[INFO] [stderr] 123 |             let mut min = Point3::new(std::f64::INFINITY, std::f64::INFINITY, std::f64::INFINITY);
[INFO] [stderr]     |                                                                                         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stderr]    --> raytracer/src/hittable.rs:125:28
[INFO] [stderr]     |
[INFO] [stderr] 125 |                 -std::f64::INFINITY,
[INFO] [stderr]     |                            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stderr]    --> raytracer/src/hittable.rs:126:28
[INFO] [stderr]     |
[INFO] [stderr] 126 |                 -std::f64::INFINITY,
[INFO] [stderr]     |                            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::INFINITY`: replaced by the `INFINITY` associated constant on `f64`
[INFO] [stderr]    --> raytracer/src/hittable.rs:127:28
[INFO] [stderr]     |
[INFO] [stderr] 127 |                 -std::f64::INFINITY,
[INFO] [stderr]     |                            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `hasbox` is never read
[INFO] [stderr]    --> raytracer/src/hittable.rs:113:9
[INFO] [stderr]     |
[INFO] [stderr] 109 | pub struct RotateY {
[INFO] [stderr]     |            ------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 113 |     pub hasbox: bool,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `bytes_per_scanline` is never read
[INFO] [stderr]    --> raytracer/src/texture.rs:102:9
[INFO] [stderr]     |
[INFO] [stderr]  98 | pub struct ImageTexture {
[INFO] [stderr]     |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 102 |     pub bytes_per_scanline: usize,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> raytracer/src/aarect.rs:40:12
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord> {
[INFO] [stderr]    |            ^^^^^ the lifetime is elided here                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stderr]    |                                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> raytracer/src/aarect.rs:103:12
[INFO] [stderr]     |
[INFO] [stderr] 103 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord> {
[INFO] [stderr]     |            ^^^^^ the lifetime is elided here                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 103 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stderr]     |                                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> raytracer/src/aarect.rs:166:12
[INFO] [stderr]     |
[INFO] [stderr] 166 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord> {
[INFO] [stderr]     |            ^^^^^ the lifetime is elided here                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 166 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stderr]     |                                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> raytracer/src/bbox.rs:87:12
[INFO] [stderr]    |
[INFO] [stderr] 87 |     fn hit(&self, r: &crate::Ray, t_min: f64, t_max: f64) -> Option<crate::hittable::HitRecord> {
[INFO] [stderr]    |            ^^^^^ the lifetime is elided here                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 87 |     fn hit(&self, r: &crate::Ray, t_min: f64, t_max: f64) -> Option<crate::hittable::HitRecord<'_>> {
[INFO] [stderr]    |                                                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> raytracer/src/bvh.rs:59:12
[INFO] [stderr]    |
[INFO] [stderr] 59 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord> {
[INFO] [stderr]    |            ^^^^^ the lifetime is elided here                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 59 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stderr]    |                                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> raytracer/src/constant_medium.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 |     fn hit(&self, r: &crate::Ray, t_min: f64, t_max: f64) -> Option<crate::hittable::HitRecord> {
[INFO] [stderr]    |            ^^^^^ the lifetime is elided here                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 44 |     fn hit(&self, r: &crate::Ray, t_min: f64, t_max: f64) -> Option<crate::hittable::HitRecord<'_>> {
[INFO] [stderr]    |                                                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> raytracer/src/hittable.rs:58:12
[INFO] [stderr]    |
[INFO] [stderr] 58 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord>;
[INFO] [stderr]    |            ^^^^^ the lifetime is elided here                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 58 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>>;
[INFO] [stderr]    |                                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> raytracer/src/hittable.rs:90:12
[INFO] [stderr]    |
[INFO] [stderr] 90 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord> {
[INFO] [stderr]    |            ^^^^^ the lifetime is elided here                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 90 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stderr]    |                                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> raytracer/src/hittable.rs:176:12
[INFO] [stderr]     |
[INFO] [stderr] 176 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord> {
[INFO] [stderr]     |            ^^^^^ the lifetime is elided here                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 176 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stderr]     |                                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> raytracer/src/hittable_list.rs:33:12
[INFO] [stderr]    |
[INFO] [stderr] 33 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord> {
[INFO] [stderr]    |            ^^^^^ the lifetime is elided here                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 33 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stderr]    |                                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> raytracer/src/sphere.rs:35:12
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord> {
[INFO] [stderr]    |            ^^^^^ the lifetime is elided here                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stderr]    |                                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> raytracer/src/sphere.rs:101:12
[INFO] [stderr]     |
[INFO] [stderr] 101 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord> {
[INFO] [stderr]     |            ^^^^^ the lifetime is elided here                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 101 |     fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<HitRecord<'_>> {
[INFO] [stderr]     |                                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `raytracer` (bin "raytracer" test) generated 24 warnings (run `cargo fix --bin "raytracer" -p raytracer --tests` to apply 13 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/raytracer-8a34e4f399766519)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test vec3::tests::test_new ... ok
[INFO] [stdout] test vec3::tests::test_add ... ok
[INFO] [stdout] test vec3::tests::test_squared_length ... ok
[INFO] [stdout] test vec3::tests::test_add_f64 ... ok
[INFO] [stdout] test vec3::tests::test_add_assign ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "440923e8141cd4051d0af71ae6f16d730a60240a6d22a6008d6833ae6530edfc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "440923e8141cd4051d0af71ae6f16d730a60240a6d22a6008d6833ae6530edfc", kill_on_drop: false }`
[INFO] [stdout] 440923e8141cd4051d0af71ae6f16d730a60240a6d22a6008d6833ae6530edfc
