[INFO] cloning repository https://github.com/davawen/Raytracing-Rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/davawen/Raytracing-Rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdavawen%2FRaytracing-Rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdavawen%2FRaytracing-Rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3bece8b444c801e2fd997b50ea551112614c7d82 [INFO] testing davawen/Raytracing-Rs against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdavawen%2FRaytracing-Rs" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/davawen/Raytracing-Rs [INFO] finished tweaking git repo https://github.com/davawen/Raytracing-Rs [INFO] tweaked toml for git repo https://github.com/davawen/Raytracing-Rs written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/davawen/Raytracing-Rs on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/davawen/Raytracing-Rs 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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded either v1.7.0 [INFO] [stderr] Downloaded bit_field v0.10.1 [INFO] [stderr] Downloaded inflate v0.4.5 [INFO] [stderr] Downloaded semver v1.0.10 [INFO] [stderr] Downloaded flume v0.10.13 [INFO] [stderr] Downloaded miniz_oxide v0.5.3 [INFO] [stderr] Downloaded flate2 v1.0.24 [INFO] [stderr] Downloaded png v0.17.5 [INFO] [stderr] Downloaded bumpalo v3.10.0 [INFO] [stderr] Downloaded crossbeam-channel v0.5.5 [INFO] [stderr] Downloaded rayon v1.5.3 [INFO] [stderr] Downloaded exr v1.4.2 [INFO] [stderr] Downloaded syn v1.0.98 [INFO] [stderr] Downloaded deflate v1.0.0 [INFO] [stderr] Downloaded weezl v0.1.6 [INFO] [stderr] Downloaded glam v0.21.1 [INFO] [stderr] Downloaded quote v1.0.20 [INFO] [stderr] Downloaded image v0.24.2 [INFO] [stderr] Downloaded bytemuck v1.9.1 [INFO] [stderr] Downloaded spin v0.9.3 [INFO] [stderr] Downloaded smallvec v1.9.0 [INFO] [stderr] Downloaded scoped_threadpool v0.1.9 [INFO] [stderr] Downloaded num-complex v0.4.2 [INFO] [stderr] Downloaded num-iter v0.1.43 [INFO] [stderr] Downloaded proc-macro2 v1.0.40 [INFO] [stderr] Downloaded unicode-ident v1.0.1 [INFO] [stderr] Downloaded crossbeam-epoch v0.9.9 [INFO] [stderr] Downloaded crossbeam-utils v0.8.10 [INFO] [stderr] Downloaded rayon-core v1.9.3 [INFO] [stderr] Downloaded lerp v0.4.0 [INFO] [stderr] Downloaded num v0.4.0 [INFO] [stderr] Downloaded getrandom v0.2.7 [INFO] [stderr] Downloaded lebe v0.5.1 [INFO] [stderr] Downloaded adler32 v1.2.0 [INFO] [stderr] Downloaded gif v0.11.4 [INFO] [stderr] Downloaded jpeg-decoder v0.2.6 [INFO] [stderr] Downloaded tiff v0.7.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 121cf695a2b56b8719f44931f4e7cabc6166e27601fe4b92b2449bf6ecebff6f [INFO] running `Command { std: "docker" "start" "-a" "121cf695a2b56b8719f44931f4e7cabc6166e27601fe4b92b2449bf6ecebff6f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "121cf695a2b56b8719f44931f4e7cabc6166e27601fe4b92b2449bf6ecebff6f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "121cf695a2b56b8719f44931f4e7cabc6166e27601fe4b92b2449bf6ecebff6f", kill_on_drop: false }` [INFO] [stdout] 121cf695a2b56b8719f44931f4e7cabc6166e27601fe4b92b2449bf6ecebff6f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 11594d86b230d5e0829b21fd3034b6166d03c77063b79dee8726f81c1c224265 [INFO] running `Command { std: "docker" "start" "-a" "11594d86b230d5e0829b21fd3034b6166d03c77063b79dee8726f81c1c224265", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.126 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling proc-macro2 v1.0.40 [INFO] [stderr] Compiling crossbeam-utils v0.8.10 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling once_cell v1.12.0 [INFO] [stderr] Compiling unicode-ident v1.0.1 [INFO] [stderr] Compiling quote v1.0.20 [INFO] [stderr] Compiling crossbeam-epoch v0.9.9 [INFO] [stderr] Compiling syn v1.0.98 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling rayon-core v1.9.3 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling rayon v1.5.3 [INFO] [stderr] Compiling num-bigint v0.4.3 [INFO] [stderr] Compiling futures-core v0.3.21 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling either v1.7.0 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Compiling num-iter v0.1.43 [INFO] [stderr] Compiling miniz_oxide v0.5.3 [INFO] [stderr] Compiling deflate v1.0.0 [INFO] [stderr] Compiling spin v0.9.3 [INFO] [stderr] Compiling weezl v0.1.6 [INFO] [stderr] Compiling futures-sink v0.3.21 [INFO] [stderr] Compiling inflate v0.4.5 [INFO] [stderr] Compiling lebe v0.5.1 [INFO] [stderr] Compiling half v1.8.2 [INFO] [stderr] Compiling bit_field v0.10.1 [INFO] [stderr] Compiling smallvec v1.9.0 [INFO] [stderr] Compiling bytemuck v1.9.1 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Compiling gif v0.11.4 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling itertools v0.10.3 [INFO] [stderr] Compiling crossbeam-channel v0.5.5 [INFO] [stderr] Compiling glam v0.21.1 [INFO] [stderr] Compiling getrandom v0.2.7 [INFO] [stderr] Compiling num_cpus v1.13.1 [INFO] [stderr] Compiling nanorand v0.7.0 [INFO] [stderr] Compiling crossbeam-deque v0.8.1 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling threadpool v1.8.1 [INFO] [stderr] Compiling flate2 v1.0.24 [INFO] [stderr] Compiling png v0.17.5 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling num-complex v0.4.2 [INFO] [stderr] Compiling lerp v0.4.0 [INFO] [stderr] Compiling num v0.4.0 [INFO] [stderr] Compiling jpeg-decoder v0.2.6 [INFO] [stderr] Compiling tiff v0.7.2 [INFO] [stderr] Compiling pin-project-internal v1.0.10 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Compiling pin-project v1.0.10 [INFO] [stderr] Compiling flume v0.10.13 [INFO] [stderr] Compiling exr v1.4.2 [INFO] [stderr] Compiling image v0.24.2 [INFO] [stderr] Compiling raytracing v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Rgb` and `buffer::PixelsMut` [INFO] [stdout] --> src/main.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use image::{RgbImage, Rgb, buffer::PixelsMut}; [INFO] [stdout] | ^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rng` and `thread_rng` [INFO] [stdout] --> src/bvh.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use rand::{thread_rng, Rng}; [INFO] [stdout] | ^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MaterialKind` [INFO] [stdout] --> src/main.rs:24:26 [INFO] [stdout] | [INFO] [stdout] 24 | material::{Material, MaterialKind} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `square` [INFO] [stdout] --> src/main.rs:241:18 [INFO] [stdout] | [INFO] [stdout] 241 | macro_rules! square { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Intersection` [INFO] [stdout] --> src/main.rs:14:20 [INFO] [stdout] | [INFO] [stdout] 14 | use intersection::{Intersection, Inter}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w0` [INFO] [stdout] --> src/intersection.rs:210:18 [INFO] [stdout] | [INFO] [stdout] 210 | let (w0, w1, w2) = (w0.max(0.0), w1.max(0.0), w2.max(0.0)); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_w0` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w1` [INFO] [stdout] --> src/intersection.rs:210:22 [INFO] [stdout] | [INFO] [stdout] 210 | let (w0, w1, w2) = (w0.max(0.0), w1.max(0.0), w2.max(0.0)); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_w1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w2` [INFO] [stdout] --> src/intersection.rs:210:26 [INFO] [stdout] | [INFO] [stdout] 210 | let (w0, w1, w2) = (w0.max(0.0), w1.max(0.0), w2.max(0.0)); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_w2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `earth_normal` [INFO] [stdout] --> src/main.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | let earth_normal = Texture::from_file("/home/davawen/Pictures/2k_earth_normal_map.tif")?; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_earth_normal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rusty_metal_norm` [INFO] [stdout] --> src/main.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | let rusty_metal_norm = Texture::from_file("/home/davawen/Pictures/3314-normal.jpg")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rusty_metal_norm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bumpy_norm` [INFO] [stdout] --> src/main.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | let bumpy_norm = Texture::from_file("/home/davawen/Pictures/bumpy_normal.jpg")?.set_wrapping(TextureWrapping::MirroredRepeat); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bumpy_norm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scratched_norm` [INFO] [stdout] --> src/main.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | let scratched_norm = Texture::from_file("/home/davawen/Pictures/reduced.png")?.set_wrapping(TextureWrapping::MirroredRepeat); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scratched_norm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `intersection` is never used [INFO] [stdout] --> src/main.rs:55:4 [INFO] [stdout] | [INFO] [stdout] 55 | fn intersection<'a>(scene: &'a [&'a dyn Traceable], ray: &'a Ray) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_vector_in_hemisphere` is never used [INFO] [stdout] --> src/main.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn random_vector_in_hemisphere(normal: Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `square` is never used [INFO] [stdout] --> src/main.rs:141:4 [INFO] [stdout] | [INFO] [stdout] 141 | fn square( center: Vec3, size: Vec2, orientation: Quat, material: Material ) -> ( Triangle, Triangle ) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_emmitive` and `set_texture` are never used [INFO] [stdout] --> src/material.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 188 | impl<'a> Material<'a> { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn new_emmitive(color: Color, intensity: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn set_texture(mut self, texture: &'a Texture) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ClampToEdge` is never constructed [INFO] [stdout] --> src/texture.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum TextureWrapping { [INFO] [stdout] | --------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 10 | ClampToEdge [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TextureWrapping` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/intersection.rs:83:17 [INFO] [stdout] | [INFO] [stdout] 83 | fn material(&self) -> &Material; [INFO] [stdout] | ^^^^^ --------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [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] 83 | fn material(&self) -> &Material<'_>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/intersection.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | fn material(&self) -> &Material { [INFO] [stdout] | ^^^^^ --------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [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] 93 | fn material(&self) -> &Material<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/intersection.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | fn material(&self) -> &Material { [INFO] [stdout] | ^^^^^ --------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [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] 151 | fn material(&self) -> &Material<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/intersection.rs:183:17 [INFO] [stdout] | [INFO] [stdout] 183 | fn material(&self) -> &Material { [INFO] [stdout] | ^^^^^ --------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [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 material(&self) -> &Material<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.60s [INFO] running `Command { std: "docker" "inspect" "11594d86b230d5e0829b21fd3034b6166d03c77063b79dee8726f81c1c224265", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "11594d86b230d5e0829b21fd3034b6166d03c77063b79dee8726f81c1c224265", kill_on_drop: false }` [INFO] [stdout] 11594d86b230d5e0829b21fd3034b6166d03c77063b79dee8726f81c1c224265 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 93ccc057021863eb4644d973f7c109dfb370cc031a6f455c27e0bf2b6b8552be [INFO] running `Command { std: "docker" "start" "-a" "93ccc057021863eb4644d973f7c109dfb370cc031a6f455c27e0bf2b6b8552be", kill_on_drop: false }` [INFO] [stderr] Compiling raytracing v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Rgb` and `buffer::PixelsMut` [INFO] [stdout] --> src/main.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use image::{RgbImage, Rgb, buffer::PixelsMut}; [INFO] [stdout] | ^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rng` and `thread_rng` [INFO] [stdout] --> src/bvh.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use rand::{thread_rng, Rng}; [INFO] [stdout] | ^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MaterialKind` [INFO] [stdout] --> src/main.rs:24:26 [INFO] [stdout] | [INFO] [stdout] 24 | material::{Material, MaterialKind} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `square` [INFO] [stdout] --> src/main.rs:241:18 [INFO] [stdout] | [INFO] [stdout] 241 | macro_rules! square { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Intersection` [INFO] [stdout] --> src/main.rs:14:20 [INFO] [stdout] | [INFO] [stdout] 14 | use intersection::{Intersection, Inter}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w0` [INFO] [stdout] --> src/intersection.rs:210:18 [INFO] [stdout] | [INFO] [stdout] 210 | let (w0, w1, w2) = (w0.max(0.0), w1.max(0.0), w2.max(0.0)); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_w0` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w1` [INFO] [stdout] --> src/intersection.rs:210:22 [INFO] [stdout] | [INFO] [stdout] 210 | let (w0, w1, w2) = (w0.max(0.0), w1.max(0.0), w2.max(0.0)); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_w1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w2` [INFO] [stdout] --> src/intersection.rs:210:26 [INFO] [stdout] | [INFO] [stdout] 210 | let (w0, w1, w2) = (w0.max(0.0), w1.max(0.0), w2.max(0.0)); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_w2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `earth_normal` [INFO] [stdout] --> src/main.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | let earth_normal = Texture::from_file("/home/davawen/Pictures/2k_earth_normal_map.tif")?; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_earth_normal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rusty_metal_norm` [INFO] [stdout] --> src/main.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | let rusty_metal_norm = Texture::from_file("/home/davawen/Pictures/3314-normal.jpg")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rusty_metal_norm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bumpy_norm` [INFO] [stdout] --> src/main.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | let bumpy_norm = Texture::from_file("/home/davawen/Pictures/bumpy_normal.jpg")?.set_wrapping(TextureWrapping::MirroredRepeat); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bumpy_norm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scratched_norm` [INFO] [stdout] --> src/main.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | let scratched_norm = Texture::from_file("/home/davawen/Pictures/reduced.png")?.set_wrapping(TextureWrapping::MirroredRepeat); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scratched_norm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `intersection` is never used [INFO] [stdout] --> src/main.rs:55:4 [INFO] [stdout] | [INFO] [stdout] 55 | fn intersection<'a>(scene: &'a [&'a dyn Traceable], ray: &'a Ray) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_vector_in_hemisphere` is never used [INFO] [stdout] --> src/main.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn random_vector_in_hemisphere(normal: Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `square` is never used [INFO] [stdout] --> src/main.rs:141:4 [INFO] [stdout] | [INFO] [stdout] 141 | fn square( center: Vec3, size: Vec2, orientation: Quat, material: Material ) -> ( Triangle, Triangle ) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_emmitive` and `set_texture` are never used [INFO] [stdout] --> src/material.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 188 | impl<'a> Material<'a> { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn new_emmitive(color: Color, intensity: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn set_texture(mut self, texture: &'a Texture) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ClampToEdge` is never constructed [INFO] [stdout] --> src/texture.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum TextureWrapping { [INFO] [stdout] | --------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 10 | ClampToEdge [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TextureWrapping` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/intersection.rs:83:17 [INFO] [stdout] | [INFO] [stdout] 83 | fn material(&self) -> &Material; [INFO] [stdout] | ^^^^^ --------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [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] 83 | fn material(&self) -> &Material<'_>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/intersection.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | fn material(&self) -> &Material { [INFO] [stdout] | ^^^^^ --------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [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] 93 | fn material(&self) -> &Material<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/intersection.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | fn material(&self) -> &Material { [INFO] [stdout] | ^^^^^ --------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [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] 151 | fn material(&self) -> &Material<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/intersection.rs:183:17 [INFO] [stdout] | [INFO] [stdout] 183 | fn material(&self) -> &Material { [INFO] [stdout] | ^^^^^ --------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [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 material(&self) -> &Material<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.90s [INFO] running `Command { std: "docker" "inspect" "93ccc057021863eb4644d973f7c109dfb370cc031a6f455c27e0bf2b6b8552be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "93ccc057021863eb4644d973f7c109dfb370cc031a6f455c27e0bf2b6b8552be", kill_on_drop: false }` [INFO] [stdout] 93ccc057021863eb4644d973f7c109dfb370cc031a6f455c27e0bf2b6b8552be [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 5f5970a739c1b822614f0aa8c33ec2dcde1c534f04b46ed0814cf76b52cd1997 [INFO] running `Command { std: "docker" "start" "-a" "5f5970a739c1b822614f0aa8c33ec2dcde1c534f04b46ed0814cf76b52cd1997", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `Rgb` and `buffer::PixelsMut` [INFO] [stderr] --> src/main.rs:3:23 [INFO] [stderr] | [INFO] [stderr] 3 | use image::{RgbImage, Rgb, buffer::PixelsMut}; [INFO] [stderr] | ^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `itertools::Itertools` [INFO] [stderr] --> src/main.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use itertools::Itertools; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Rng` and `thread_rng` [INFO] [stderr] --> src/bvh.rs:1:12 [INFO] [stderr] | [INFO] [stderr] 1 | use rand::{thread_rng, Rng}; [INFO] [stderr] | ^^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `MaterialKind` [INFO] [stderr] --> src/main.rs:24:26 [INFO] [stderr] | [INFO] [stderr] 24 | material::{Material, MaterialKind} [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition: `square` [INFO] [stderr] --> src/main.rs:241:18 [INFO] [stderr] | [INFO] [stderr] 241 | macro_rules! square { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_macros)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Intersection` [INFO] [stderr] --> src/main.rs:14:20 [INFO] [stderr] | [INFO] [stderr] 14 | use intersection::{Intersection, Inter}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `w0` [INFO] [stderr] --> src/intersection.rs:210:18 [INFO] [stderr] | [INFO] [stderr] 210 | let (w0, w1, w2) = (w0.max(0.0), w1.max(0.0), w2.max(0.0)); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_w0` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `w1` [INFO] [stderr] --> src/intersection.rs:210:22 [INFO] [stderr] | [INFO] [stderr] 210 | let (w0, w1, w2) = (w0.max(0.0), w1.max(0.0), w2.max(0.0)); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_w1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `w2` [INFO] [stderr] --> src/intersection.rs:210:26 [INFO] [stderr] | [INFO] [stderr] 210 | let (w0, w1, w2) = (w0.max(0.0), w1.max(0.0), w2.max(0.0)); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_w2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `earth_normal` [INFO] [stderr] --> src/main.rs:215:9 [INFO] [stderr] | [INFO] [stderr] 215 | let earth_normal = Texture::from_file("/home/davawen/Pictures/2k_earth_normal_map.tif")?; [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_earth_normal` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rusty_metal_norm` [INFO] [stderr] --> src/main.rs:216:9 [INFO] [stderr] | [INFO] [stderr] 216 | let rusty_metal_norm = Texture::from_file("/home/davawen/Pictures/3314-normal.jpg")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rusty_metal_norm` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bumpy_norm` [INFO] [stderr] --> src/main.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | let bumpy_norm = Texture::from_file("/home/davawen/Pictures/bumpy_normal.jpg")?.set_wrapping(TextureWrapping::MirroredRepeat); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bumpy_norm` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scratched_norm` [INFO] [stderr] --> src/main.rs:219:9 [INFO] [stderr] | [INFO] [stderr] 219 | let scratched_norm = Texture::from_file("/home/davawen/Pictures/reduced.png")?.set_wrapping(TextureWrapping::MirroredRepeat); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scratched_norm` [INFO] [stderr] [INFO] [stderr] warning: function `intersection` is never used [INFO] [stderr] --> src/main.rs:55:4 [INFO] [stderr] | [INFO] [stderr] 55 | fn intersection<'a>(scene: &'a [&'a dyn Traceable], ray: &'a Ray) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `random_vector_in_hemisphere` is never used [INFO] [stderr] --> src/main.rs:65:4 [INFO] [stderr] | [INFO] [stderr] 65 | fn random_vector_in_hemisphere(normal: Vec3) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `square` is never used [INFO] [stderr] --> src/main.rs:141:4 [INFO] [stderr] | [INFO] [stderr] 141 | fn square( center: Vec3, size: Vec2, orientation: Quat, material: Material ) -> ( Triangle, Triangle ) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new_emmitive` and `set_texture` are never used [INFO] [stderr] --> src/material.rs:198:12 [INFO] [stderr] | [INFO] [stderr] 188 | impl<'a> Material<'a> { [INFO] [stderr] | --------------------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 198 | pub fn new_emmitive(color: Color, intensity: f32) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 203 | pub fn set_texture(mut self, texture: &'a Texture) -> Self { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `ClampToEdge` is never constructed [INFO] [stderr] --> src/texture.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 7 | pub enum TextureWrapping { [INFO] [stderr] | --------------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 10 | ClampToEdge [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TextureWrapping` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/intersection.rs:83:17 [INFO] [stderr] | [INFO] [stderr] 83 | fn material(&self) -> &Material; [INFO] [stderr] | ^^^^^ --------- [INFO] [stderr] | | || [INFO] [stderr] | | |the lifetimes get resolved as `'_` [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 83 | fn material(&self) -> &Material<'_>; [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/intersection.rs:93:17 [INFO] [stderr] | [INFO] [stderr] 93 | fn material(&self) -> &Material { [INFO] [stderr] | ^^^^^ --------- [INFO] [stderr] | | || [INFO] [stderr] | | |the lifetimes get resolved as `'_` [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 93 | fn material(&self) -> &Material<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/intersection.rs:151:17 [INFO] [stderr] | [INFO] [stderr] 151 | fn material(&self) -> &Material { [INFO] [stderr] | ^^^^^ --------- [INFO] [stderr] | | || [INFO] [stderr] | | |the lifetimes get resolved as `'_` [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 151 | fn material(&self) -> &Material<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/intersection.rs:183:17 [INFO] [stderr] | [INFO] [stderr] 183 | fn material(&self) -> &Material { [INFO] [stderr] | ^^^^^ --------- [INFO] [stderr] | | || [INFO] [stderr] | | |the lifetimes get resolved as `'_` [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 183 | fn material(&self) -> &Material<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `raytracing` (bin "raytracing" test) generated 22 warnings (run `cargo fix --bin "raytracing" --tests` to apply 8 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/raytracing-d3267673035e8152) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5f5970a739c1b822614f0aa8c33ec2dcde1c534f04b46ed0814cf76b52cd1997", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f5970a739c1b822614f0aa8c33ec2dcde1c534f04b46ed0814cf76b52cd1997", kill_on_drop: false }` [INFO] [stdout] 5f5970a739c1b822614f0aa8c33ec2dcde1c534f04b46ed0814cf76b52cd1997