[INFO] cloning repository https://github.com/ickk/symmetrical-fiesta [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ickk/symmetrical-fiesta" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fickk%2Fsymmetrical-fiesta", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fickk%2Fsymmetrical-fiesta'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2adfd913248e4e6b498374116c13e8160543125c [INFO] testing ickk/symmetrical-fiesta against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fickk%2Fsymmetrical-fiesta" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ickk/symmetrical-fiesta [INFO] finished tweaking git repo https://github.com/ickk/symmetrical-fiesta [INFO] tweaked toml for git repo https://github.com/ickk/symmetrical-fiesta written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ickk/symmetrical-fiesta on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ickk/symmetrical-fiesta 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" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 72fe5db0ae6a97afffbe44a676ca7bcc6df30a4b1811ef74cf7be6e6ab995442 [INFO] running `Command { std: "docker" "start" "-a" "72fe5db0ae6a97afffbe44a676ca7bcc6df30a4b1811ef74cf7be6e6ab995442", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "72fe5db0ae6a97afffbe44a676ca7bcc6df30a4b1811ef74cf7be6e6ab995442", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "72fe5db0ae6a97afffbe44a676ca7bcc6df30a4b1811ef74cf7be6e6ab995442", kill_on_drop: false }` [INFO] [stdout] 72fe5db0ae6a97afffbe44a676ca7bcc6df30a4b1811ef74cf7be6e6ab995442 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 240b27f76af4aa6bbcf8dbaed1890f09173fbfe70ddfbb82e88e598ccaea4ce0 [INFO] running `Command { std: "docker" "start" "-a" "240b27f76af4aa6bbcf8dbaed1890f09173fbfe70ddfbb82e88e598ccaea4ce0", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.132 [INFO] [stderr] Compiling crossbeam-utils v0.8.11 [INFO] [stderr] Compiling once_cell v1.14.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.10 [INFO] [stderr] Compiling rayon-core v1.9.3 [INFO] [stderr] Compiling syn v1.0.99 [INFO] [stderr] Compiling lock_api v0.4.8 [INFO] [stderr] Compiling miniz_oxide v0.5.4 [INFO] [stderr] Compiling rayon v1.5.3 [INFO] [stderr] Compiling futures-core v0.3.24 [INFO] [stderr] Compiling either v1.8.0 [INFO] [stderr] Compiling flate2 v1.0.24 [INFO] [stderr] Compiling spin v0.9.4 [INFO] [stderr] Compiling futures-sink v0.3.24 [INFO] [stderr] Compiling lebe v0.5.2 [INFO] [stderr] Compiling bit_field v0.10.1 [INFO] [stderr] Compiling half v1.8.2 [INFO] [stderr] Compiling crossbeam-channel v0.5.6 [INFO] [stderr] Compiling png v0.17.6 [INFO] [stderr] Compiling gif v0.11.4 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Compiling crossbeam-deque v0.8.2 [INFO] [stderr] Compiling iana-time-zone v0.1.47 [INFO] [stderr] Compiling num_cpus v1.13.1 [INFO] [stderr] Compiling getrandom v0.2.7 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling nanorand v0.7.0 [INFO] [stderr] Compiling threadpool v1.8.1 [INFO] [stderr] Compiling bytemuck v1.12.1 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling chrono v0.4.22 [INFO] [stderr] Compiling itertools v0.10.3 [INFO] [stderr] Compiling perlin2d v0.2.6 [INFO] [stderr] Compiling pin-project-internal v1.0.12 [INFO] [stderr] Compiling jpeg-decoder v0.2.6 [INFO] [stderr] Compiling tiff v0.7.3 [INFO] [stderr] Compiling pin-project v1.0.12 [INFO] [stderr] Compiling flume v0.10.14 [INFO] [stderr] Compiling exr v1.5.0 [INFO] [stderr] Compiling image v0.24.3 [INFO] [stderr] Compiling raytracer_challenge v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/mod.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | fn intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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] 12 | fn intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/mod.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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] 25 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection<'_>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/intersection.rs:30:31 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn prepare_computations(&self, ray: Ray) -> IntersectionComputations { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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] 30 | pub fn prepare_computations(&self, ray: Ray) -> IntersectionComputations<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/intersection.rs:84:14 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn hit(&self) -> Option<&Intersection> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | | || [INFO] [stdout] | | |the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided 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] 84 | pub fn hit(&self) -> Option<&Intersection<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/plane.rs:20:22 [INFO] [stdout] | [INFO] [stdout] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/sphere.rs:20:22 [INFO] [stdout] | [INFO] [stdout] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/world.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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 | pub fn intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.06s [INFO] running `Command { std: "docker" "inspect" "240b27f76af4aa6bbcf8dbaed1890f09173fbfe70ddfbb82e88e598ccaea4ce0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "240b27f76af4aa6bbcf8dbaed1890f09173fbfe70ddfbb82e88e598ccaea4ce0", kill_on_drop: false }` [INFO] [stdout] 240b27f76af4aa6bbcf8dbaed1890f09173fbfe70ddfbb82e88e598ccaea4ce0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f579856988cd75c1a13be80fc6e6e398650ec3f630b0b1b859ca5f50df1eba04 [INFO] running `Command { std: "docker" "start" "-a" "f579856988cd75c1a13be80fc6e6e398650ec3f630b0b1b859ca5f50df1eba04", kill_on_drop: false }` [INFO] [stderr] Compiling raytracer_challenge v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/mod.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | fn intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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] 12 | fn intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/mod.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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] 25 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection<'_>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/intersection.rs:30:31 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn prepare_computations(&self, ray: Ray) -> IntersectionComputations { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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] 30 | pub fn prepare_computations(&self, ray: Ray) -> IntersectionComputations<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/intersection.rs:84:14 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn hit(&self) -> Option<&Intersection> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | | || [INFO] [stdout] | | |the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided 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] 84 | pub fn hit(&self) -> Option<&Intersection<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/plane.rs:20:22 [INFO] [stdout] | [INFO] [stdout] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/sphere.rs:20:22 [INFO] [stdout] | [INFO] [stdout] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/world.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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 | pub fn intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/mod.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | fn intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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] 12 | fn intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/mod.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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] 25 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection<'_>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/intersection.rs:30:31 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn prepare_computations(&self, ray: Ray) -> IntersectionComputations { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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] 30 | pub fn prepare_computations(&self, ray: Ray) -> IntersectionComputations<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/intersection.rs:84:14 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn hit(&self) -> Option<&Intersection> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | | || [INFO] [stdout] | | |the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided 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] 84 | pub fn hit(&self) -> Option<&Intersection<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::array::::map` that must be used [INFO] [stdout] --> src/render/object/intersection.rs:202:5 [INFO] [stdout] | [INFO] [stdout] 202 | / [ [INFO] [stdout] 203 | | intersection_a, [INFO] [stdout] 204 | | intersection_b, [INFO] [stdout] 205 | | intersection_c, [INFO] [stdout] ... | [INFO] [stdout] 208 | | .map(|i| intersections.insert(i)); [INFO] [stdout] | |_____________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 202 | let _ = [ [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/plane.rs:20:22 [INFO] [stdout] | [INFO] [stdout] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/object/sphere.rs:20:22 [INFO] [stdout] | [INFO] [stdout] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/render/world.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided 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 | pub fn intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.70s [INFO] running `Command { std: "docker" "inspect" "f579856988cd75c1a13be80fc6e6e398650ec3f630b0b1b859ca5f50df1eba04", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f579856988cd75c1a13be80fc6e6e398650ec3f630b0b1b859ca5f50df1eba04", kill_on_drop: false }` [INFO] [stdout] f579856988cd75c1a13be80fc6e6e398650ec3f630b0b1b859ca5f50df1eba04 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] d782eca732a7187ce92572fdd4e27bb868561c0c64dcf6084d9351ed5c44fe10 [INFO] running `Command { std: "docker" "start" "-a" "d782eca732a7187ce92572fdd4e27bb868561c0c64dcf6084d9351ed5c44fe10", kill_on_drop: false }` [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/render/object/mod.rs:12:16 [INFO] [stderr] | [INFO] [stderr] 12 | fn intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 12 | fn intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/render/object/mod.rs:25:22 [INFO] [stderr] | [INFO] [stderr] 25 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 25 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection<'_>; [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/render/object/intersection.rs:30:31 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn prepare_computations(&self, ray: Ray) -> IntersectionComputations { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 30 | pub fn prepare_computations(&self, ray: Ray) -> IntersectionComputations<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/render/object/intersection.rs:84:14 [INFO] [stderr] | [INFO] [stderr] 84 | pub fn hit(&self) -> Option<&Intersection> { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] | | || [INFO] [stderr] | | |the same lifetime is hidden here [INFO] [stderr] | | the same lifetime is elided here [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 84 | pub fn hit(&self) -> Option<&Intersection<'_>> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/render/object/plane.rs:20:22 [INFO] [stderr] | [INFO] [stderr] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/render/object/sphere.rs:20:22 [INFO] [stderr] | [INFO] [stderr] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 20 | fn local_intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/render/world.rs:18:20 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn intersect(&self, ray: Ray) -> IntersectionCollection { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 18 | pub fn intersect(&self, ray: Ray) -> IntersectionCollection<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `raytracer_challenge` (lib) generated 7 warnings (run `cargo fix --lib -p raytracer_challenge` to apply 7 suggestions) [INFO] [stderr] warning: unused return value of `std::array::::map` that must be used [INFO] [stderr] --> src/render/object/intersection.rs:202:5 [INFO] [stderr] | [INFO] [stderr] 202 | / [ [INFO] [stderr] 203 | | intersection_a, [INFO] [stderr] 204 | | intersection_b, [INFO] [stderr] 205 | | intersection_c, [INFO] [stderr] ... | [INFO] [stderr] 208 | | .map(|i| intersections.insert(i)); [INFO] [stderr] | |_____________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 202 | let _ = [ [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `raytracer_challenge` (lib test) generated 8 warnings (7 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/raytracer_challenge-0a872a3568b06948) [INFO] [stdout] [INFO] [stdout] running 153 tests [INFO] [stdout] test math::matrix::tests::construct_matrix4x4 ... ok [INFO] [stdout] test math::matrix::tests::construct_matrix3x3 ... ok [INFO] [stdout] test math::matrix::tests::determinant_matrix3x3 ... ok [INFO] [stdout] test math::matrix::tests::determinant_matrix2x2 ... ok [INFO] [stdout] test math::matrix::tests::inverse_matrix4x4 ... ok [INFO] [stdout] test math::matrix::tests::inverse_matrix4x4_2 ... ok [INFO] [stdout] test math::matrix::tests::invertible_matrix4x4 ... ok [INFO] [stdout] test math::matrix::tests::minor_matrix3x3 ... ok [INFO] [stdout] test math::matrix::tests::multiply_matrix4x4 ... ok [INFO] [stdout] test math::matrix::tests::modify_matrix4x4 ... ok [INFO] [stdout] test math::matrix::tests::multiply_matrix4x4_with_identity ... ok [INFO] [stdout] test math::matrix::tests::multiply_matrix4x4_with_point ... ok [INFO] [stdout] test math::matrix::tests::multiply_point_with_identity4x4 ... ok [INFO] [stdout] test math::matrix::tests::multiply_vector_with_identity4x4 ... ok [INFO] [stdout] test math::matrix::tests::noninvertible_matrix4x4 ... ok [INFO] [stdout] test math::matrix::tests::product_multiplied_by_its_inverse ... ok [INFO] [stdout] test math::matrix::tests::submatrix_matrix4x4 ... ok [INFO] [stdout] test math::matrix::tests::transpose_identity4x4 ... ok [INFO] [stdout] test math::matrix::tests::transpose_matrix4x4 ... ok [INFO] [stdout] test math::point::tests::add_vector_to_point ... ok [INFO] [stdout] test math::point::tests::construct_point ... ok [INFO] [stdout] test math::point::tests::subtract_vector_from_point ... ok [INFO] [stdout] test math::matrix::tests::inverse_matrix4x4_3 ... ok [INFO] [stdout] test math::matrix::tests::determinant_matrix4x4 ... ok [INFO] [stdout] test math::transformation::tests::inverse_scale_matrix_applied_to_vector ... ok [INFO] [stdout] test math::transformation::tests::inverse_translation_matrix_applied_to_point ... ok [INFO] [stdout] test math::transformation::tests::reflection_matrix_applied_to_point ... ok [INFO] [stdout] test math::matrix::tests::multiply_matrix4x4_with_vector ... ok [INFO] [stdout] test math::matrix::tests::submatrix_matrix3x3 ... ok [INFO] [stdout] test math::transformation::tests::rotation_about_x ... ok [INFO] [stdout] test math::transformation::tests::inverse_rotation_about_x ... ok [INFO] [stdout] test math::transformation::tests::chained_transformations ... ok [INFO] [stdout] test math::transformation::tests::sequential_transformations ... ok [INFO] [stdout] test math::transformation::tests::scale_matrix_applied_to_vector ... ok [INFO] [stdout] test math::transformation::tests::shear_x_proportion_to_y ... ok [INFO] [stdout] test math::transformation::tests::shear_y_proportion_to_x ... ok [INFO] [stdout] test math::transformation::tests::shear_x_proportion_to_z ... ok [INFO] [stdout] test math::transformation::tests::shear_y_proportion_to_z ... ok [INFO] [stdout] test math::transformation::tests::shear_z_proportion_to_x ... ok [INFO] [stdout] test math::transformation::tests::translation_matrix_applied_to_point ... ok [INFO] [stdout] test math::transformation::tests::translation_matrix_applied_to_vector ... ok [INFO] [stdout] test math::transformation::tests::view_transform_arbitrary ... ok [INFO] [stdout] test math::transformation::tests::view_transform_default ... ok [INFO] [stdout] test math::transformation::tests::view_transform_facing_positive_z ... ok [INFO] [stdout] test math::transformation::tests::view_transform_moves_world ... ok [INFO] [stdout] test math::vector::tests::add_vectors ... ok [INFO] [stdout] test math::vector::tests::construct_vector ... ok [INFO] [stdout] test math::vector::tests::cross_product_of_vectors ... ok [INFO] [stdout] test math::vector::tests::divide_vector_by_scalar ... ok [INFO] [stdout] test math::vector::tests::dot_product_of_vectors ... ok [INFO] [stdout] test math::vector::tests::magnitude_of_vector ... ok [INFO] [stdout] test math::vector::tests::multiply_vector_by_scalar ... ok [INFO] [stdout] test math::matrix::tests::cofactor_matrix3x3 ... ok [INFO] [stdout] test math::vector::tests::negate_vector ... ok [INFO] [stdout] test math::transformation::tests::rotation_about_y ... ok [INFO] [stdout] test math::vector::tests::norm_of_vector ... ok [INFO] [stdout] test math::transformation::tests::rotation_about_z ... ok [INFO] [stdout] test math::transformation::tests::shear_z_proportion_to_y ... ok [INFO] [stdout] test math::vector::tests::reflect_vector_45_degrees ... ok [INFO] [stdout] test render::camera::tests::construct_camera ... ok [INFO] [stdout] test render::camera::tests::construct_ray_center_canvas ... ok [INFO] [stdout] test math::vector::tests::reflect_vector_slanted ... ok [INFO] [stdout] test math::vector::tests::subtract_vectors ... ok [INFO] [stdout] test render::camera::tests::construct_ray_corner_canvas ... ok [INFO] [stdout] test render::camera::tests::construct_ray_transformed_camera ... ok [INFO] [stdout] test render::camera::tests::pixel_size_horizontal_canvas ... ok [INFO] [stdout] test render::camera::tests::pixel_size_vertical_canvas ... ok [INFO] [stdout] test render::canvas::tests::ppm_ends_with_newline ... ok [INFO] [stdout] test render::canvas::tests::ppm_header ... ok [INFO] [stdout] test render::canvas::tests::ppm_pixel_data ... ok [INFO] [stdout] test render::canvas::tests::write_pixel ... ok [INFO] [stdout] test render::canvas::tests::ppm_split_long_lines ... ok [INFO] [stdout] test render::colour::tests::add_colours ... ok [INFO] [stdout] test math::matrix::tests::construct_matrix2x2 ... ok [INFO] [stdout] test render::canvas::tests::new_canvas ... ok [INFO] [stdout] test render::colour::tests::construct_colour ... ok [INFO] [stdout] test render::colour::tests::hadamard_product_colour ... ok [INFO] [stdout] test render::colour::tests::scalar_multiplication_colour ... ok [INFO] [stdout] test render::colour::tests::subtract_colours ... ok [INFO] [stdout] test math::transformation::tests::scale_matrix_applied_to_point ... ok [INFO] [stdout] test render::light::tests::construct_point_light ... ok [INFO] [stdout] test render::material::pattern::tests::checkers_pattern ... ok [INFO] [stdout] test render::material::pattern::tests::construct_stripe_pattern ... ok [INFO] [stdout] test render::material::pattern::tests::default_pattern ... ok [INFO] [stdout] test render::material::pattern::tests::gradient_pattern ... ok [INFO] [stdout] test render::material::pattern::tests::pattern_transform_assignment ... ok [INFO] [stdout] test render::material::pattern::tests::pattern_with_transform ... ok [INFO] [stdout] test render::material::pattern::tests::ring_pattern ... ok [INFO] [stdout] test render::material::pattern::tests::stripe_pattern_alternates_in_x ... ok [INFO] [stdout] test render::material::pattern::tests::stripe_pattern_constant_in_y ... ok [INFO] [stdout] test render::material::pattern::tests::stripe_pattern_constant_in_z ... ok [INFO] [stdout] test render::material::tests::construct_default_material ... ok [INFO] [stdout] test render::material::tests::lighting_camera_between_light_and_surface ... ok [INFO] [stdout] test render::material::tests::lighting_camera_in_path_of_reflection_vector ... ok [INFO] [stdout] test render::material::tests::lighting_camera_offset_45_degrees ... ok [INFO] [stdout] test render::material::tests::lighting_light_behind_surface ... ok [INFO] [stdout] test render::material::tests::lighting_light_offset_45_degrees ... ok [INFO] [stdout] test render::material::tests::lighting_surface_in_shadow ... ok [INFO] [stdout] test render::object::intersection::tests::external_intersection ... ok [INFO] [stdout] test render::object::intersection::tests::hit_all_negative_ts ... ok [INFO] [stdout] test render::object::intersection::tests::hit_all_positive_ts ... ok [INFO] [stdout] test render::object::intersection::tests::hit_is_lowest_nonnegative ... ok [INFO] [stdout] test render::object::intersection::tests::hit_over_position_property ... ok [INFO] [stdout] test render::object::intersection::tests::prepare_computations_reflection_vector ... ok [INFO] [stdout] test render::object::plane::tests::plane_intersect_with_coplanar_ray ... ok [INFO] [stdout] test render::object::plane::tests::plane_intersect_with_parallel_ray ... ok [INFO] [stdout] test render::object::plane::tests::plane_intersect_with_ray_from_above ... ok [INFO] [stdout] test render::object::intersection::tests::internal_intersection ... ok [INFO] [stdout] test render::object::intersection::tests::hit_some_negative_ts ... ok [INFO] [stdout] test render::object::plane::tests::plane_normal_is_constant_everywhere ... ok [INFO] [stdout] test render::object::sphere::tests::assign_material_to_sphere ... ok [INFO] [stdout] test render::object::sphere::tests::intersect_scaled_sphere ... ok [INFO] [stdout] test render::object::sphere::tests::normal_is_unit_length ... ok [INFO] [stdout] test render::object::sphere::tests::normal_on_x_axis ... ok [INFO] [stdout] test render::object::sphere::tests::normal_on_y_axis ... ok [INFO] [stdout] test render::object::sphere::tests::normal_on_z_axis ... ok [INFO] [stdout] test render::object::sphere::tests::normal_nonaxial ... ok [INFO] [stdout] test render::object::sphere::tests::normal_transform_sphere ... ok [INFO] [stdout] test render::object::sphere::tests::intersect_translated_sphere ... ok [INFO] [stdout] test render::object::sphere::tests::normal_translated_sphere ... ok [INFO] [stdout] test render::object::sphere::tests::ray_sphere_intersection ... ok [INFO] [stdout] test render::object::sphere::tests::ray_sphere_intersection_at_tangent ... ok [INFO] [stdout] test render::object::sphere::tests::ray_sphere_intersection_behind ... ok [INFO] [stdout] test render::object::sphere::tests::sphere_modify_transform ... ok [INFO] [stdout] test render::object::sphere::tests::ray_sphere_intersection_from_centre ... ok [INFO] [stdout] test render::ray::tests::construct_ray ... ok [INFO] [stdout] test render::object::sphere::tests::ray_sphere_intersection_miss ... ok [INFO] [stdout] test render::ray::tests::ray_position ... ok [INFO] [stdout] test render::ray::tests::scale_ray ... ok [INFO] [stdout] test render::world::tests::colour_ray_hit ... ok [INFO] [stdout] test render::world::tests::colour_ray_miss ... ok [INFO] [stdout] test render::world::tests::colour_with_intersection_behind_ray ... ok [INFO] [stdout] test render::world::tests::construct_world ... ok [INFO] [stdout] test render::world::tests::default_world ... ok [INFO] [stdout] test render::world::tests::intersect_world ... ok [INFO] [stdout] test render::world::tests::no_shadow_when_nothing_is_colinear ... ok [INFO] [stdout] test render::world::tests::no_shadow_when_object_behind_light ... ok [INFO] [stdout] test render::world::tests::no_shadow_when_object_behind_point ... ok [INFO] [stdout] test render::world::tests::precomputing_intersection_state ... ok [INFO] [stdout] test render::world::tests::reflected_colour_at_maximum_recursion_depth ... ok [INFO] [stdout] test render::world::tests::reflected_colour_for_nonreflective_material ... ok [INFO] [stdout] test render::object::plane::tests::plane_intersect_with_ray_from_below ... ok [INFO] [stdout] test render::ray::tests::translate_ray ... ok [INFO] [stdout] test render::world::tests::reflected_colour_for_reflective_material ... ok [INFO] [stdout] test render::object::sphere::tests::sphere_default_material ... ok [INFO] [stdout] test render::object::sphere::tests::sphere_default_transform ... ok [INFO] [stdout] test render::world::tests::shade_hit_with_reflective_material ... ok [INFO] [stdout] test render::world::tests::avoid_infinite_recursion_with_mutually_reflective_surfaces ... ok [INFO] [stdout] test render::world::tests::shadow_when_object_between_point_and_light ... ok [INFO] [stdout] test render::world::tests::shading_intersection_from_inside ... ok [INFO] [stdout] test render::world::tests::shading_shadow ... ok [INFO] [stdout] test render::world::tests::shading_intersection ... ok [INFO] [stdout] test render::camera::tests::render ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 153 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/raytracer_challenge-4c573182f378a685) [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] [stderr] Doc-tests raytracer_challenge [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test src/math/vector.rs - math::vector::doc_tests::divide_scalar_by_vector_compile_fail (line 352) - compile fail ... ok [INFO] [stdout] test src/math/point.rs - math::point::doc_tests::subtract_point_from_vector_compile_fail (line 180) - compile fail ... ok [INFO] [stdout] test src/math/point.rs - math::point::doc_tests::add_points_compile_fail (line 171) - compile fail ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "d782eca732a7187ce92572fdd4e27bb868561c0c64dcf6084d9351ed5c44fe10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d782eca732a7187ce92572fdd4e27bb868561c0c64dcf6084d9351ed5c44fe10", kill_on_drop: false }` [INFO] [stdout] d782eca732a7187ce92572fdd4e27bb868561c0c64dcf6084d9351ed5c44fe10