[INFO] cloning repository https://github.com/sayZhongWen/raytracing-2023 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sayZhongWen/raytracing-2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsayZhongWen%2Fraytracing-2023", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsayZhongWen%2Fraytracing-2023'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c922e6d813aae7e51a7b42e466ac148d554fcabc [INFO] checking sayZhongWen/raytracing-2023 against master#9c3064e131f4939cc95a29bb11413c49bbda1491 for pr-144098 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsayZhongWen%2Fraytracing-2023" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain [INFO] started tweaking git repo https://github.com/sayZhongWen/raytracing-2023 [INFO] finished tweaking git repo https://github.com/sayZhongWen/raytracing-2023 [INFO] tweaked toml for git repo https://github.com/sayZhongWen/raytracing-2023 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/sayZhongWen/raytracing-2023 on toolchain 9c3064e131f4939cc95a29bb11413c49bbda1491 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c3064e131f4939cc95a29bb11413c49bbda1491" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/sayZhongWen/raytracing-2023 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c3064e131f4939cc95a29bb11413c49bbda1491" "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] 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+9c3064e131f4939cc95a29bb11413c49bbda1491" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5c3b0cca31ee1214ce63ac2f3960bfb75bd8ea8740f542854c988749e937b102 [INFO] running `Command { std: "docker" "start" "-a" "5c3b0cca31ee1214ce63ac2f3960bfb75bd8ea8740f542854c988749e937b102", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5c3b0cca31ee1214ce63ac2f3960bfb75bd8ea8740f542854c988749e937b102", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5c3b0cca31ee1214ce63ac2f3960bfb75bd8ea8740f542854c988749e937b102", kill_on_drop: false }` [INFO] [stdout] 5c3b0cca31ee1214ce63ac2f3960bfb75bd8ea8740f542854c988749e937b102 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+9c3064e131f4939cc95a29bb11413c49bbda1491" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8bcd6ee2f1bd1d9413e4fad1c05b3bd8ebab6cb77f1a157cfd4d9a2cb6b3cee5 [INFO] running `Command { std: "docker" "start" "-a" "8bcd6ee2f1bd1d9413e4fad1c05b3bd8ebab6cb77f1a157cfd4d9a2cb6b3cee5", 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] 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] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling proc-macro2 v1.0.60 [INFO] [stderr] Compiling quote v1.0.28 [INFO] [stderr] Checking 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] Checking adler v1.0.2 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Checking futures-sink v0.3.28 [INFO] [stderr] Checking weezl v0.1.7 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking lock_api v0.4.6 [INFO] [stderr] Checking bytemuck v1.13.1 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Checking miniz_oxide v0.7.1 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking fdeflate v0.3.0 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking half v2.2.1 [INFO] [stderr] Checking smallvec v1.10.0 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking regex-syntax v0.6.18 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Checking 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 num-rational v0.4.1 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking number_prefix v0.4.0 [INFO] [stderr] Checking flate2 v1.0.26 [INFO] [stderr] Checking crossbeam-channel v0.5.8 [INFO] [stderr] Compiling syn v2.0.18 [INFO] [stderr] Checking png v0.17.9 [INFO] [stderr] Checking crossbeam-deque v0.8.3 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking console v0.15.7 [INFO] [stderr] Checking regex v1.3.9 [INFO] [stderr] Checking nanorand v0.7.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking threadpool v1.8.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking indicatif v0.16.2 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rayon v1.7.0 [INFO] [stderr] Checking jpeg-decoder v0.3.0 [INFO] [stderr] Compiling pin-project-internal v1.1.0 [INFO] [stderr] Checking tiff v0.8.1 [INFO] [stderr] Checking pin-project v1.1.0 [INFO] [stderr] Checking flume v0.10.14 [INFO] [stderr] Checking exr v1.6.4 [INFO] [stderr] Checking image v0.24.6 [INFO] [stderr] Checking raytracer v0.1.0 (/opt/rustwide/workdir/raytracer) [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> raytracer/src/hittable.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | fn pdf_value(&self, o: &Point3, v: &Vec3) -> f64 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> raytracer/src/hittable.rs:10:37 [INFO] [stdout] | [INFO] [stdout] 10 | fn pdf_value(&self, o: &Point3, v: &Vec3) -> f64 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> raytracer/src/hittable.rs:13:22 [INFO] [stdout] | [INFO] [stdout] 13 | fn random(&self, o: &Vec3) -> Vec3 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r_in` [INFO] [stdout] --> raytracer/src/material.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Color)> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rec` [INFO] [stdout] --> raytracer/src/material.rs:10:35 [INFO] [stdout] | [INFO] [stdout] 10 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Color)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pdf` [INFO] [stdout] --> raytracer/src/material.rs:10:52 [INFO] [stdout] | [INFO] [stdout] 10 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Color)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pdf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r_in` [INFO] [stdout] --> raytracer/src/material.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rec` [INFO] [stdout] --> raytracer/src/material.rs:13:42 [INFO] [stdout] | [INFO] [stdout] 13 | fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scattered` [INFO] [stdout] --> raytracer/src/material.rs:13:59 [INFO] [stdout] | [INFO] [stdout] 13 | fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scattered` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r_in` [INFO] [stdout] --> raytracer/src/material.rs:53:30 [INFO] [stdout] | [INFO] [stdout] 53 | fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pdf` [INFO] [stdout] --> raytracer/src/material.rs:76:52 [INFO] [stdout] | [INFO] [stdout] 76 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Vec3)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pdf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> raytracer/src/hittable.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | fn pdf_value(&self, o: &Point3, v: &Vec3) -> f64 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pdf` [INFO] [stdout] --> raytracer/src/material.rs:106:52 [INFO] [stdout] | [INFO] [stdout] 106 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Vec3)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pdf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> raytracer/src/hittable.rs:10:37 [INFO] [stdout] | [INFO] [stdout] 10 | fn pdf_value(&self, o: &Point3, v: &Vec3) -> f64 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> raytracer/src/hittable.rs:13:22 [INFO] [stdout] | [INFO] [stdout] 13 | fn random(&self, o: &Vec3) -> Vec3 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pdf` [INFO] [stdout] --> raytracer/src/material.rs:169:52 [INFO] [stdout] | [INFO] [stdout] 169 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Vec3)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pdf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r_in` [INFO] [stdout] --> raytracer/src/material.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Color)> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rec` [INFO] [stdout] --> raytracer/src/material.rs:10:35 [INFO] [stdout] | [INFO] [stdout] 10 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Color)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pdf` [INFO] [stdout] --> raytracer/src/material.rs:10:52 [INFO] [stdout] | [INFO] [stdout] 10 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Color)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pdf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r_in` [INFO] [stdout] --> raytracer/src/material.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rec` [INFO] [stdout] --> raytracer/src/material.rs:13:42 [INFO] [stdout] | [INFO] [stdout] 13 | fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scattered` [INFO] [stdout] --> raytracer/src/material.rs:13:59 [INFO] [stdout] | [INFO] [stdout] 13 | fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scattered` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r_in` [INFO] [stdout] --> raytracer/src/material.rs:53:30 [INFO] [stdout] | [INFO] [stdout] 53 | fn scattering_pdf(&self, r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pdf` [INFO] [stdout] --> raytracer/src/material.rs:76:52 [INFO] [stdout] | [INFO] [stdout] 76 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Vec3)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pdf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pdf` [INFO] [stdout] --> raytracer/src/material.rs:106:52 [INFO] [stdout] | [INFO] [stdout] 106 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Vec3)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pdf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pdf` [INFO] [stdout] --> raytracer/src/material.rs:169:52 [INFO] [stdout] | [INFO] [stdout] 169 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, pdf: &mut f64) -> Option<(Ray, Vec3)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pdf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `local` is never used [INFO] [stdout] --> raytracer/src/onb.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Onb { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn local(&self, a: f64, b: f64, c: f64) -> Vec3 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_in_hemisphere` is never used [INFO] [stdout] --> raytracer/src/vec3.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn random_in_hemisphere(normal: Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_unit_vector` is never used [INFO] [stdout] --> raytracer/src/vec3.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn random_unit_vector() -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/aarect.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 30 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/aarect.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 78 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 78 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/aarect.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 140 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 140 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/box.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 74 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/bvh.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 46 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/hittable.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option; [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 8 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/hittable.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 66 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/hittable.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 141 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 141 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/hittable.rs:183:12 [INFO] [stdout] | [INFO] [stdout] 183 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 183 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/hittable_list.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/medium.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 33 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/sphere.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/sphere.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 98 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `local` is never used [INFO] [stdout] --> raytracer/src/onb.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Onb { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn local(&self, a: f64, b: f64, c: f64) -> Vec3 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_in_hemisphere` is never used [INFO] [stdout] --> raytracer/src/vec3.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn random_in_hemisphere(normal: Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_unit_vector` is never used [INFO] [stdout] --> raytracer/src/vec3.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn random_unit_vector() -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/aarect.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 30 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/aarect.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 78 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 78 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/aarect.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 140 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 140 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/box.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 74 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/bvh.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 46 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/hittable.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option; [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 8 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/hittable.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 66 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/hittable.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 141 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 141 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/hittable.rs:183:12 [INFO] [stdout] | [INFO] [stdout] 183 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 183 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/hittable_list.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/medium.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 33 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/sphere.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> raytracer/src/sphere.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 98 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.04s [ERROR] error running command: no output for 300 seconds [INFO] running `Command { std: "docker" "inspect" "8bcd6ee2f1bd1d9413e4fad1c05b3bd8ebab6cb77f1a157cfd4d9a2cb6b3cee5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8bcd6ee2f1bd1d9413e4fad1c05b3bd8ebab6cb77f1a157cfd4d9a2cb6b3cee5", kill_on_drop: false }` [INFO] [stdout] 8bcd6ee2f1bd1d9413e4fad1c05b3bd8ebab6cb77f1a157cfd4d9a2cb6b3cee5