[INFO] cloning repository https://github.com/wjchenqing/RayTracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wjchenqing/RayTracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwjchenqing%2FRayTracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwjchenqing%2FRayTracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 638400584e6dde3b125e929136f007a854fc5cc0
[INFO] checking wjchenqing/RayTracer against master#6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd for pr-153721
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwjchenqing%2FRayTracer" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc1/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/wjchenqing/RayTracer
[INFO] finished tweaking git repo https://github.com/wjchenqing/RayTracer
[INFO] tweaked toml for git repo https://github.com/wjchenqing/RayTracer written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wjchenqing/RayTracer on toolchain 6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/wjchenqing/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" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded termios v0.3.2
[INFO] [stderr]   Downloaded console v0.11.3
[INFO] [stderr]   Downloaded number_prefix v0.3.0
[INFO] [stderr]   Downloaded indicatif v0.15.0
[INFO] [stderr]   Downloaded terminal_size v0.1.13
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c88bb3a996c08562daecc0568057ef56e355957c2c927fc593336fd3f1572929
[INFO] running `Command { std: "docker" "start" "c88bb3a996c08562daecc0568057ef56e355957c2c927fc593336fd3f1572929", 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" "c88bb3a996c08562daecc0568057ef56e355957c2c927fc593336fd3f1572929" "/opt/rustwide/cargo-home/bin/cargo" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c88bb3a996c08562daecc0568057ef56e355957c2c927fc593336fd3f1572929", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c88bb3a996c08562daecc0568057ef56e355957c2c927fc593336fd3f1572929" "/opt/rustwide/cargo-home/bin/cargo" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling libc v0.2.74
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling rayon-core v1.7.1
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]     Checking regex-syntax v0.6.18
[INFO] [stderr]     Checking either v1.5.3
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking bytemuck v1.3.1
[INFO] [stderr]     Checking number_prefix v0.3.0
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]    Compiling rayon v1.3.1
[INFO] [stderr]    Compiling num-rational v0.3.0
[INFO] [stderr]    Compiling num-iter v0.1.41
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking termios v0.3.2
[INFO] [stderr]     Checking terminal_size v0.1.13
[INFO] [stderr]     Checking png v0.16.7
[INFO] [stderr]     Checking tiff v0.5.0
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking crossbeam-queue v0.2.3
[INFO] [stderr]     Checking regex v1.3.9
[INFO] [stderr]     Checking crossbeam-deque v0.7.3
[INFO] [stderr]     Checking console v0.11.3
[INFO] [stderr]     Checking indicatif v0.15.0
[INFO] [stderr]     Checking jpeg-decoder v0.1.20
[INFO] [stderr]     Checking image v0.23.8
[INFO] [stderr]     Checking raytracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/bvh.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use rand::Rng;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::INFINITY`
[INFO] [stdout]   --> src/bvh.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use std::f64::INFINITY;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec3::*`
[INFO] [stdout]  --> src/hittable.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use crate::vec3::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pdf::*`
[INFO] [stdout]  --> src/material.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::pdf::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::randomtool::*`
[INFO] [stdout]  --> src/material.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use crate::randomtool::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ray::*`
[INFO] [stdout]  --> src/material.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use crate::ray::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::texture::*`
[INFO] [stdout]  --> src/material.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use crate::texture::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec3::*`
[INFO] [stdout]  --> src/material.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use crate::vec3::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/material.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use std::cmp::Ordering;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::INFINITY`
[INFO] [stdout]   --> src/material.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use std::f64::INFINITY;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::randomtool::*`
[INFO] [stdout]  --> src/onb.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use crate::randomtool::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ray::*`
[INFO] [stdout]  --> src/onb.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::ray::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::texture::*`
[INFO] [stdout]  --> src/onb.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use crate::texture::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec3::*`
[INFO] [stdout]  --> src/onb.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use crate::vec3::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::random`
[INFO] [stdout]  --> src/onb.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use rand::random;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/onb.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use std::cmp::Ordering;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::consts::PI`
[INFO] [stdout]  --> src/onb.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use std::f64::consts::PI;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::INFINITY`
[INFO] [stdout]  --> src/onb.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use std::f64::INFINITY;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/onb.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use std::sync::Arc;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::randomtool::*`
[INFO] [stdout]  --> src/pdf.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use crate::randomtool::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ray::*`
[INFO] [stdout]  --> src/pdf.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::ray::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::texture::*`
[INFO] [stdout]  --> src/pdf.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use crate::texture::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec3::*`
[INFO] [stdout]  --> src/pdf.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use crate::vec3::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/pdf.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use std::cmp::Ordering;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::INFINITY`
[INFO] [stdout]  --> src/pdf.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use std::f64::INFINITY;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::hittable::*`
[INFO] [stdout]  --> src/scene.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use crate::hittable::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::randomtool::*`
[INFO] [stdout]  --> src/scene.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use crate::randomtool::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ray::Ray`
[INFO] [stdout]  --> src/scene.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use crate::ray::Ray;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::texture::*`
[INFO] [stdout]  --> src/scene.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use crate::texture::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::randomtool::*`
[INFO] [stdout]  --> src/texture.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::randomtool::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ray::*`
[INFO] [stdout]  --> src/texture.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use crate::ray::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec3::*`
[INFO] [stdout]  --> src/texture.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use crate::vec3::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::random`
[INFO] [stdout]  --> src/texture.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use rand::random;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/texture.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use std::cmp::Ordering;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::consts::PI`
[INFO] [stdout]  --> src/texture.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use std::f64::consts::PI;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::INFINITY`
[INFO] [stdout]   --> src/texture.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use std::f64::INFINITY;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hittable::*`
[INFO] [stdout]   --> src/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use hittable::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `material::*`
[INFO] [stdout]   --> src/main.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub use material::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `onb::*`
[INFO] [stdout]   --> src/main.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub use onb::*;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pdf::*`
[INFO] [stdout]   --> src/main.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use pdf::*;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `perlin::*`
[INFO] [stdout]   --> src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub use perlin::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `randomtool::*`
[INFO] [stdout]   --> src/main.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub use randomtool::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `texture::*`
[INFO] [stdout]   --> src/main.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub use texture::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/bvh.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use rand::Rng;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::INFINITY`
[INFO] [stdout]   --> src/bvh.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use std::f64::INFINITY;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec3::*`
[INFO] [stdout]  --> src/hittable.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use crate::vec3::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pdf::*`
[INFO] [stdout]  --> src/material.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::pdf::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::randomtool::*`
[INFO] [stdout]  --> src/material.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use crate::randomtool::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ray::*`
[INFO] [stdout]  --> src/material.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use crate::ray::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::texture::*`
[INFO] [stdout]  --> src/material.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use crate::texture::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec3::*`
[INFO] [stdout]  --> src/material.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use crate::vec3::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/material.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use std::cmp::Ordering;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::INFINITY`
[INFO] [stdout]   --> src/material.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use std::f64::INFINITY;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::randomtool::*`
[INFO] [stdout]  --> src/onb.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use crate::randomtool::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ray::*`
[INFO] [stdout]  --> src/onb.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::ray::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::texture::*`
[INFO] [stdout]  --> src/onb.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use crate::texture::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec3::*`
[INFO] [stdout]  --> src/onb.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use crate::vec3::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::random`
[INFO] [stdout]  --> src/onb.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use rand::random;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/onb.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use std::cmp::Ordering;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::consts::PI`
[INFO] [stdout]  --> src/onb.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use std::f64::consts::PI;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::INFINITY`
[INFO] [stdout]  --> src/onb.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use std::f64::INFINITY;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/onb.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use std::sync::Arc;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::randomtool::*`
[INFO] [stdout]  --> src/pdf.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use crate::randomtool::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ray::*`
[INFO] [stdout]  --> src/pdf.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::ray::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::texture::*`
[INFO] [stdout]  --> src/pdf.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use crate::texture::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec3::*`
[INFO] [stdout]  --> src/pdf.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use crate::vec3::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/pdf.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use std::cmp::Ordering;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::INFINITY`
[INFO] [stdout]  --> src/pdf.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use std::f64::INFINITY;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::hittable::*`
[INFO] [stdout]  --> src/scene.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use crate::hittable::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::randomtool::*`
[INFO] [stdout]  --> src/scene.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use crate::randomtool::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ray::Ray`
[INFO] [stdout]  --> src/scene.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use crate::ray::Ray;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::texture::*`
[INFO] [stdout]  --> src/scene.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use crate::texture::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::randomtool::*`
[INFO] [stdout]  --> src/texture.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::randomtool::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ray::*`
[INFO] [stdout]  --> src/texture.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use crate::ray::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec3::*`
[INFO] [stdout]  --> src/texture.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use crate::vec3::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::random`
[INFO] [stdout]  --> src/texture.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use rand::random;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/texture.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use std::cmp::Ordering;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::consts::PI`
[INFO] [stdout]  --> src/texture.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use std::f64::consts::PI;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::INFINITY`
[INFO] [stdout]   --> src/texture.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use std::f64::INFINITY;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hittable::*`
[INFO] [stdout]   --> src/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use hittable::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `material::*`
[INFO] [stdout]   --> src/main.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub use material::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `onb::*`
[INFO] [stdout]   --> src/main.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub use onb::*;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pdf::*`
[INFO] [stdout]   --> src/main.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use pdf::*;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `perlin::*`
[INFO] [stdout]   --> src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub use perlin::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `randomtool::*`
[INFO] [stdout]   --> src/main.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub use randomtool::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `texture::*`
[INFO] [stdout]   --> src/main.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub use texture::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/bvh.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn hit(&self, ray: &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] 20 |     fn hit(&self, ray: &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]   --> src/hittable.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn hit(&self, ray: &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] 18 |     fn hit(&self, ray: &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]   --> src/hittable.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn hit(&self, ray: &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] 32 |     fn hit(&self, ray: &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]    --> src/hittable.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn hit(&self, ray: &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] 110 |     fn hit(&self, ray: &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]    --> src/hittable.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |     fn hit(&self, ray: &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] 194 |     fn hit(&self, ray: &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]    --> src/hittable.rs:236:12
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn hit(&self, ray: &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] 236 |     fn hit(&self, ray: &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]    --> src/hittable.rs:296:12
[INFO] [stdout]     |
[INFO] [stdout] 296 |     fn hit(&self, ray: &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] 296 |     fn hit(&self, ray: &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]    --> src/hittable.rs:400:12
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn hit(&self, ray: &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] 400 |     fn hit(&self, ray: &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]    --> src/hittable.rs:447:12
[INFO] [stdout]     |
[INFO] [stdout] 447 |     fn hit(&self, ray: &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] 447 |     fn hit(&self, ray: &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]    --> src/hittable.rs:532:12
[INFO] [stdout]     |
[INFO] [stdout] 532 |     fn hit(&self, ray: &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] 532 |     fn hit(&self, ray: &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]    --> src/hittable.rs:569:12
[INFO] [stdout]     |
[INFO] [stdout] 569 |     fn hit(&self, ray: &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] 569 |     fn hit(&self, ray: &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]    --> src/hittable.rs:589:12
[INFO] [stdout]     |
[INFO] [stdout] 589 |     fn hit(&self, ray: &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] 589 |     fn hit(&self, ray: &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]   --> src/bvh.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn hit(&self, ray: &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] 20 |     fn hit(&self, ray: &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]   --> src/hittable.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn hit(&self, ray: &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] 18 |     fn hit(&self, ray: &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]   --> src/hittable.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn hit(&self, ray: &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] 32 |     fn hit(&self, ray: &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]    --> src/hittable.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn hit(&self, ray: &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] 110 |     fn hit(&self, ray: &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]    --> src/hittable.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |     fn hit(&self, ray: &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] 194 |     fn hit(&self, ray: &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]    --> src/hittable.rs:236:12
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn hit(&self, ray: &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] 236 |     fn hit(&self, ray: &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]    --> src/hittable.rs:296:12
[INFO] [stdout]     |
[INFO] [stdout] 296 |     fn hit(&self, ray: &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] 296 |     fn hit(&self, ray: &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]    --> src/hittable.rs:400:12
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn hit(&self, ray: &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] 400 |     fn hit(&self, ray: &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]    --> src/hittable.rs:447:12
[INFO] [stdout]     |
[INFO] [stdout] 447 |     fn hit(&self, ray: &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] 447 |     fn hit(&self, ray: &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]    --> src/hittable.rs:532:12
[INFO] [stdout]     |
[INFO] [stdout] 532 |     fn hit(&self, ray: &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] 532 |     fn hit(&self, ray: &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]    --> src/hittable.rs:569:12
[INFO] [stdout]     |
[INFO] [stdout] 569 |     fn hit(&self, ray: &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] 569 |     fn hit(&self, ray: &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]    --> src/hittable.rs:589:12
[INFO] [stdout]     |
[INFO] [stdout] 589 |     fn hit(&self, ray: &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] 589 |     fn hit(&self, ray: &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 14.02s
[INFO] running `Command { std: "docker" "inspect" "c88bb3a996c08562daecc0568057ef56e355957c2c927fc593336fd3f1572929", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c88bb3a996c08562daecc0568057ef56e355957c2c927fc593336fd3f1572929", kill_on_drop: false }`
[INFO] [stdout] c88bb3a996c08562daecc0568057ef56e355957c2c927fc593336fd3f1572929
