[INFO] cloning repository https://github.com/AlcyZ/shindex-rust-tracer-challenge [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AlcyZ/shindex-rust-tracer-challenge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlcyZ%2Fshindex-rust-tracer-challenge", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlcyZ%2Fshindex-rust-tracer-challenge'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] db399c72495e098a01cdcbe8d90fb4f926d02f62 [INFO] testing AlcyZ/shindex-rust-tracer-challenge against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlcyZ%2Fshindex-rust-tracer-challenge" "/workspace/builds/worker-10/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-10/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/AlcyZ/shindex-rust-tracer-challenge on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/AlcyZ/shindex-rust-tracer-challenge [INFO] finished tweaking git repo https://github.com/AlcyZ/shindex-rust-tracer-challenge [INFO] tweaked toml for git repo https://github.com/AlcyZ/shindex-rust-tracer-challenge written to /workspace/builds/worker-10/source/Cargo.toml [INFO] crate git repo https://github.com/AlcyZ/shindex-rust-tracer-challenge already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded crossbeam-epoch v0.9.4 [INFO] [stderr] Downloaded crossbeam-utils v0.8.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5ac87de2378f7e0fb9a6436ce082c388681f8f4586ac50f3a22283227369ef15 [INFO] running `Command { std: "docker" "start" "-a" "5ac87de2378f7e0fb9a6436ce082c388681f8f4586ac50f3a22283227369ef15", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5ac87de2378f7e0fb9a6436ce082c388681f8f4586ac50f3a22283227369ef15", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5ac87de2378f7e0fb9a6436ce082c388681f8f4586ac50f3a22283227369ef15", kill_on_drop: false }` [INFO] [stdout] 5ac87de2378f7e0fb9a6436ce082c388681f8f4586ac50f3a22283227369ef15 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 69f55c848292d37d9fea3c265dfeb10e8723c44237f426ee60d9b808e16b0b13 [INFO] running `Command { std: "docker" "start" "-a" "69f55c848292d37d9fea3c265dfeb10e8723c44237f426ee60d9b808e16b0b13", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.93 [INFO] [stderr] Compiling rayon-core v1.9.0 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling crc32fast v1.2.1 [INFO] [stderr] Compiling getrandom v0.2.2 [INFO] [stderr] Compiling weezl v0.1.5 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling bytemuck v1.5.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.4 [INFO] [stderr] Compiling memoffset v0.6.3 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling rayon v1.5.0 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling miniz_oxide v0.3.7 [INFO] [stderr] Compiling deflate v0.8.6 [INFO] [stderr] Compiling gif v0.11.2 [INFO] [stderr] Compiling png v0.16.8 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling uuid v0.8.2 [INFO] [stderr] Compiling threadpool v1.8.1 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling crossbeam-epoch v0.9.4 [INFO] [stderr] Compiling crossbeam-channel v0.5.1 [INFO] [stderr] Compiling crossbeam-deque v0.8.0 [INFO] [stderr] Compiling jpeg-decoder v0.1.22 [INFO] [stderr] Compiling tiff v0.6.1 [INFO] [stderr] Compiling image v0.23.14 [INFO] [stderr] Compiling shindex-rust-tracer-challenge v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `rotation_y` [INFO] [stdout] --> src/samples/cylinders_sample.rs:1:35 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::math::transformation::{rotation_y, scaling, translation}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `water_material` [INFO] [stdout] --> src/samples/cylinders_sample.rs:8:58 [INFO] [stdout] | [INFO] [stdout] 8 | date_ymd_his, glass_material, mirror_material, save, water_material, SceneCamera, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f64::consts::PI` [INFO] [stdout] --> src/samples/cylinders_sample.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::f64::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `point` [INFO] [stdout] --> src/primitives/cone.rs:39:31 [INFO] [stdout] | [INFO] [stdout] 39 | fn local_normal_at(&self, point: Tuple) -> Tuple { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `default` [INFO] [stdout] --> src/pattern/mod.rs:33:19 [INFO] [stdout] | [INFO] [stdout] 33 | pub(crate) fn default() -> PatternProps { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_transform` [INFO] [stdout] --> src/pattern/mod.rs:43:19 [INFO] [stdout] | [INFO] [stdout] 43 | pub(crate) fn set_transform(&mut self, new: M4) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get` [INFO] [stdout] --> src/math/matrix.rs:253:8 [INFO] [stdout] | [INFO] [stdout] 253 | fn get(&self, row: usize, column: usize) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rotation_x` [INFO] [stdout] --> src/math/transformation.rs:22:15 [INFO] [stdout] | [INFO] [stdout] 22 | pub(crate) fn rotation_x(radians: f64) -> M4 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rotation_y` [INFO] [stdout] --> src/math/transformation.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | pub(crate) fn rotation_y(radians: f64) -> M4 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rotation_z` [INFO] [stdout] --> src/math/transformation.rs:42:15 [INFO] [stdout] | [INFO] [stdout] 42 | pub(crate) fn rotation_z(radians: f64) -> M4 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `shearing` [INFO] [stdout] --> src/math/transformation.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | pub(crate) fn shearing(xy: f64, xz: f64, yx: f64, yz: f64, zx: f64, zy: f64) -> M4 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_point` [INFO] [stdout] --> src/math/tuple.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | pub(crate) fn is_point(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_direction` [INFO] [stdout] --> src/math/tuple.rs:29:19 [INFO] [stdout] | [INFO] [stdout] 29 | pub(crate) fn is_direction(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/pattern/checker.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) fn new(a: Color, b: Color) -> CheckerPattern { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/pattern/gradient.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) fn new(a: Color, b: Color) -> GradientPattern { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/pattern/ring.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | pub(crate) fn new(a: Color, b: Color) -> RingPattern { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/pattern/stripe.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 31 | pub(crate) fn new(a: Color, b: Color) -> StripePattern { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `closed` [INFO] [stdout] --> src/primitives/cone.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | closed: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Cone` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/primitives/cone.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/primitives/cone.rs:16:19 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) fn new() -> Cone { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `close` [INFO] [stdout] --> src/primitives/cone.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | pub(crate) fn close(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/primitives/cylinder.rs:16:19 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) fn new() -> Cylinder { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/primitives/plane.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) fn new() -> Plane { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_material` [INFO] [stdout] --> src/primitives/shape.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | pub(crate) fn set_material(&mut self, new: Material) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_pattern` [INFO] [stdout] --> src/primitives/shape.rs:105:19 [INFO] [stdout] | [INFO] [stdout] 105 | pub(crate) fn set_pattern(&mut self, new: Box) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `glass` [INFO] [stdout] --> src/primitives/sphere.rs:68:19 [INFO] [stdout] | [INFO] [stdout] 68 | pub(crate) fn glass() -> Sphere { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `water_material` [INFO] [stdout] --> src/samples/utility.rs:36:15 [INFO] [stdout] | [INFO] [stdout] 36 | pub(super) fn water_material(props: &mut ShapeProps) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `fov` [INFO] [stdout] --> src/scene/camera.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | fov: f64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_color` [INFO] [stdout] --> src/scene/shading/material.rs:85:19 [INFO] [stdout] | [INFO] [stdout] 85 | pub(crate) fn get_color(&self) -> Color { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_pattern` [INFO] [stdout] --> src/scene/shading/material.rs:149:19 [INFO] [stdout] | [INFO] [stdout] 149 | pub(crate) fn set_pattern(&mut self, new: Box) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `t` [INFO] [stdout] --> src/scene/tracing/intersection.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | pub(crate) t: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Computation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/scene/tracing/intersection.rs:115:10 [INFO] [stdout] | [INFO] [stdout] 115 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `point` [INFO] [stdout] --> src/scene/tracing/intersection.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub(crate) point: Tuple, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Computation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/scene/tracing/intersection.rs:115:10 [INFO] [stdout] | [INFO] [stdout] 115 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `inside` [INFO] [stdout] --> src/scene/tracing/intersection.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | pub(crate) inside: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Computation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/scene/tracing/intersection.rs:115:10 [INFO] [stdout] | [INFO] [stdout] 115 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `first` [INFO] [stdout] --> src/scene/tracing/intersection.rs:197:19 [INFO] [stdout] | [INFO] [stdout] 197 | pub(crate) fn first(&self) -> Option<&Intersection> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `last` [INFO] [stdout] --> src/scene/tracing/intersection.rs:201:19 [INFO] [stdout] | [INFO] [stdout] 201 | pub(crate) fn last(&self) -> Option<&Intersection> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `len` [INFO] [stdout] --> src/scene/tracing/intersection.rs:205:19 [INFO] [stdout] | [INFO] [stdout] 205 | pub(crate) fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get` [INFO] [stdout] --> src/scene/tracing/intersection.rs:209:19 [INFO] [stdout] | [INFO] [stdout] 209 | pub(crate) fn get(&self, index: usize) -> Option<&Intersection> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 36 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 26.52s [INFO] running `Command { std: "docker" "inspect" "69f55c848292d37d9fea3c265dfeb10e8723c44237f426ee60d9b808e16b0b13", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "69f55c848292d37d9fea3c265dfeb10e8723c44237f426ee60d9b808e16b0b13", kill_on_drop: false }` [INFO] [stdout] 69f55c848292d37d9fea3c265dfeb10e8723c44237f426ee60d9b808e16b0b13 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9d2ffc610de9a41e3c216eb93faa5f117af04ee6d6f4c2f82cb526d7831086df [INFO] running `Command { std: "docker" "start" "-a" "9d2ffc610de9a41e3c216eb93faa5f117af04ee6d6f4c2f82cb526d7831086df", kill_on_drop: false }` [INFO] [stderr] Compiling shindex-rust-tracer-challenge v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `rotation_y` [INFO] [stdout] --> src/samples/cylinders_sample.rs:1:35 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::math::transformation::{rotation_y, scaling, translation}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `water_material` [INFO] [stdout] --> src/samples/cylinders_sample.rs:8:58 [INFO] [stdout] | [INFO] [stdout] 8 | date_ymd_his, glass_material, mirror_material, save, water_material, SceneCamera, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f64::consts::PI` [INFO] [stdout] --> src/samples/cylinders_sample.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::f64::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `point` [INFO] [stdout] --> src/primitives/cone.rs:39:31 [INFO] [stdout] | [INFO] [stdout] 39 | fn local_normal_at(&self, point: Tuple) -> Tuple { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `closed` [INFO] [stdout] --> src/primitives/cone.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | closed: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `Cone` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/primitives/cone.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `close` [INFO] [stdout] --> src/primitives/cone.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | pub(crate) fn close(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `water_material` [INFO] [stdout] --> src/samples/utility.rs:36:15 [INFO] [stdout] | [INFO] [stdout] 36 | pub(super) fn water_material(props: &mut ShapeProps) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `t` [INFO] [stdout] --> src/scene/tracing/intersection.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | pub(crate) t: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Computation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/scene/tracing/intersection.rs:115:10 [INFO] [stdout] | [INFO] [stdout] 115 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.63s [INFO] running `Command { std: "docker" "inspect" "9d2ffc610de9a41e3c216eb93faa5f117af04ee6d6f4c2f82cb526d7831086df", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9d2ffc610de9a41e3c216eb93faa5f117af04ee6d6f4c2f82cb526d7831086df", kill_on_drop: false }` [INFO] [stdout] 9d2ffc610de9a41e3c216eb93faa5f117af04ee6d6f4c2f82cb526d7831086df [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a091a297cddcd05f90745732d6152e5a0e86befd3af573d212a1f159435468cb [INFO] running `Command { std: "docker" "start" "-a" "a091a297cddcd05f90745732d6152e5a0e86befd3af573d212a1f159435468cb", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unused import: `rotation_y` [INFO] [stderr] --> src/samples/cylinders_sample.rs:1:35 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::math::transformation::{rotation_y, scaling, translation}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `water_material` [INFO] [stderr] --> src/samples/cylinders_sample.rs:8:58 [INFO] [stderr] | [INFO] [stderr] 8 | date_ymd_his, glass_material, mirror_material, save, water_material, SceneCamera, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f64::consts::PI` [INFO] [stderr] --> src/samples/cylinders_sample.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::f64::consts::PI; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `point` [INFO] [stderr] --> src/primitives/cone.rs:39:31 [INFO] [stderr] | [INFO] [stderr] 39 | fn local_normal_at(&self, point: Tuple) -> Tuple { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `closed` [INFO] [stderr] --> src/primitives/cone.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | closed: bool, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] note: `Cone` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/primitives/cone.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `close` [INFO] [stderr] --> src/primitives/cone.rs:25:19 [INFO] [stderr] | [INFO] [stderr] 25 | pub(crate) fn close(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `water_material` [INFO] [stderr] --> src/samples/utility.rs:36:15 [INFO] [stderr] | [INFO] [stderr] 36 | pub(super) fn water_material(props: &mut ShapeProps) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `t` [INFO] [stderr] --> src/scene/tracing/intersection.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | pub(crate) t: f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Computation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/scene/tracing/intersection.rs:115:10 [INFO] [stderr] | [INFO] [stderr] 115 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `shindex-rust-tracer-challenge` (bin "shindex-rust-tracer-challenge" test) generated 8 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.14s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/shindex_rust_tracer_challenge-4e2288ecc8b774fd) [INFO] [stdout] [INFO] [stdout] running 194 tests [INFO] [stdout] test math::matrix::tests::calc_determinant_of_3x3_matrix ... ok [INFO] [stdout] test math::matrix::tests::calc_determinant_of_2x2_matrix ... ok [INFO] [stdout] test math::matrix::tests::calc_cofactor_of_3x3_matrix ... ok [INFO] [stdout] test math::matrix::tests::calc_determinant_of_4x4_matrix ... ok [INFO] [stdout] test math::matrix::tests::test_calc_minor_of_3x3_matrix ... ok [INFO] [stdout] test math::matrix::tests::test_calc_inverse_of_matrix_2 ... ok [INFO] [stdout] test math::matrix::tests::test_calc_inverse_of_matrix_1 ... ok [INFO] [stdout] test math::matrix::tests::test_calc_inverse_of_matrix_3 ... ok [INFO] [stdout] test math::matrix::tests::test_create_and_access_m2_matrix ... ok [INFO] [stdout] test math::matrix::tests::test_create_and_access_m3_matrix ... ok [INFO] [stdout] test math::matrix::tests::test_equality_with_different_matrices ... ok [INFO] [stdout] test math::matrix::tests::test_create_and_access_m4_matrix ... ok [INFO] [stdout] test math::matrix::tests::test_equality_with_identical_matrices ... ok [INFO] [stdout] test math::matrix::tests::test_invertible_matrix ... ok [INFO] [stdout] test math::matrix::tests::test_multiply_matrix_by_identity_matrix ... ok [INFO] [stdout] test math::matrix::tests::test_multiply_matrix_by_identity_tuple ... ok [INFO] [stdout] test math::matrix::tests::test_multiply_matrix_by_tuple ... ok [INFO] [stdout] test math::matrix::tests::test_multiply_two_matrices ... ok [INFO] [stdout] test math::matrix::tests::test_submatrix_of_4x4 ... ok [INFO] [stdout] test math::matrix::tests::test_transposing_matrix ... ok [INFO] [stdout] test math::matrix::tests::test_submatrix_of_3x3 ... ok [INFO] [stdout] test math::matrix::tests::test_multiply_product_by_inverse ... ok [INFO] [stdout] test math::transformation::tests::test_multiply_by_translation_matrix ... ok [INFO] [stdout] test math::transformation::tests::test_multiply_by_inverse_of_translation_matrix ... ok [INFO] [stdout] test math::transformation::tests::test_reflection_is_scaling_by_negative_value ... ok [INFO] [stdout] test math::transformation::tests::test_multiply_inverse_of_scaling_matrix ... ok [INFO] [stdout] test math::transformation::tests::test_scaling_matrix_applied_to_point ... ok [INFO] [stdout] test math::transformation::tests::test_shearing_transformation_moves_x_in_proportion_to_y ... ok [INFO] [stdout] test math::transformation::tests::test_shearing_transformation_moves_x_in_proportion_to_z ... ok [INFO] [stdout] test math::transformation::tests::test_shearing_transformation_moves_y_in_proportion_to_x ... ok [INFO] [stdout] test math::transformation::tests::test_shearing_transformation_moves_y_in_proportion_to_z ... ok [INFO] [stdout] test math::transformation::tests::test_shearing_transformation_moves_z_in_proportion_to_x ... ok [INFO] [stdout] test math::transformation::tests::test_individual_transformations_are_applied_in_sequence ... ok [INFO] [stdout] test math::transformation::tests::test_scaling_matrix_applied_to_vector ... ok [INFO] [stdout] test math::transformation::tests::test_transformation_matrix_for_default_orientation ... ok [INFO] [stdout] test math::transformation::tests::test_rotate_point_around_z_axis ... ok [INFO] [stdout] test math::transformation::tests::test_shearing_transformation_moves_z_in_proportion_to_y ... ok [INFO] [stdout] test math::transformation::tests::test_rotate_point_around_y_axis ... ok [INFO] [stdout] test math::transformation::tests::test_rotate_point_around_x_axis ... ok [INFO] [stdout] test math::transformation::tests::test_chained_transformations_must_be_applied_in_reverse_order ... ok [INFO] [stdout] test math::transformation::tests::test_inverse_rotate_point_around_x_axis_in_opposite_direction ... ok [INFO] [stdout] test math::transformation::tests::test_view_transformation_looking_in_positive_z_direction ... ok [INFO] [stdout] test math::transformation::tests::test_view_transformation_moves_world ... ok [INFO] [stdout] test math::tuple::tests::negating_tuple ... ok [INFO] [stdout] test math::transformation::tests::test_view_in_arbitrary_direction ... ok [INFO] [stdout] test math::tuple::tests::test_add_two_tuples ... ok [INFO] [stdout] test math::transformation::tests::test_translation_does_not_affect_direction_vectors ... ok [INFO] [stdout] test math::tuple::tests::test_compute_magnitude_1 ... ok [INFO] [stdout] test math::tuple::tests::test_compute_magnitude_2 ... ok [INFO] [stdout] test math::tuple::tests::test_compute_magnitude_3 ... ok [INFO] [stdout] test math::tuple::tests::test_compute_magnitude_4 ... ok [INFO] [stdout] test math::tuple::tests::test_compute_magnitude_5 ... ok [INFO] [stdout] test math::tuple::tests::test_cross_product_1 ... ok [INFO] [stdout] test math::tuple::tests::test_cross_product_2 ... ok [INFO] [stdout] test math::matrix::tests::test_non_invertible_matrix ... ok [INFO] [stdout] test math::tuple::tests::test_direction_has_factory_fn ... ok [INFO] [stdout] test math::tuple::tests::test_div_tuple_by_scalar ... ok [INFO] [stdout] test math::tuple::tests::test_dot_product_of_directions ... ok [INFO] [stdout] test math::tuple::tests::test_mul_tuple_by_faction ... ok [INFO] [stdout] test math::tuple::tests::test_mul_tuple_by_scalar ... ok [INFO] [stdout] test math::tuple::tests::test_normalize_1 ... ok [INFO] [stdout] test math::tuple::tests::test_normalize_2 ... ok [INFO] [stdout] test math::tuple::tests::test_point_has_factory_fn ... ok [INFO] [stdout] test math::tuple::tests::test_reflecting_direction_approaching_at_45_degree ... ok [INFO] [stdout] test math::tuple::tests::test_reflecting_direction_off_slanted_surface ... ok [INFO] [stdout] test math::tuple::tests::test_magnitude_of_normalized_vector ... ok [INFO] [stdout] test math::tuple::tests::test_subtract_direction_from_point ... ok [INFO] [stdout] test math::tuple::tests::test_subtract_two_directions ... ok [INFO] [stdout] test math::tuple::tests::test_subtract_two_points ... ok [INFO] [stdout] test math::tuple::tests::test_tuple_with_w_equals_0_is_direction ... ok [INFO] [stdout] test math::tuple::tests::test_tuple_with_w_equals_1_is_point ... ok [INFO] [stdout] test pattern::checker::tests::test_checkers_should_repeat_in_x ... ok [INFO] [stdout] test pattern::checker::tests::test_checkers_should_repeat_in_y ... ok [INFO] [stdout] test pattern::checker::tests::test_checkers_should_repeat_in_z ... ok [INFO] [stdout] test pattern::stripe::tests::test_create_stripe_pattern ... ok [INFO] [stdout] test pattern::ring::tests::test_ring_should_extend_in_both_x_and_z ... ok [INFO] [stdout] test pattern::stripe::tests::test_stripe_pattern_is_constant_in_y ... ok [INFO] [stdout] test pattern::tests::test_default_pattern_transformation ... ok [INFO] [stdout] test pattern::tests::test_assign_pattern_transformation ... ok [INFO] [stdout] test pattern::stripe::tests::test_stripe_pattern_is_constant_in_z ... ok [INFO] [stdout] test pattern::stripe::tests::test_stripe_pattern_alternates_in_x ... ok [INFO] [stdout] test primitives::cone::tests::test_intersect_cone_with_ray ... ok [INFO] [stdout] test primitives::cone::tests::test_intersecting_cone_with_ray_parallel_to_one_of_its_halves ... ok [INFO] [stdout] test primitives::cube::tests::test_normal_on_surface_of_cube ... ok [INFO] [stdout] test primitives::cube::tests::test_ray_misses_cube ... ok [INFO] [stdout] test pattern::tests::test_pattern_with_object_transformation ... ok [INFO] [stdout] test primitives::cube::tests::test_ray_intersects_cube ... ok [INFO] [stdout] test primitives::cylinder::tests::test_default_minimum_and_maximum_for_a_cylinder ... ok [INFO] [stdout] test pattern::tests::test_pattern_with_object_and_pattern_transformation ... ok [INFO] [stdout] test primitives::cylinder::tests::test_intersecting_caps_of_closed_cylinder ... ok [INFO] [stdout] test primitives::cylinder::tests::test_intersecting_a_constrained_cylinder ... ok [INFO] [stdout] test primitives::cylinder::tests::test_normal_vector_on_cylinder ... ok [INFO] [stdout] test pattern::tests::test_pattern_with_pattern_transformation ... ok [INFO] [stdout] test primitives::cylinder::tests::test_normal_vector_on_cylinder_end_caps ... ok [INFO] [stdout] test primitives::cylinder::tests::test_ray_miss_cylinder ... ok [INFO] [stdout] test primitives::cylinder::tests::test_ray_strikes_cylinder ... ok [INFO] [stdout] test primitives::plane::tests::test_intersect_plane_from_above ... ok [INFO] [stdout] test primitives::plane::tests::test_intersect_plane_from_below ... ok [INFO] [stdout] test primitives::plane::tests::test_intersect_with_coplanar_ray ... ok [INFO] [stdout] test primitives::plane::tests::test_intersect_with_ray_parallel_to_plane ... ok [INFO] [stdout] test primitives::plane::tests::test_normal_of_plane_is_constant_everywhere ... ok [INFO] [stdout] test primitives::shape::tests::test_compute_normal_on_asd_shape ... ok [INFO] [stdout] test primitives::shape::tests::test_compute_normal_on_translated_shape ... ok [INFO] [stdout] test primitives::shape::tests::test_shape_assigning_material ... ok [INFO] [stdout] test primitives::shape::tests::test_shape_default_material ... ok [INFO] [stdout] test primitives::shape::tests::test_intersect_scaled_shape_with_ray ... ok [INFO] [stdout] test primitives::shape::tests::test_shape_default_transform ... ok [INFO] [stdout] test primitives::shape::tests::test_intersect_translated_shape_with_ray ... ok [INFO] [stdout] test primitives::sphere::tests::test_helper_function_to_create_sphere_with_glassy_material ... ok [INFO] [stdout] test primitives::sphere::tests::test_normal_on_sphere_at_non_axial_point ... ok [INFO] [stdout] test primitives::sphere::tests::test_intersect_sets_object_on_intersection ... ok [INFO] [stdout] test primitives::sphere::tests::test_normal_on_sphere_at_point_on_x_axis ... ok [INFO] [stdout] test primitives::shape::tests::test_assign_transformation ... ok [INFO] [stdout] test primitives::sphere::tests::test_normal_on_sphere_at_point_on_y_axis ... ok [INFO] [stdout] test pattern::gradient::tests::test_gradient_linearly_interpolates_between_colors ... ok [INFO] [stdout] test primitives::cylinder::tests::test_cylinder_is_not_closed_as_default ... ok [INFO] [stdout] test primitives::sphere::tests::test_ray_intersect_sphere_at_tangent ... ok [INFO] [stdout] test primitives::sphere::tests::test_ray_misses_sphere ... ok [INFO] [stdout] test primitives::sphere::tests::test_ray_is_behind_sphere ... ok [INFO] [stdout] test primitives::sphere::tests::test_ray_intersect_sphere_at_two_points ... ok [INFO] [stdout] test primitives::sphere::tests::test_ray_originates_in_sphere ... ok [INFO] [stdout] test scene::camera::tests::test_create_camera ... ok [INFO] [stdout] test scene::camera::tests::test_create_ray_then_camera_is_transformed ... ok [INFO] [stdout] test scene::camera::tests::test_create_ray_through_center_of_canvas ... ok [INFO] [stdout] test scene::camera::tests::test_pixel_size_for_horizontal_canvas ... ok [INFO] [stdout] test scene::camera::tests::test_create_ray_through_corner_of_canvas ... ok [INFO] [stdout] test scene::camera::tests::test_pixel_size_for_vertical_canvas ... ok [INFO] [stdout] test primitives::sphere::tests::test_normal_on_sphere_at_point_on_z_axis ... ok [INFO] [stdout] test scene::canvas::tests::test_create_ppm_data ... ok [INFO] [stdout] test scene::canvas::tests::test_create_ppm_header ... ok [INFO] [stdout] test scene::canvas::tests::test_creating_canvas ... ok [INFO] [stdout] test scene::canvas::tests::test_ppm_ends_with_newlines ... ok [INFO] [stdout] test scene::canvas::tests::test_splitting_to_long_ppm_lines ... ok [INFO] [stdout] test scene::shading::color::tests::test_add_colors ... ok [INFO] [stdout] test scene::shading::color::tests::test_multiply_colors ... ok [INFO] [stdout] test scene::shading::color::tests::test_colors_are_like_tuples ... ok [INFO] [stdout] test scene::shading::light::tests::test_point_light_has_position_and_intensity ... ok [INFO] [stdout] test scene::shading::material::tests::test_default_material ... ok [INFO] [stdout] test scene::shading::material::tests::test_light_behind_surface ... ok [INFO] [stdout] test scene::shading::material::tests::test_light_with_eye_between_light_and_surface ... ok [INFO] [stdout] test scene::shading::material::tests::test_light_with_eye_between_light_and_surface_with_45_degree_offset ... ok [INFO] [stdout] test scene::shading::material::tests::test_light_with_eye_in_path_of_reflection_vector ... ok [INFO] [stdout] test scene::shading::material::tests::test_light_with_eye_opposite_surface_and_light_with_45_degree_offset ... ok [INFO] [stdout] test scene::shading::material::tests::test_lighting_with_surface_in_shadow ... ok [INFO] [stdout] test scene::shading::material::tests::test_reflectivity_of_default_material ... ok [INFO] [stdout] test scene::shading::material::tests::test_transparency_and_refractive_index_for_default_material ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_aggregating_intersections ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_hit_is_always_lowest_negative_value ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_hit_when_all_intersections_have_negative_t ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_hit_when_all_intersections_have_positive_t ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_hit_should_offset_point ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_hit_when_some_intersections_have_negative_t ... ok [INFO] [stdout] test scene::shading::color::tests::test_subtract_colors ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_hit_when_intersection_occurs_on_outside ... ok [INFO] [stdout] test scene::canvas::tests::test_write_pixel ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_hit_when_intersection_occurs_on_inside ... ok [INFO] [stdout] test scene::shading::color::tests::test_multiply_color_by_scalar ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_intersection_encapsulate_t_and_object ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_finding_n1_and_n2_at_various_intersections ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_precomputing_state_of_intersection ... ok [INFO] [stdout] test scene::shading::material::tests::test_lighting_with_pattern_applied ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_schlick_approximation_under_total_internal_reflection ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_schlick_approximation_with_perpendicular_viewing_angle ... ok [INFO] [stdout] test scene::tracing::ray::tests::test_compute_point_from_distance ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_precomputing_the_reflection_vector ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_schlick_approximation_with_small_angle_and_n2_greater_n1 ... ok [INFO] [stdout] test scene::tracing::ray::tests::test_create_and_query_ray ... ok [INFO] [stdout] test scene::tracing::ray::tests::test_translating_a_ray ... ok [INFO] [stdout] test scene::tracing::ray::tests::test_scaling_a_ray ... ok [INFO] [stdout] test scene::world::tests::test_color_when_ray_miss ... ok [INFO] [stdout] test scene::world::tests::test_color_when_ray_hits ... ok [INFO] [stdout] test scene::world::tests::test_color_with_intersection_behind_ray ... ok [INFO] [stdout] test scene::world::tests::test_creating_world ... ok [INFO] [stdout] test scene::world::tests::test_no_shadow_when_nothing_collinear_with_point_and_light ... ok [INFO] [stdout] test scene::world::tests::test_no_shadow_when_object_is_behind_light ... ok [INFO] [stdout] test scene::world::tests::test_intersect_world_with_ray ... ok [INFO] [stdout] test scene::world::tests::test_no_shadow_when_object_is_behind_point ... ok [INFO] [stdout] test scene::world::tests::test_reflected_color_at_maximum_recursive_depth ... ok [INFO] [stdout] test scene::world::tests::test_reflected_color_for_non_reflective_material ... ok [INFO] [stdout] test scene::world::tests::test_reflected_color_for_reflective_material ... ok [INFO] [stdout] test scene::tracing::intersection::tests::test_under_point_is_offset_below_the_surface ... ok [INFO] [stdout] test scene::world::tests::test_refracted_color_at_maximum_recursive_depth ... ok [INFO] [stdout] test scene::world::tests::test_refracted_color_under_total_internal_reflection ... ok [INFO] [stdout] test scene::world::tests::test_refracted_color_with_opaque_surface ... ok [INFO] [stdout] test scene::world::tests::test_shading_an_intersection ... ok [INFO] [stdout] test scene::world::tests::test_shadow_when_object_is_between_point_and_light ... ok [INFO] [stdout] test scene::world::tests::test_shading_an_intersection_from_inside ... ok [INFO] [stdout] test scene::world::tests::test_shade_hit_with_intersection_in_shadow ... ok [INFO] [stdout] test scene::world::tests::test_refracted_color_with_a_refracted_ray ... ok [INFO] [stdout] test scene::world::tests::test_shade_hit_for_reflective_material ... ok [INFO] [stdout] test scene::world::tests::test_shade_hit_with_reflective_and_transparent_material ... ok [INFO] [stdout] test scene::world::tests::test_color_at_with_mutually_reflective_surfaces ... ok [INFO] [stdout] test scene::world::tests::test_shade_hit_with_transparent_material ... ok [INFO] [stdout] test scene::camera::tests::test_render_world_with_camera ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 194 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a091a297cddcd05f90745732d6152e5a0e86befd3af573d212a1f159435468cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a091a297cddcd05f90745732d6152e5a0e86befd3af573d212a1f159435468cb", kill_on_drop: false }` [INFO] [stdout] a091a297cddcd05f90745732d6152e5a0e86befd3af573d212a1f159435468cb