[INFO] cloning repository https://github.com/agourlay/ray-tracer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/agourlay/ray-tracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fagourlay%2Fray-tracer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fagourlay%2Fray-tracer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 00bbd59c33434618922654cdb1016497186a9cba [INFO] testing agourlay/ray-tracer against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fagourlay%2Fray-tracer" "/workspace/builds/worker-5/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/agourlay/ray-tracer on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/agourlay/ray-tracer [INFO] finished tweaking git repo https://github.com/agourlay/ray-tracer [INFO] tweaked toml for git repo https://github.com/agourlay/ray-tracer written to /workspace/builds/worker-5/source/Cargo.toml [INFO] crate git repo https://github.com/agourlay/ray-tracer already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4e78bd3a3ac66e3f0b6f8bbd5aeef2dbdb02bd1a225e82b3fafc788173b67f84 [INFO] running `Command { std: "docker" "start" "-a" "4e78bd3a3ac66e3f0b6f8bbd5aeef2dbdb02bd1a225e82b3fafc788173b67f84", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4e78bd3a3ac66e3f0b6f8bbd5aeef2dbdb02bd1a225e82b3fafc788173b67f84", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4e78bd3a3ac66e3f0b6f8bbd5aeef2dbdb02bd1a225e82b3fafc788173b67f84", kill_on_drop: false }` [INFO] [stdout] 4e78bd3a3ac66e3f0b6f8bbd5aeef2dbdb02bd1a225e82b3fafc788173b67f84 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 905639229bd37774880e7a672a5ce710d299fcc526a8ed26d50866ccd764197c [INFO] running `Command { std: "docker" "start" "-a" "905639229bd37774880e7a672a5ce710d299fcc526a8ed26d50866ccd764197c", kill_on_drop: false }` [INFO] [stderr] Compiling ray-tracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `local_point` [INFO] [stdout] --> src/plane.rs:57:31 [INFO] [stdout] | [INFO] [stdout] 57 | fn local_normal_at(&self, local_point: &(f64, f64, f64, f64)) -> (f64, f64, f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_point` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `field_of_view` [INFO] [stdout] --> src/camera.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | field_of_view: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `transform` [INFO] [stdout] --> src/camera.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | transform: Matrix, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `make_with_color` [INFO] [stdout] --> src/canvas.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn make_with_color(width: usize, height: usize, color: Color) -> Canvas { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `color_at` [INFO] [stdout] --> src/canvas.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn color_at(self, x: usize, y: usize) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/material.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new(color: Color, diffuse: f64, specular: f64) -> Material { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `make_matrix_2` [INFO] [stdout] --> src/matrix.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn make_matrix_2(aa: f64, ab: f64, ba: f64, bb: f64) -> Matrix { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `make_matrix_3` [INFO] [stdout] --> src/matrix.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn make_matrix_3( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `shearing` [INFO] [stdout] --> src/matrix.rs:257:12 [INFO] [stdout] | [INFO] [stdout] 257 | pub fn shearing(xy: f64, xz: f64, yx: f64, yz: f64, zx: f64, zy: f64) -> Matrix { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `position` [INFO] [stdout] --> src/projectile.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | position: Tuple, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Projectile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/projectile.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | #[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: `velocity` [INFO] [stdout] --> src/projectile.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | velocity: Tuple, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Projectile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/projectile.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | #[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: struct is never constructed: `Env` [INFO] [stdout] --> src/projectile.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct Env { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `tick` [INFO] [stdout] --> src/projectile.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | fn tick(self: Projectile, env: &Env) -> Projectile { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `simulation` [INFO] [stdout] --> src/projectile.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn simulation() -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_radius` [INFO] [stdout] --> src/sphere.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn set_radius(self, radius: f64) -> Sphere { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `tuples_are_equal` [INFO] [stdout] --> src/tuple.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn tuples_are_equal(t1: &Tuple, t2: &Tuple) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `tuple_is_vector` [INFO] [stdout] --> src/tuple.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn tuple_is_vector(t: &Tuple) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `tuple_is_point` [INFO] [stdout] --> src/tuple.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn tuple_is_point(t: &Tuple) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `scale_tuple_division` [INFO] [stdout] --> src/tuple.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn scale_tuple_division(v: &Tuple, scale: f64) -> Tuple { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_lights` [INFO] [stdout] --> src/world.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn set_lights(self, lights: Vec) -> World { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `default` [INFO] [stdout] --> src/world.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn default() -> World { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.05s [INFO] running `Command { std: "docker" "inspect" "905639229bd37774880e7a672a5ce710d299fcc526a8ed26d50866ccd764197c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "905639229bd37774880e7a672a5ce710d299fcc526a8ed26d50866ccd764197c", kill_on_drop: false }` [INFO] [stdout] 905639229bd37774880e7a672a5ce710d299fcc526a8ed26d50866ccd764197c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6811af51e94405116a2697141a00e67d1af13b5d32b9df71bf7336727aa8afe5 [INFO] running `Command { std: "docker" "start" "-a" "6811af51e94405116a2697141a00e67d1af13b5d32b9df71bf7336727aa8afe5", kill_on_drop: false }` [INFO] [stderr] Compiling ray-tracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `local_point` [INFO] [stdout] --> src/plane.rs:57:31 [INFO] [stdout] | [INFO] [stdout] 57 | fn local_normal_at(&self, local_point: &(f64, f64, f64, f64)) -> (f64, f64, f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_point` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `local_ray` [INFO] [stdout] --> src/shape.rs:86:35 [INFO] [stdout] | [INFO] [stdout] 86 | fn local_intersect(&self, local_ray: &Ray) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_ray` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `local_point` [INFO] [stdout] --> src/shape.rs:90:35 [INFO] [stdout] | [INFO] [stdout] 90 | fn local_normal_at(&self, local_point: &(f64, f64, f64, f64)) -> (f64, f64, f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_point` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `position` [INFO] [stdout] --> src/projectile.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | position: Tuple, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `Projectile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/projectile.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | #[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: `velocity` [INFO] [stdout] --> src/projectile.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | velocity: Tuple, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Projectile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/projectile.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | #[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: struct is never constructed: `Env` [INFO] [stdout] --> src/projectile.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct Env { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `tick` [INFO] [stdout] --> src/projectile.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | fn tick(self: Projectile, env: &Env) -> Projectile { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `simulation` [INFO] [stdout] --> src/projectile.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn simulation() -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `tuples_are_equal` [INFO] [stdout] --> src/tuple.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn tuples_are_equal(t1: &Tuple, t2: &Tuple) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_lights` [INFO] [stdout] --> src/world.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn set_lights(self, lights: Vec) -> World { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.45s [INFO] [stderr] Executable unittests src/main.rs (/opt/rustwide/target/debug/deps/ray_tracer-db0365b245be69ca) [INFO] running `Command { std: "docker" "inspect" "6811af51e94405116a2697141a00e67d1af13b5d32b9df71bf7336727aa8afe5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6811af51e94405116a2697141a00e67d1af13b5d32b9df71bf7336727aa8afe5", kill_on_drop: false }` [INFO] [stdout] 6811af51e94405116a2697141a00e67d1af13b5d32b9df71bf7336727aa8afe5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 353f7920568c47587b143c2790f46f85bb5032ea6d59c0b55b1b87d2bcc98396 [INFO] running `Command { std: "docker" "start" "-a" "353f7920568c47587b143c2790f46f85bb5032ea6d59c0b55b1b87d2bcc98396", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `local_point` [INFO] [stderr] --> src/plane.rs:57:31 [INFO] [stderr] | [INFO] [stderr] 57 | fn local_normal_at(&self, local_point: &(f64, f64, f64, f64)) -> (f64, f64, f64, f64) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_point` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `local_ray` [INFO] [stderr] --> src/shape.rs:86:35 [INFO] [stderr] | [INFO] [stderr] 86 | fn local_intersect(&self, local_ray: &Ray) -> Vec { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_ray` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `local_point` [INFO] [stderr] --> src/shape.rs:90:35 [INFO] [stderr] | [INFO] [stderr] 90 | fn local_normal_at(&self, local_point: &(f64, f64, f64, f64)) -> (f64, f64, f64, f64) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_point` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `position` [INFO] [stderr] --> src/projectile.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | position: Tuple, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] note: `Projectile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/projectile.rs:6:10 [INFO] [stderr] | [INFO] [stderr] 6 | #[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: field is never read: `velocity` [INFO] [stderr] --> src/projectile.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | velocity: Tuple, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Projectile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/projectile.rs:6:10 [INFO] [stderr] | [INFO] [stderr] 6 | #[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: struct is never constructed: `Env` [INFO] [stderr] --> src/projectile.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 12 | struct Env { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `tick` [INFO] [stderr] --> src/projectile.rs:18:8 [INFO] [stderr] | [INFO] [stderr] 18 | fn tick(self: Projectile, env: &Env) -> Projectile { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `simulation` [INFO] [stderr] --> src/projectile.rs:28:12 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn simulation() -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `tuples_are_equal` [INFO] [stderr] --> src/tuple.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn tuples_are_equal(t1: &Tuple, t2: &Tuple) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `set_lights` [INFO] [stderr] --> src/world.rs:38:12 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn set_lights(self, lights: Vec) -> World { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ray-tracer` (bin "ray-tracer" test) generated 10 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ray_tracer-db0365b245be69ca) [INFO] [stdout] [INFO] [stdout] running 140 tests [INFO] [stdout] test canvas::tuple_tests::correctly_init ... ok [INFO] [stdout] test canvas::tuple_tests::insert_color_in_canvas ... ok [INFO] [stdout] test canvas::tuple_tests::ppm_ends_with_new_line ... ok [INFO] [stdout] test color::color_tests::created_from_tuple ... ok [INFO] [stdout] test canvas::tuple_tests::valid_ppm ... ok [INFO] [stdout] test canvas::tuple_tests::ppm_has_max_line_size ... ok [INFO] [stdout] test intersection::intersection_tests::hit_always_lowest_non_negative ... ok [INFO] [stdout] test intersection::intersection_tests::hit_when_all_negative ... ok [INFO] [stdout] test intersection::intersection_tests::hit_when_all_positive ... ok [INFO] [stdout] test intersection::intersection_tests::hit_when_all_some_negative_positive ... ok [INFO] [stdout] test intersection::intersection_tests::prepare_computation_for_intersection_inside ... ok [INFO] [stdout] test intersection::intersection_tests::prepare_computation_for_intersection_outside ... ok [INFO] [stdout] test camera::camera_tests::pixel_size_horizontal_canvas ... ok [INFO] [stdout] test camera::camera_tests::ray_through_center_canvas_untransformed_two ... ok [INFO] [stdout] test camera::camera_tests::pixel_size_vertical_canvas ... ok [INFO] [stdout] test camera::camera_tests::constructing_a_camera ... ok [INFO] [stdout] test camera::camera_tests::ray_through_center_canvas_untransformed_one ... ok [INFO] [stdout] test light::light_tests::creating_point_light ... ok [INFO] [stdout] test camera::camera_tests::ray_through_center_canvas_transformed ... ok [INFO] [stdout] test light::light_tests::lighting_eye_between_light_and_surface ... ok [INFO] [stdout] test intersection::intersection_tests::the_hit_offset_the_point_to_avoid_self_shadowing ... ok [INFO] [stdout] test light::light_tests::lighting_eye_between_light_and_surface_eye_offset_45_deg ... ok [INFO] [stdout] test light::light_tests::lighting_eye_between_light_and_surface_light_offset_45_deg ... ok [INFO] [stdout] test light::light_tests::lighting_with_light_behind_surface ... ok [INFO] [stdout] test light::light_tests::lighting_with_light_in_shadow ... ok [INFO] [stdout] test material::material_tests::default_material ... ok [INFO] [stdout] test matrix::matrix_tests::make_matrix_2_valid ... ok [INFO] [stdout] test matrix::matrix_tests::make_matrix_3_valid ... ok [INFO] [stdout] test light::light_tests::lighting_with_pattern_applied ... ok [INFO] [stdout] test matrix::matrix_tests::make_matrix_4_valid ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_cofactor ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_determinant_2 ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_determinant_3 ... ok [INFO] [stdout] test camera::camera_tests::rendering_world_with_camera ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_determinant_4 ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_equality_invalid ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_equality_valid ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_inverse_translation_point ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_inversion ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_minor ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_inversion_bis ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_invert_identity ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_multiply ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_multiply_by_tuple ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_multiply_identity ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_multiply_identity_bis ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_reflection_via_negative_scaling ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_scaling_point ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_scaling_inverse ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_scaling_vector ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_sub_matrix_4_to_3 ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_translation_point ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_translation_vector_no_effect ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_transpose ... ok [INFO] [stdout] test matrix::matrix_tests::matrix_transpose_identity ... ok [INFO] [stdout] test matrix::matrix_tests::rotating_point_around_x_axis ... ok [INFO] [stdout] test matrix::matrix_tests::rotating_point_around_y_axis ... ok [INFO] [stdout] test matrix::matrix_tests::rotating_point_around_z_axis ... ok [INFO] [stdout] test matrix::matrix_tests::shearing_moves_z_proportion_to_y ... ok [INFO] [stdout] test matrix::matrix_tests::transformations_chained_in_reverse ... ok [INFO] [stdout] test pattern::pattern_tests::a_checker_pattern_should_repeat_in_x ... ok [INFO] [stdout] test pattern::pattern_tests::a_checker_pattern_should_repeat_in_y ... ok [INFO] [stdout] test pattern::pattern_tests::a_gradient_pattern_linearly_interpolates_between_two_colors ... ok [INFO] [stdout] test pattern::pattern_tests::a_ring_pattern_should_extend_in_both_x_and_z ... ok [INFO] [stdout] test pattern::pattern_tests::a_stripe_pattern_alternates_in_x ... ok [INFO] [stdout] test pattern::pattern_tests::a_checker_pattern_should_repeat_in_z ... ok [INFO] [stdout] test pattern::pattern_tests::a_stripe_pattern_is_constant_in_y ... ok [INFO] [stdout] test matrix::matrix_tests::transformations_in_sequence ... ok [INFO] [stdout] test plane::plane_tests::intersect_coplanar_to_the_plane ... ok [INFO] [stdout] test plane::plane_tests::intersect_parallel_to_the_plane ... ok [INFO] [stdout] test pattern::pattern_tests::a_stripe_pattern_is_constant_in_z ... ok [INFO] [stdout] test plane::plane_tests::intersect_plane_from_above ... ok [INFO] [stdout] test plane::plane_tests::intersect_plane_from_below ... ok [INFO] [stdout] test plane::plane_tests::normal_of_plan_is_constant_everywhere ... ok [INFO] [stdout] test pattern::pattern_tests::a_stripe_pattern_with_transformation ... ok [INFO] [stdout] test ray::ray_tests::scaling_ray ... ok [INFO] [stdout] test ray::ray_tests::translating_ray ... ok [INFO] [stdout] test ray::ray_tests::computing_point_from_distance ... ok [INFO] [stdout] test pattern::pattern_tests::a_stripe_pattern_on_transformed_object ... ok [INFO] [stdout] test shape::shape_tests::can_set_material ... ok [INFO] [stdout] test pattern::pattern_tests::a_stripe_pattern_with_transformation_on_transformed_object ... ok [INFO] [stdout] test shape::shape_tests::can_set_transformation ... ok [INFO] [stdout] test shape::shape_tests::has_a_default_material ... ok [INFO] [stdout] test ray::ray_tests::creating_querying_ray ... ok [INFO] [stdout] test shape::shape_tests::has_a_default_transformation ... ok [INFO] [stdout] test sphere::sphere_tests::changing_sphere_transform ... ok [INFO] [stdout] test sphere::sphere_tests::normal_is_a_normalized_vector ... ok [INFO] [stdout] test sphere::sphere_tests::normal_on_x_axis ... ok [INFO] [stdout] test sphere::sphere_tests::intersecting_scaled_sphere_with_ray ... ok [INFO] [stdout] test sphere::sphere_tests::intersecting_translated_sphere_with_ray ... ok [INFO] [stdout] test sphere::sphere_tests::normal_on_a_translated_sphere ... ok [INFO] [stdout] test sphere::sphere_tests::normal_on_non_axial_point ... ok [INFO] [stdout] test sphere::sphere_tests::ray_intersects_sphere_at_tangent ... ok [INFO] [stdout] test sphere::sphere_tests::normal_on_a_transformed_sphere ... ok [INFO] [stdout] test sphere::sphere_tests::ray_intersects_sphere_with_two_points ... ok [INFO] [stdout] test sphere::sphere_tests::ray_misses_sphere ... ok [INFO] [stdout] test sphere::sphere_tests::normal_on_y_axis ... ok [INFO] [stdout] test sphere::sphere_tests::sphere_default_transform ... ok [INFO] [stdout] test transformation::transformation_tests::arbitrary_transformation ... ok [INFO] [stdout] test transformation::transformation_tests::transformation_for_default_orientation ... ok [INFO] [stdout] test transformation::transformation_tests::transformation_looking_in_positive_z ... ok [INFO] [stdout] test sphere::sphere_tests::ray_originates_inside_sphere ... ok [INFO] [stdout] test sphere::sphere_tests::sphere_behind_ray ... ok [INFO] [stdout] test transformation::transformation_tests::transformation_moves_the_world ... ok [INFO] [stdout] test tuple::tuple_tests::is_not_point ... ok [INFO] [stdout] test tuple::tuple_tests::is_not_vector ... ok [INFO] [stdout] test tuple::tuple_tests::is_point ... ok [INFO] [stdout] test sphere::sphere_tests::normal_on_z_axis ... ok [INFO] [stdout] test tuple::tuple_tests::cross_product_of_vectors ... ok [INFO] [stdout] test tuple::tuple_tests::is_vector ... ok [INFO] [stdout] test tuple::tuple_tests::magnitude_of_vector ... ok [INFO] [stdout] test tuple::tuple_tests::dot_product_of_vectors ... ok [INFO] [stdout] test sphere::sphere_tests::sphere_may_be_assigned_material ... ok [INFO] [stdout] test tuple::tuple_tests::point_is_point ... ok [INFO] [stdout] test sphere::sphere_tests::sphere_has_default_material ... ok [INFO] [stdout] test tuple::tuple_tests::reflecting_vector_45_deg ... ok [INFO] [stdout] test tuple::tuple_tests::reflecting_vector_off_slanted_surface ... ok [INFO] [stdout] test tuple::tuple_tests::normalize_vector ... ok [INFO] [stdout] test tuple::tuple_tests::scaling_tuple ... ok [INFO] [stdout] test tuple::tuple_tests::negating_a_tuple ... ok [INFO] [stdout] test tuple::tuple_tests::scaling_tuple_by_fraction ... ok [INFO] [stdout] test tuple::tuple_tests::scaling_tuple_division ... ok [INFO] [stdout] test tuple::tuple_tests::subtracting_a_vector_from_a_point ... ok [INFO] [stdout] test tuple::tuple_tests::subtracting_a_vector_from_vector_zero ... ok [INFO] [stdout] test tuple::tuple_tests::subtracting_two_points ... ok [INFO] [stdout] test tuple::tuple_tests::subtracting_two_vectors ... ok [INFO] [stdout] test tuple::tuple_tests::tuple_addition ... ok [INFO] [stdout] test tuple::tuple_tests::vector_is_point ... ok [INFO] [stdout] test world::world_tests::creating_empty_world ... ok [INFO] [stdout] test world::world_tests::intersect_default_world ... ok [INFO] [stdout] test world::world_tests::creating_default_world ... ok [INFO] [stdout] test world::world_tests::no_shadow_when_an_object_is_behind_the_point ... ok [INFO] [stdout] test world::world_tests::no_shadow_when_an_object_is_behind_the_light ... ok [INFO] [stdout] test world::world_tests::no_shadow_when_an_object_is_between_the_point_and_light ... ok [INFO] [stdout] test world::world_tests::no_shadow_when_nothing_colinear_with_point_and_light ... ok [INFO] [stdout] test world::world_tests::shade_at_intersection ... ok [INFO] [stdout] test world::world_tests::shade_at_intersection_from_the_inside ... ok [INFO] [stdout] test world::world_tests::world_color_when_ray_hits ... ok [INFO] [stdout] test world::world_tests::world_color_when_ray_misses ... ok [INFO] [stdout] test world::world_tests::shade_it_intersection_in_the_shadow ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 140 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "353f7920568c47587b143c2790f46f85bb5032ea6d59c0b55b1b87d2bcc98396", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "353f7920568c47587b143c2790f46f85bb5032ea6d59c0b55b1b87d2bcc98396", kill_on_drop: false }` [INFO] [stdout] 353f7920568c47587b143c2790f46f85bb5032ea6d59c0b55b1b87d2bcc98396