[INFO] cloning repository https://github.com/fremag/ray_tracer_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fremag/ray_tracer_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffremag%2Fray_tracer_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffremag%2Fray_tracer_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9bd4fbbff899606758fb2d3d9dc41107d00727c4 [INFO] testing fremag/ray_tracer_rust against master#2fe50cd72c476ebacdedb14893e9632b4de961c2 for pr-116088-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffremag%2Fray_tracer_rust" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/fremag/ray_tracer_rust on toolchain 2fe50cd72c476ebacdedb14893e9632b4de961c2 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fe50cd72c476ebacdedb14893e9632b4de961c2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/fremag/ray_tracer_rust [INFO] finished tweaking git repo https://github.com/fremag/ray_tracer_rust [INFO] tweaked toml for git repo https://github.com/fremag/ray_tracer_rust written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/fremag/ray_tracer_rust 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" "+2fe50cd72c476ebacdedb14893e9632b4de961c2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded sorted-vec v0.8.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+2fe50cd72c476ebacdedb14893e9632b4de961c2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 25c353a517c26ea824f9f1c7f99d6f8f517bd1dc6189917166e98bccaae8c12a [INFO] running `Command { std: "docker" "start" "-a" "25c353a517c26ea824f9f1c7f99d6f8f517bd1dc6189917166e98bccaae8c12a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "25c353a517c26ea824f9f1c7f99d6f8f517bd1dc6189917166e98bccaae8c12a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "25c353a517c26ea824f9f1c7f99d6f8f517bd1dc6189917166e98bccaae8c12a", kill_on_drop: false }` [INFO] [stdout] 25c353a517c26ea824f9f1c7f99d6f8f517bd1dc6189917166e98bccaae8c12a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+2fe50cd72c476ebacdedb14893e9632b4de961c2" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] af3ce2681db9e8a461c97b5cc9638e7a6b0186abbde0d7887a478e10928e6597 [INFO] running `Command { std: "docker" "start" "-a" "af3ce2681db9e8a461c97b5cc9638e7a6b0186abbde0d7887a478e10928e6597", kill_on_drop: false }` [INFO] [stderr] Compiling sorted-vec v0.8.3 [INFO] [stderr] Compiling ray_tracer_rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Float`, `SQRT2` [INFO] [stdout] --> src/tests/tuple_tests.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::math::{Float, SQRT2}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | mod tuple_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Tuple`, `point`, `vector` [INFO] [stdout] --> src/tests/tuple_tests.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::tuple::{Tuple, vector, point}; [INFO] [stdout] | ^^^^^ ^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | mod tuple_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Environment`, `Projectile` [INFO] [stdout] --> src/tests/projectile_tests.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::projectile::{Environment, Projectile}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod projectile_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/projectile_tests.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod projectile_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::colors::Color` [INFO] [stdout] --> src/tests/canvas_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::colors::Color; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod canvas_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Environment`, `Projectile` [INFO] [stdout] --> src/tests/canvas_tests.rs:4:25 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::projectile::{Environment, Projectile}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod canvas_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/canvas_tests.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod canvas_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Determinant`, `Matrix` [INFO] [stdout] --> src/tests/matrix_tests.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::matrix::{Determinant, Matrix}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod matrix_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::tuple::Tuple` [INFO] [stdout] --> src/tests/matrix_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::tuple::Tuple; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod matrix_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::colors::Color` [INFO] [stdout] --> src/tests/transform_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::colors::Color; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod transform_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Float`, `SQRT2` [INFO] [stdout] --> src/tests/transform_tests.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::math::{Float, SQRT2}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod transform_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::math::PI` [INFO] [stdout] --> src/tests/transform_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::math::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod transform_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::matrix::Matrix` [INFO] [stdout] --> src/tests/transform_tests.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::matrix::Matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod transform_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `rotation_x`, `rotation_y`, `rotation_z`, `scaling`, `shearing`, `translation`, `view_transform` [INFO] [stdout] --> src/tests/transform_tests.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::transform::{rotation_x, rotation_y, rotation_z, scaling, shearing, translation, view_transform}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod transform_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/transform_tests.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod transform_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `scaling`, `translation` [INFO] [stdout] --> src/tests/ray_tests.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::transform::{scaling, translation}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | mod ray_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/ray_tests.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | mod ray_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::object::build_sphere` [INFO] [stdout] --> src/tests/sphere_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::object::build_sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | mod sphere_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::ray` [INFO] [stdout] --> src/tests/sphere_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::ray::ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | mod sphere_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::sphere::sphere` [INFO] [stdout] --> src/tests/sphere_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::sphere::sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | mod sphere_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `rotation_z`, `scaling`, `translation` [INFO] [stdout] --> src/tests/sphere_tests.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::transform::{rotation_z, scaling, translation}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | mod sphere_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/sphere_tests.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | mod sphere_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::colors::Color` [INFO] [stdout] --> src/tests/intersection_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::colors::Color; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::comps::prepare_computations` [INFO] [stdout] --> src/tests/intersection_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::comps::prepare_computations; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::intersection::Intersection` [INFO] [stdout] --> src/tests/intersection_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::intersection::Intersection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `intersections` [INFO] [stdout] --> src/tests/intersection_tests.rs:6:28 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::intersections::{intersections}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EPSILON`, `Float` [INFO] [stdout] --> src/tests/intersection_tests.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::math::{EPSILON, Float}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::object::build_sphere` [INFO] [stdout] --> src/tests/intersection_tests.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::object::build_sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::ray` [INFO] [stdout] --> src/tests/intersection_tests.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::ray::ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::transform::translation` [INFO] [stdout] --> src/tests/intersection_tests.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::transform::translation; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/intersection_tests.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PI`, `SQRT2` [INFO] [stdout] --> src/tests/object_tests.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::math::{PI, SQRT2}; [INFO] [stdout] | ^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::matrix::Matrix` [INFO] [stdout] --> src/tests/object_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::matrix::Matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Object`, `build_sphere` [INFO] [stdout] --> src/tests/object_tests.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::object::{build_sphere, Object}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::ray` [INFO] [stdout] --> src/tests/object_tests.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::ray::ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::shape::Shape` [INFO] [stdout] --> src/tests/object_tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::shape::Shape; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::sphere` [INFO] [stdout] --> src/tests/object_tests.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::sphere; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::sphere::sphere` [INFO] [stdout] --> src/tests/object_tests.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::sphere::sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `rotation_z`, `scaling`, `translation` [INFO] [stdout] --> src/tests/object_tests.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::transform::{rotation_z, scaling, translation}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/object_tests.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Light`, `PointLight` [INFO] [stdout] --> src/tests/light_tests.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::light::{Light, PointLight}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | mod light_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::tuple::point` [INFO] [stdout] --> src/tests/light_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::tuple::point; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | mod light_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::colors::Color` [INFO] [stdout] --> src/tests/material_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::colors::Color; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Light`, `PointLight` [INFO] [stdout] --> src/tests/material_tests.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::light::{Light, PointLight}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::material::material` [INFO] [stdout] --> src/tests/material_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::material::material; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Float`, `SQRT2` [INFO] [stdout] --> src/tests/material_tests.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::math::{Float, SQRT2}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::object::build_sphere` [INFO] [stdout] --> src/tests/material_tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::object::build_sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Pattern`, `StripePattern` [INFO] [stdout] --> src/tests/material_tests.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::pattern::{Pattern, StripePattern}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::ray` [INFO] [stdout] --> src/tests/material_tests.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::ray::ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/material_tests.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::comps::prepare_computations` [INFO] [stdout] --> src/tests/world_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::comps::prepare_computations; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::intersection::Intersection` [INFO] [stdout] --> src/tests/world_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::intersection::Intersection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::light::PointLight` [INFO] [stdout] --> src/tests/world_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::light::PointLight; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::material::Material` [INFO] [stdout] --> src/tests/world_tests.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::material::Material; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::object::build_sphere` [INFO] [stdout] --> src/tests/world_tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::object::build_sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::pattern::Pattern` [INFO] [stdout] --> src/tests/world_tests.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::pattern::Pattern; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::ray` [INFO] [stdout] --> src/tests/world_tests.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::ray::ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `scaling`, `translation` [INFO] [stdout] --> src/tests/world_tests.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::transform::{scaling, translation}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/world_tests.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `World`, `build_world` [INFO] [stdout] --> src/tests/world_tests.rs:12:20 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::world::{build_world, World}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::intersection::Intersection` [INFO] [stdout] --> src/tests/comps_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::intersection::Intersection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | mod comps_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::object::build_sphere` [INFO] [stdout] --> src/tests/comps_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::object::build_sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | mod comps_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::ray` [INFO] [stdout] --> src/tests/comps_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::ray::ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | mod comps_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/comps_tests.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | mod comps_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::camera::Camera` [INFO] [stdout] --> src/tests/plane_tests.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::camera::Camera; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::colors::Color` [INFO] [stdout] --> src/tests/plane_tests.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::colors::Color; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::light::PointLight` [INFO] [stdout] --> src/tests/plane_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::light::PointLight; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::material::material` [INFO] [stdout] --> src/tests/plane_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::material::material; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::math::PI` [INFO] [stdout] --> src/tests/plane_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::math::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `build_plane`, `build_sphere` [INFO] [stdout] --> src/tests/plane_tests.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::object::{build_plane, build_sphere}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::plane::Plane` [INFO] [stdout] --> src/tests/plane_tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::plane::Plane; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::ray` [INFO] [stdout] --> src/tests/plane_tests.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::ray::ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `scaling`, `translation`, `view_transform` [INFO] [stdout] --> src/tests/plane_tests.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::transform::{scaling, translation, view_transform}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/plane_tests.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::world::World` [INFO] [stdout] --> src/tests/plane_tests.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::world::World; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::camera::Camera` [INFO] [stdout] --> src/tests/pattern_tests.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::camera::Camera; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::light::PointLight` [INFO] [stdout] --> src/tests/pattern_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::light::PointLight; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::material::material` [INFO] [stdout] --> src/tests/pattern_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::material::material; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::math::PI` [INFO] [stdout] --> src/tests/pattern_tests.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::math::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `build_plane`, `build_sphere` [INFO] [stdout] --> src/tests/pattern_tests.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::object::{build_plane, build_sphere}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Pattern`, `StripePattern` [INFO] [stdout] --> src/tests/pattern_tests.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::pattern::{Pattern, StripePattern}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `rotation_x`, `scaling`, `translation`, `view_transform` [INFO] [stdout] --> src/tests/pattern_tests.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::transform::{rotation_x, scaling, translation, view_transform}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/pattern_tests.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::world::World` [INFO] [stdout] --> src/tests/pattern_tests.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::world::World; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PI` is never used [INFO] [stdout] --> src/math.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) const PI : Float = std::f64::consts::PI; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SQRT2` is never used [INFO] [stdout] --> src/math.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) const SQRT2 : Float = std::f64::consts::SQRT_2 as Float; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `point` is never used [INFO] [stdout] --> src/tuple.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn point(x : Float, y : Float, z : Float) -> Tuple { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Projectile` is never constructed [INFO] [stdout] --> src/projectile.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Projectile { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Environment` is never constructed [INFO] [stdout] --> src/projectile.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Environment { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `tick` are never used [INFO] [stdout] --> src/projectile.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Projectile { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 14 | pub fn new(position : Tuple, velocity : Tuple) -> Projectile { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn tick(&self, environment: &Environment) -> Projectile { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/projectile.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Environment { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 24 | pub fn new(gravity : Tuple, wind: Tuple) -> Environment { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `black`, `white`, `red`, `green`, `blue`, and `new` are never used [INFO] [stdout] --> src/colors.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Color { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] 12 | pub fn black() -> Color { Color::new(0.0, 0.0, 0.0) } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 13 | pub fn white() -> Color { Color::new(1.0, 1.0, 1.0) } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 14 | pub fn red() -> Color { Color::new(1.0, 0.0, 0.0) } [INFO] [stdout] | ^^^ [INFO] [stdout] 15 | pub fn green() -> Color { Color::new(0.0, 1.0, 0.0) } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 16 | pub fn blue() -> Color { Color::new(0.0, 0.0, 1.0) } [INFO] [stdout] | ^^^^ [INFO] [stdout] 17 | [INFO] [stdout] 18 | pub fn new(red : Float, green : Float, blue : Float ) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/canvas.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Canvas { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 14 | pub fn new(width : usize, height : usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn write_pixel(&mut self, x : usize, y : usize, color : Color) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn pixel_at(&self, x : usize, y : usize) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn ppm_header(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn pixel_data(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | fn push(&self, line: &mut String, data: &mut String, value : Float) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub(crate) fn save(&self, path: &str) -> Result<(), Error> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `translation` is never used [INFO] [stdout] --> src/transform.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn translation(x : Float , y: Float, z : Float) -> Matrix<4> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scaling` is never used [INFO] [stdout] --> src/transform.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn scaling(x : Float , y: Float, z : Float) -> Matrix<4> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotation_x` is never used [INFO] [stdout] --> src/transform.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn rotation_x(r : Float) -> Matrix<4> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotation_y` is never used [INFO] [stdout] --> src/transform.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn rotation_y(r : Float) -> Matrix<4> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotation_z` is never used [INFO] [stdout] --> src/transform.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn rotation_z(r : Float) -> Matrix<4> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shearing` is never used [INFO] [stdout] --> src/transform.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn shearing(xy : Float , xz: Float, yx : Float, yz : Float , zx: Float, zy : Float) -> Matrix<4> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `view_transform` is never used [INFO] [stdout] --> src/transform.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn view_transform(from : Tuple, to : Tuple, up: Tuple) -> Matrix<4> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ray` is never constructed [INFO] [stdout] --> src/ray.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Ray { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `position` and `transform` are never used [INFO] [stdout] --> src/ray.rs:11:19 [INFO] [stdout] | [INFO] [stdout] 10 | impl Ray { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] 11 | pub(crate) fn position(&self, t: Float) -> Tuple { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub(crate) fn transform(&self, transformation: &Matrix<4>) -> Ray { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ray` is never used [INFO] [stdout] --> src/ray.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn ray(origin: Tuple, direction: Tuple) -> Ray { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `intersect` and `normal_at` are never used [INFO] [stdout] --> src/sphere.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 11 | impl Sphere { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 12 | pub(crate) fn intersect(&self, ray : &Ray) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub(crate) fn normal_at(&self, p: Tuple) -> Tuple { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sphere` is never used [INFO] [stdout] --> src/sphere.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn sphere() -> Shape { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/intersection.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl<'a> Intersection<'a> { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] 12 | pub fn new(t : Float, object : &'a Object) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Sphere` and `Plane` are never constructed [INFO] [stdout] --> src/shape.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum Shape {Sphere(Sphere), Plane(Plane)} [INFO] [stdout] | ----- ^^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | variants in this enum [INFO] [stdout] | [INFO] [stdout] = note: `Shape` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `normal_at` is never used [INFO] [stdout] --> src/shape.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 11 | impl Shape { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 12 | pub(crate) fn normal_at(&self, p: Tuple) -> Tuple { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `intersect` is never used [INFO] [stdout] --> src/shape.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Shape { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 31 | pub fn intersect(&self, ray: &Ray) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `intersections` is never used [INFO] [stdout] --> src/intersections.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn intersections<'a>(intersections: Vec) -> Intersections { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `count` and `hit` are never used [INFO] [stdout] --> src/intersections.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl<'a> Intersections<'a> { [INFO] [stdout] | -------------------------- methods in this implementation [INFO] [stdout] 14 | pub fn count(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn hit(&self) -> Option<&Intersection> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `transformation_inverse` and `transformation_inverse_transpose` are never read [INFO] [stdout] --> src/object.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Object { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | transformation_inverse: Matrix<4>, // optimization: keep inverse transformation [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | transformation_inverse_transpose: Matrix<4>, // optimization: keep inverse transformation transpose [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Object` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `normal_at` is never used [INFO] [stdout] --> src/object.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 20 | impl Object { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 21 | pub(crate) fn normal_at(&self, world_point: Tuple) -> Tuple { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `intersect` is never used [INFO] [stdout] --> src/object.rs:32:19 [INFO] [stdout] | [INFO] [stdout] 31 | impl Object { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 32 | pub(crate) fn intersect(&self, ray: &Ray) -> Intersections { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `set_transformation`, `transformation`, `transformation_inverse`, `material`, `set_material`, and `new` are never used [INFO] [stdout] --> src/object.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Object { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 40 | pub fn set_transformation(&mut self, transformation : Matrix<4> ) -> &Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn transformation(&self) -> &Matrix<4> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn transformation_inverse(&self) -> &Matrix<4> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn material(&self) -> &Material { &(self.material) } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 56 | pub fn set_material(&mut self, material : Material) -> &Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn new(shape : Shape) -> Object { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_sphere` is never used [INFO] [stdout] --> src/object.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn build_sphere() -> Object { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_plane` is never used [INFO] [stdout] --> src/object.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn build_plane() -> Object { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PointLight` is never constructed [INFO] [stdout] --> src/light.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Light {PointLight(PointLight)} [INFO] [stdout] | ----- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | variant in this enum [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `intensity` and `position` are never used [INFO] [stdout] --> src/light.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl Light { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 7 | pub fn intensity(&self) -> Color { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | pub fn position(&self) -> Tuple { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/light.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PointLight { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 38 | pub fn new(position : Tuple, intensity : Color) -> Light { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pattern` is never read [INFO] [stdout] --> src/material.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Material { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | pub(crate) pattern: Pattern, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Material` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_pattern` is never used [INFO] [stdout] --> src/material.rs:18:19 [INFO] [stdout] | [INFO] [stdout] 17 | impl Material { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 18 | pub(crate) fn set_pattern(&mut self, pattern: Pattern) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_ambient` and `lighting` are never used [INFO] [stdout] --> src/material.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 23 | impl Material { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 24 | pub(crate) fn set_ambient(&mut self, ambient: Float) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub(crate) fn lighting(&self, light: &Light, point: Tuple, eyev: Tuple, normalv: Tuple, in_shadow : bool) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `material` is never used [INFO] [stdout] --> src/material.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn material() -> Material { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `World` is never constructed [INFO] [stdout] --> src/world.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct World { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/world.rs:20:19 [INFO] [stdout] | [INFO] [stdout] 18 | impl World { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 19 | [INFO] [stdout] 20 | pub(crate) fn new() -> World { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub(crate) fn intersect_world(&self, ray: &Ray) -> Intersections [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn shade_hit(&self, comps : &Comps) -> Color { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn set_lights(&mut self, lights : Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn set_objects(&mut self, objects : Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn color_at(&self, ray: &Ray) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub(crate) fn is_shadowed(&self, light: &Light, point: Tuple) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_world` is never used [INFO] [stdout] --> src/world.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn build_world() -> World { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Comps` is never constructed [INFO] [stdout] --> src/comps.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Comps<'a> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prepare_computations` is never used [INFO] [stdout] --> src/comps.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn prepare_computations<'a>(intersection: &'a Intersection, ray : &Ray) -> Comps<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Camera` is never constructed [INFO] [stdout] --> src/camera.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Camera { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set_transform`, `ray_for_pixel`, and `render` are never used [INFO] [stdout] --> src/camera.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl Camera { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 20 | pub fn new(h_size: usize, v_size: usize, field_of_view: Float) -> Camera { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn set_transform(&mut self, transform: Matrix<4>) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub(crate) fn ray_for_pixel(&self, px: usize, py: usize) -> Ray { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub(crate) fn render(&self, world: &World) -> Canvas { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `intersect`, and `normal_at` are never used [INFO] [stdout] --> src/plane.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Plane { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 11 | pub fn new() -> Plane { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub(crate) fn intersect(&self, ray: &Ray) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub(crate) fn normal_at(&self, _ : Tuple) -> Tuple { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `None` and `Stripe` are never constructed [INFO] [stdout] --> src/pattern.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Pattern { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 6 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] 7 | Stripe(StripePattern) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Pattern` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `stripe_at` are never used [INFO] [stdout] --> src/pattern.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl StripePattern { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 17 | pub fn new(a: Color, b : Color) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn stripe_at(&self, point: &Tuple) -> Color { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 134 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.71s [INFO] running `Command { std: "docker" "inspect" "af3ce2681db9e8a461c97b5cc9638e7a6b0186abbde0d7887a478e10928e6597", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "af3ce2681db9e8a461c97b5cc9638e7a6b0186abbde0d7887a478e10928e6597", kill_on_drop: false }` [INFO] [stdout] af3ce2681db9e8a461c97b5cc9638e7a6b0186abbde0d7887a478e10928e6597 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+2fe50cd72c476ebacdedb14893e9632b4de961c2" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f23fa9697dbf8294936ff4df0df7e510a4c124af12f30d178e05cc983c133526 [INFO] running `Command { std: "docker" "start" "-a" "f23fa9697dbf8294936ff4df0df7e510a4c124af12f30d178e05cc983c133526", kill_on_drop: false }` [INFO] [stderr] Compiling ray_tracer_rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: associated functions `red`, `green`, and `blue` are never used [INFO] [stdout] --> src/colors.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Color { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn red() -> Color { Color::new(1.0, 0.0, 0.0) } [INFO] [stdout] | ^^^ [INFO] [stdout] 15 | pub fn green() -> Color { Color::new(0.0, 1.0, 0.0) } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 16 | pub fn blue() -> Color { Color::new(0.0, 0.0, 1.0) } [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.34s [INFO] running `Command { std: "docker" "inspect" "f23fa9697dbf8294936ff4df0df7e510a4c124af12f30d178e05cc983c133526", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f23fa9697dbf8294936ff4df0df7e510a4c124af12f30d178e05cc983c133526", kill_on_drop: false }` [INFO] [stdout] f23fa9697dbf8294936ff4df0df7e510a4c124af12f30d178e05cc983c133526 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+2fe50cd72c476ebacdedb14893e9632b4de961c2" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2a52b7a5371686856456f8029bfa0e880fb2f29e56749b5a096b0b7fcb9dca0a [INFO] running `Command { std: "docker" "start" "-a" "2a52b7a5371686856456f8029bfa0e880fb2f29e56749b5a096b0b7fcb9dca0a", kill_on_drop: false }` [INFO] [stderr] warning: associated functions `red`, `green`, and `blue` are never used [INFO] [stderr] --> src/colors.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 11 | impl Color { [INFO] [stderr] | ---------- associated functions in this implementation [INFO] [stderr] ... [INFO] [stderr] 14 | pub fn red() -> Color { Color::new(1.0, 0.0, 0.0) } [INFO] [stderr] | ^^^ [INFO] [stderr] 15 | pub fn green() -> Color { Color::new(0.0, 1.0, 0.0) } [INFO] [stderr] | ^^^^^ [INFO] [stderr] 16 | pub fn blue() -> Color { Color::new(0.0, 0.0, 1.0) } [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `ray_tracer_rust` (bin "ray_tracer_rust" test) generated 1 warning [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_rust-e65510ddb3f42595) [INFO] [stdout] [INFO] [stdout] running 163 tests [INFO] [stdout] test tests::canvas_tests::creating_a_canvas_test ... ok [INFO] [stdout] test tests::canvas_tests::construction_ppm_header_test ... ok [INFO] [stdout] test tests::camera_tests::camera_tests::the_pixel_size_for_a_horizontal_canvas_test ... ok [INFO] [stdout] test tests::camera_tests::camera_tests::rendering_a_world_with_a_camera_test ... ok [INFO] [stdout] test tests::camera_tests::camera_tests::constructing_a_ray_through_a_corner_of_the_canvas_test ... ok [INFO] [stdout] test tests::camera_tests::camera_tests::constructing_a_camera_test ... ok [INFO] [stdout] test tests::camera_tests::camera_tests::constructing_a_ray_when_the_camera_is_transformed_test ... ok [INFO] [stdout] test tests::camera_tests::camera_tests::constructing_a_ray_through_the_center_of_the_canvas_test ... ok [INFO] [stdout] test tests::canvas_tests::constructing_pixel_data_test ... ok [INFO] [stdout] test tests::camera_tests::camera_tests::the_pixel_size_for_a_vertical_canvas_test ... ok [INFO] [stdout] test tests::color_tests::subtracting_colors_test ... ok [INFO] [stdout] test tests::color_tests::colors_are_rgb_tuples_test ... ok [INFO] [stdout] test tests::canvas_tests::splitting_long_lines_ppm_test ... ok [INFO] [stdout] test tests::comps_tests::precomputing_the_state_of_an_intersection_test ... ok [INFO] [stdout] test tests::comps_tests::the_hit_when_an_intersection_occurs_on_the_outside_test ... ok [INFO] [stdout] test tests::comps_tests::the_hit_when_an_intersection_occurs_on_the_inside_test ... ok [INFO] [stdout] test tests::canvas_tests::writing_pixels_to_a_canvas_test ... ok [INFO] [stdout] test tests::color_tests::adding_colors_test ... ok [INFO] [stdout] test tests::color_tests::multiplying_color_by_scalar_test ... ok [INFO] [stdout] test tests::intersection_tests::aggregating_intersections_test ... ok [INFO] [stdout] test tests::intersection_tests::the_hit_should_offset_the_point_test ... ok [INFO] [stdout] test tests::intersection_tests::an_intersection_encapsulates_t_and_object_test ... ok [INFO] [stdout] test tests::intersection_tests::intersect_sets_the_object_on_the_intersection_test ... ok [INFO] [stdout] test tests::color_tests::hadamard_product_colors_test ... ok [INFO] [stdout] test tests::canvas_tests::putting_it_together_test ... ok [INFO] [stdout] test tests::intersection_tests::the_hit_is_always_the_lowest_non_negative_intersection_test ... ok [INFO] [stdout] test tests::intersection_tests::the_hit_when_all_intersections_have_negative_t_test ... ok [INFO] [stdout] test tests::light_tests::a_point_light_has_a_position_and_intensity_test ... ok [INFO] [stdout] test tests::intersection_tests::the_hit_when_all_intersections_have_positive_t_test ... ok [INFO] [stdout] test tests::intersection_tests::the_hit_when_some_intersections_have_negative_t_test ... ok [INFO] [stdout] test tests::material_tests::default_material_test ... ok [INFO] [stdout] test tests::material_tests::lighting_with_eye_opposite_surface_light_offset_45_degrees_test ... ok [INFO] [stdout] test tests::material_tests::lighting_with_the_surface_in_shadow_test ... ok [INFO] [stdout] test tests::material_tests::lighting_with_eye_in_the_path_of_the_reflection_vector_test ... ok [INFO] [stdout] test tests::intersection_tests::putting_it_together_test ... ok [INFO] [stdout] test tests::material_tests::lighting_with_the_eye_between_light_and_surface_eye_offset_45_degrees_test ... ok [INFO] [stdout] test tests::material_tests::lighting_with_the_eye_between_the_light_and_the_surface_test ... ok [INFO] [stdout] test tests::material_tests::lighting_with_the_light_behind_the_surface_test ... ok [INFO] [stdout] test tests::material_tests::lighting_with_a_pattern_applied_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_cofactor_matrix_3x3_test ... ok [INFO] [stdout] test tests::math_tests::equals_test ... ok [INFO] [stdout] test tests::matrix_tests::a_matrix_multiplied_by_a_tuple_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_determinant_matrix_2x2_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_determinant_matrix_4x4_test ... ok [INFO] [stdout] test tests::matrix_tests::matrix_equality_with_different_matrices_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_inverse_of_another_matrix_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_inverse_of_matrix_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_minor_matrix_3x3_test ... ok [INFO] [stdout] test tests::matrix_tests::matrix2_test ... ok [INFO] [stdout] test tests::matrix_tests::matrix3_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_determinant_matrix_3x3_test ... ok [INFO] [stdout] test tests::matrix_tests::matrix4_test ... ok [INFO] [stdout] test tests::matrix_tests::matrix_equality_with_identical_matrices_test ... ok [INFO] [stdout] test tests::matrix_tests::multiplying_a_matrix_by_the_identity_matrix_test ... ok [INFO] [stdout] test tests::matrix_tests::multiplying_a_product_by_its_inverse_test ... ok [INFO] [stdout] test tests::object_tests::a_sphere_s_default_transformation_test ... ok [INFO] [stdout] test tests::object_tests::assigning_a_material_test ... ok [INFO] [stdout] test tests::matrix_tests::multiplying_two_matrices_test ... ok [INFO] [stdout] test tests::matrix_tests::sub_matrix_3x3_test ... ok [INFO] [stdout] test tests::object_tests::assigning_a_transformation_test ... ok [INFO] [stdout] test tests::object_tests::changing_a_sphere_transformation_test ... ok [INFO] [stdout] test tests::object_tests::computing_the_normal_on_a_transformed_shape_test ... ok [INFO] [stdout] test tests::object_tests::computing_the_normal_on_a_translated_shape_test ... ok [INFO] [stdout] test tests::object_tests::intersecting_a_scaled_shape_with_a_ray_test ... ok [INFO] [stdout] test tests::object_tests::the_default_transformation_test ... ok [INFO] [stdout] test tests::object_tests::intersecting_a_translated_shape_with_a_ray_test ... ok [INFO] [stdout] test tests::object_tests::intersecting_a_translated_sphere_with_a_ray_test ... ok [INFO] [stdout] test tests::object_tests::the_default_material_test ... ok [INFO] [stdout] test tests::pattern_tests::a_stripe_pattern_alternates_in_x_test ... ok [INFO] [stdout] test tests::pattern_tests::a_stripe_pattern_is_constant_in_y_test ... ok [INFO] [stdout] test tests::pattern_tests::a_stripe_pattern_is_constant_in_z_test ... ok [INFO] [stdout] test tests::matrix_tests::sub_matrix_4x4_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_inverse_of_a_third_matrix_test ... ok [INFO] [stdout] test tests::object_tests::intersecting_a_scaled_sphere_with_a_ray_test ... ok [INFO] [stdout] test tests::plane_tests::intersect_with_a_ray_parallel_to_the_plane_test ... ok [INFO] [stdout] test tests::plane_tests::a_ray_intersecting_a_plane_from_above_test ... ok [INFO] [stdout] test tests::plane_tests::intersect_with_a_coplanar_ray_test ... ok [INFO] [stdout] test tests::pattern_tests::creating_a_stripe_pattern_test ... ok [INFO] [stdout] test tests::object_tests::a_sphere_has_a_default_material_test ... ok [INFO] [stdout] test tests::projectile_tests::projectile_test ... ok [INFO] [stdout] test tests::ray_tests::computing_a_point_from_a_distance_test ... ok [INFO] [stdout] test tests::matrix_tests::transposing_a_matrix_test ... ok [INFO] [stdout] test tests::plane_tests::a_ray_intersecting_a_plane_from_below_test ... ok [INFO] [stdout] test tests::ray_tests::creating_and_querying_a_ray_test ... ok [INFO] [stdout] test tests::matrix_tests::transposing_identity_matrix_test ... ok [INFO] [stdout] test tests::plane_tests::the_normal_of_a_plane_is_constant_everywhere_test ... ok [INFO] [stdout] test tests::object_tests::a_sphere_may_be_assigned_a_material_test ... ok [INFO] [stdout] test tests::ray_tests::scaling_a_ray_test ... ok [INFO] [stdout] test tests::sphere_tests::a_ray_originates_inside_a_sphere_test ... ok [INFO] [stdout] test tests::sphere_tests::the_normal_on_a_sphere_at_a_point_on_the_x_axis_test ... ok [INFO] [stdout] test tests::sphere_tests::computing_the_normal_on_a_transformed_sphere_test ... ok [INFO] [stdout] test tests::sphere_tests::computing_the_normal_on_a_translated_sphere_test ... ok [INFO] [stdout] test tests::ray_tests::translating_a_ray_test ... ok [INFO] [stdout] test tests::sphere_tests::a_ray_intersects_a_sphere_at_two_points_test ... ok [INFO] [stdout] test tests::sphere_tests::a_sphere_is_behind_a_ray_test ... ok [INFO] [stdout] test tests::sphere_tests::a_ray_misses_a_sphere_test ... ok [INFO] [stdout] test tests::sphere_tests::the_normal_on_a_sphere_at_a_point_on_the_y_axis_test ... ok [INFO] [stdout] test tests::sphere_tests::the_normal_on_a_sphere_at_a_non_axial_point_test ... ok [INFO] [stdout] test tests::sphere_tests::a_ray_intersects_a_sphere_at_a_tangent_test ... ok [INFO] [stdout] test tests::transform_tests::a_shearing_transformation_moves_y_in_proportion_to_z_test ... ok [INFO] [stdout] test tests::transform_tests::a_scaling_matrix_applied_to_a_point_test ... ok [INFO] [stdout] test tests::transform_tests::a_scaling_matrix_applied_to_a_vector_test ... ok [INFO] [stdout] test tests::sphere_tests::the_normal_is_a_normalized_vector_test ... ok [INFO] [stdout] test tests::transform_tests::a_shearing_transformation_moves_y_in_proportion_to_x_test ... ok [INFO] [stdout] test tests::transform_tests::a_shearing_transformation_moves_z_in_proportion_to_x_test ... ok [INFO] [stdout] test tests::sphere_tests::the_normal_on_a_sphere_at_a_point_on_the_z_axis_test ... ok [INFO] [stdout] test tests::transform_tests::individual_transformations_are_applied_in_sequence_test ... ok [INFO] [stdout] test tests::transform_tests::a_shearing_transformation_moves_z_in_proportion_to_y_test ... ok [INFO] [stdout] test tests::transform_tests::a_view_transformation_matrix_looking_in_positive_z_direction_test ... ok [INFO] [stdout] test tests::transform_tests::multiplying_by_a_translation_matrix_test ... ok [INFO] [stdout] test tests::transform_tests::an_arbitrary_view_transformation_test ... ok [INFO] [stdout] test tests::transform_tests::chained_transformations_must_be_applied_in_reverse_order_test ... ok [INFO] [stdout] test tests::transform_tests::a_shearing_transformation_moves_x_in_proportion_to_y_test ... ok [INFO] [stdout] test tests::transform_tests::reflection_is_scaling_by_a_negative_value_test ... ok [INFO] [stdout] test tests::transform_tests::rotating_a_point_around_the_y_axis_test ... ok [INFO] [stdout] test tests::transform_tests::translation_does_not_affect_vectors_test ... ok [INFO] [stdout] test tests::transform_tests::rotating_a_point_around_the_z_axis_test ... ok [INFO] [stdout] test tests::transform_tests::multiplying_by_the_inverse_of_a_scaling_matrix_test ... ok [INFO] [stdout] test tests::transform_tests::rotating_a_point_around_the_x_axis_test ... ok [INFO] [stdout] test tests::tuple_tests::a_tuple_with_w_zero_is_vector_test ... ok [INFO] [stdout] test tests::transform_tests::multiplying_by_the_inverse_of_a_translation_matrix_test ... ok [INFO] [stdout] test tests::transform_tests::a_shearing_transformation_moves_x_in_proportion_to_z_test ... ok [INFO] [stdout] test tests::transform_tests::the_view_transformation_moves_the_world_test ... ok [INFO] [stdout] test tests::tuple_tests::computing_magnitude_vector_y_test ... ok [INFO] [stdout] test tests::tuple_tests::computing_magnitude_vector_123_test ... ok [INFO] [stdout] test tests::tuple_tests::a_tuple_with_w_1_is_point_test ... ok [INFO] [stdout] test tests::tuple_tests::computing_magnitude_vector_z_test ... ok [INFO] [stdout] test tests::tuple_tests::adding_two_tuples_test ... ok [INFO] [stdout] test tests::tuple_tests::computing_magnitude_vector_x_test ... ok [INFO] [stdout] test tests::tuple_tests::cross_product_two_vectors_test ... ok [INFO] [stdout] test tests::tuple_tests::equals_test ... ok [INFO] [stdout] test tests::tuple_tests::dot_product_two_tuples_test ... ok [INFO] [stdout] test tests::tuple_tests::point_creates_tuples_with_w_1_test ... ok [INFO] [stdout] test tests::tuple_tests::reflecting_a_vector_approaching_at_45_degrees_test ... ok [INFO] [stdout] test tests::tuple_tests::multiplying_a_tuple_by_a_fraction_test ... ok [INFO] [stdout] test tests::tuple_tests::negating_a_tuple_test ... ok [INFO] [stdout] test tests::tuple_tests::normalize_vector_1_2_3_test ... ok [INFO] [stdout] test tests::tuple_tests::subtracting_a_vector_from_a_point_test ... ok [INFO] [stdout] test tests::tuple_tests::dividing_a_tuple_by_a_scalar_test ... ok [INFO] [stdout] test tests::tuple_tests::multiplying_a_tuple_by_a_scalar_test ... ok [INFO] [stdout] test tests::tuple_tests::subtracting_a_vector_from_the_zero_vector_test ... ok [INFO] [stdout] test tests::tuple_tests::subtracting_two_points_test ... ok [INFO] [stdout] test tests::tuple_tests::subtracting_two_vectors_test ... ok [INFO] [stdout] test tests::world_tests::shading_an_intersection_test ... ok [INFO] [stdout] test tests::tuple_tests::magnitude_of_a_normalized_vector_test ... ok [INFO] [stdout] test tests::tuple_tests::vector_creates_tuples_with_w_zero_test ... ok [INFO] [stdout] test tests::world_tests::intersect_a_world_with_a_ray_test ... ok [INFO] [stdout] test tests::world_tests::shade_hit_is_given_an_intersection_in_shadow_test ... ok [INFO] [stdout] test tests::tuple_tests::normalize_vector_4_0_0_gives_1_0_0_test ... ok [INFO] [stdout] test tests::tuple_tests::reflecting_a_vector_off_a_slanted_surface_test ... ok [INFO] [stdout] test tests::world_tests::shading_an_intersection_from_the_inside_test ... ok [INFO] [stdout] test tests::world_tests::the_color_when_a_ray_hits_test ... ok [INFO] [stdout] test tests::world_tests::the_color_when_a_ray_misses_test ... ok [INFO] [stdout] test tests::world_tests::the_color_with_an_intersection_behind_the_ray_test ... ok [INFO] [stdout] test tests::world_tests::there_is_no_shadow_when_nothing_is_collinear_with_point_and_light_test ... ok [INFO] [stdout] test tests::world_tests::there_is_no_shadow_when_an_object_is_behind_the_light_test ... ok [INFO] [stdout] test tests::world_tests::the_shadow_when_an_object_is_between_the_point_and_the_light_test ... ok [INFO] [stdout] test tests::world_tests::the_default_world_test ... ok [INFO] [stdout] test tests::transform_tests::putting_it_together_test ... ok [INFO] [stdout] test tests::material_tests::putting_it_together_test ... ok [INFO] [stdout] test tests::plane_tests::putting_it_together_test ... ok [INFO] [stdout] test tests::pattern_tests::putting_it_together_test ... ok [INFO] [stdout] test tests::camera_tests::camera_tests::putting_it_together_test ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 163 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.80s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2a52b7a5371686856456f8029bfa0e880fb2f29e56749b5a096b0b7fcb9dca0a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2a52b7a5371686856456f8029bfa0e880fb2f29e56749b5a096b0b7fcb9dca0a", kill_on_drop: false }` [INFO] [stdout] 2a52b7a5371686856456f8029bfa0e880fb2f29e56749b5a096b0b7fcb9dca0a [INFO] testing fremag/ray_tracer_rust against try#9c1665de5d324fe858dc15371578d6f928bfc123 for pr-116088-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffremag%2Fray_tracer_rust" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/fremag/ray_tracer_rust on toolchain 9c1665de5d324fe858dc15371578d6f928bfc123 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c1665de5d324fe858dc15371578d6f928bfc123" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/fremag/ray_tracer_rust [INFO] finished tweaking git repo https://github.com/fremag/ray_tracer_rust [INFO] tweaked toml for git repo https://github.com/fremag/ray_tracer_rust written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/fremag/ray_tracer_rust 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" "+9c1665de5d324fe858dc15371578d6f928bfc123" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+9c1665de5d324fe858dc15371578d6f928bfc123" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8a93bc35f1a15052b2333867652db370e5614f8dfa82cb0d647d7f3d9795a36d [INFO] running `Command { std: "docker" "start" "-a" "8a93bc35f1a15052b2333867652db370e5614f8dfa82cb0d647d7f3d9795a36d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8a93bc35f1a15052b2333867652db370e5614f8dfa82cb0d647d7f3d9795a36d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8a93bc35f1a15052b2333867652db370e5614f8dfa82cb0d647d7f3d9795a36d", kill_on_drop: false }` [INFO] [stdout] 8a93bc35f1a15052b2333867652db370e5614f8dfa82cb0d647d7f3d9795a36d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+9c1665de5d324fe858dc15371578d6f928bfc123" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2047ef94ef5a24bd6cb7a321e8bd8dfff6cd334cee73d17e0d830a28c92cf8a6 [INFO] running `Command { std: "docker" "start" "-a" "2047ef94ef5a24bd6cb7a321e8bd8dfff6cd334cee73d17e0d830a28c92cf8a6", kill_on_drop: false }` [INFO] [stderr] Compiling sorted-vec v0.8.3 [INFO] [stderr] Compiling ray_tracer_rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Float`, `SQRT2` [INFO] [stdout] --> src/tests/tuple_tests.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::math::{Float, SQRT2}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | mod tuple_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Tuple`, `point`, `vector` [INFO] [stdout] --> src/tests/tuple_tests.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::tuple::{Tuple, vector, point}; [INFO] [stdout] | ^^^^^ ^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | mod tuple_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Environment`, `Projectile` [INFO] [stdout] --> src/tests/projectile_tests.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::projectile::{Environment, Projectile}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod projectile_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/projectile_tests.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod projectile_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::colors::Color` [INFO] [stdout] --> src/tests/canvas_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::colors::Color; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod canvas_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Environment`, `Projectile` [INFO] [stdout] --> src/tests/canvas_tests.rs:4:25 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::projectile::{Environment, Projectile}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod canvas_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/canvas_tests.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod canvas_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Determinant`, `Matrix` [INFO] [stdout] --> src/tests/matrix_tests.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::matrix::{Determinant, Matrix}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod matrix_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::tuple::Tuple` [INFO] [stdout] --> src/tests/matrix_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::tuple::Tuple; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod matrix_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::colors::Color` [INFO] [stdout] --> src/tests/transform_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::colors::Color; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod transform_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Float`, `SQRT2` [INFO] [stdout] --> src/tests/transform_tests.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::math::{Float, SQRT2}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod transform_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::math::PI` [INFO] [stdout] --> src/tests/transform_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::math::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod transform_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::matrix::Matrix` [INFO] [stdout] --> src/tests/transform_tests.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::matrix::Matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod transform_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `rotation_x`, `rotation_y`, `rotation_z`, `scaling`, `shearing`, `translation`, `view_transform` [INFO] [stdout] --> src/tests/transform_tests.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::transform::{rotation_x, rotation_y, rotation_z, scaling, shearing, translation, view_transform}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod transform_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/transform_tests.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod transform_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `scaling`, `translation` [INFO] [stdout] --> src/tests/ray_tests.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::transform::{scaling, translation}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | mod ray_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/ray_tests.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | mod ray_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::object::build_sphere` [INFO] [stdout] --> src/tests/sphere_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::object::build_sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | mod sphere_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::ray` [INFO] [stdout] --> src/tests/sphere_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::ray::ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | mod sphere_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::sphere::sphere` [INFO] [stdout] --> src/tests/sphere_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::sphere::sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | mod sphere_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `rotation_z`, `scaling`, `translation` [INFO] [stdout] --> src/tests/sphere_tests.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::transform::{rotation_z, scaling, translation}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | mod sphere_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/sphere_tests.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | mod sphere_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::colors::Color` [INFO] [stdout] --> src/tests/intersection_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::colors::Color; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::comps::prepare_computations` [INFO] [stdout] --> src/tests/intersection_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::comps::prepare_computations; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::intersection::Intersection` [INFO] [stdout] --> src/tests/intersection_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::intersection::Intersection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `intersections` [INFO] [stdout] --> src/tests/intersection_tests.rs:6:28 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::intersections::{intersections}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EPSILON`, `Float` [INFO] [stdout] --> src/tests/intersection_tests.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::math::{EPSILON, Float}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::object::build_sphere` [INFO] [stdout] --> src/tests/intersection_tests.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::object::build_sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::ray` [INFO] [stdout] --> src/tests/intersection_tests.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::ray::ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::transform::translation` [INFO] [stdout] --> src/tests/intersection_tests.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::transform::translation; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/intersection_tests.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | mod intersection_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PI`, `SQRT2` [INFO] [stdout] --> src/tests/object_tests.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::math::{PI, SQRT2}; [INFO] [stdout] | ^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::matrix::Matrix` [INFO] [stdout] --> src/tests/object_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::matrix::Matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Object`, `build_sphere` [INFO] [stdout] --> src/tests/object_tests.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::object::{build_sphere, Object}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::ray` [INFO] [stdout] --> src/tests/object_tests.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::ray::ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::shape::Shape` [INFO] [stdout] --> src/tests/object_tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::shape::Shape; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::sphere` [INFO] [stdout] --> src/tests/object_tests.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::sphere; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::sphere::sphere` [INFO] [stdout] --> src/tests/object_tests.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::sphere::sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `rotation_z`, `scaling`, `translation` [INFO] [stdout] --> src/tests/object_tests.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::transform::{rotation_z, scaling, translation}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/object_tests.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | mod object_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Light`, `PointLight` [INFO] [stdout] --> src/tests/light_tests.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::light::{Light, PointLight}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | mod light_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::tuple::point` [INFO] [stdout] --> src/tests/light_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::tuple::point; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | mod light_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::colors::Color` [INFO] [stdout] --> src/tests/material_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::colors::Color; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Light`, `PointLight` [INFO] [stdout] --> src/tests/material_tests.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::light::{Light, PointLight}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::material::material` [INFO] [stdout] --> src/tests/material_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::material::material; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Float`, `SQRT2` [INFO] [stdout] --> src/tests/material_tests.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::math::{Float, SQRT2}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::object::build_sphere` [INFO] [stdout] --> src/tests/material_tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::object::build_sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Pattern`, `StripePattern` [INFO] [stdout] --> src/tests/material_tests.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::pattern::{Pattern, StripePattern}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::ray` [INFO] [stdout] --> src/tests/material_tests.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::ray::ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/material_tests.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | mod material_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::comps::prepare_computations` [INFO] [stdout] --> src/tests/world_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::comps::prepare_computations; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::intersection::Intersection` [INFO] [stdout] --> src/tests/world_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::intersection::Intersection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::light::PointLight` [INFO] [stdout] --> src/tests/world_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::light::PointLight; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::material::Material` [INFO] [stdout] --> src/tests/world_tests.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::material::Material; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::object::build_sphere` [INFO] [stdout] --> src/tests/world_tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::object::build_sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::pattern::Pattern` [INFO] [stdout] --> src/tests/world_tests.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::pattern::Pattern; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::ray` [INFO] [stdout] --> src/tests/world_tests.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::ray::ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `scaling`, `translation` [INFO] [stdout] --> src/tests/world_tests.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::transform::{scaling, translation}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/world_tests.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `World`, `build_world` [INFO] [stdout] --> src/tests/world_tests.rs:12:20 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::world::{build_world, World}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | mod world_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::intersection::Intersection` [INFO] [stdout] --> src/tests/comps_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::intersection::Intersection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | mod comps_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::object::build_sphere` [INFO] [stdout] --> src/tests/comps_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::object::build_sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | mod comps_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::ray` [INFO] [stdout] --> src/tests/comps_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::ray::ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | mod comps_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/comps_tests.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | mod comps_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::camera::Camera` [INFO] [stdout] --> src/tests/plane_tests.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::camera::Camera; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::colors::Color` [INFO] [stdout] --> src/tests/plane_tests.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::colors::Color; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::light::PointLight` [INFO] [stdout] --> src/tests/plane_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::light::PointLight; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::material::material` [INFO] [stdout] --> src/tests/plane_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::material::material; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::math::PI` [INFO] [stdout] --> src/tests/plane_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::math::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `build_plane`, `build_sphere` [INFO] [stdout] --> src/tests/plane_tests.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::object::{build_plane, build_sphere}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::plane::Plane` [INFO] [stdout] --> src/tests/plane_tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::plane::Plane; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::ray` [INFO] [stdout] --> src/tests/plane_tests.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::ray::ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `scaling`, `translation`, `view_transform` [INFO] [stdout] --> src/tests/plane_tests.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::transform::{scaling, translation, view_transform}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/plane_tests.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::world::World` [INFO] [stdout] --> src/tests/plane_tests.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::world::World; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | mod plane_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::camera::Camera` [INFO] [stdout] --> src/tests/pattern_tests.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::camera::Camera; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::light::PointLight` [INFO] [stdout] --> src/tests/pattern_tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::light::PointLight; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::material::material` [INFO] [stdout] --> src/tests/pattern_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::material::material; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::math::PI` [INFO] [stdout] --> src/tests/pattern_tests.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::math::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `build_plane`, `build_sphere` [INFO] [stdout] --> src/tests/pattern_tests.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::object::{build_plane, build_sphere}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Pattern`, `StripePattern` [INFO] [stdout] --> src/tests/pattern_tests.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::pattern::{Pattern, StripePattern}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `rotation_x`, `scaling`, `translation`, `view_transform` [INFO] [stdout] --> src/tests/pattern_tests.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::transform::{rotation_x, scaling, translation, view_transform}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `point`, `vector` [INFO] [stdout] --> src/tests/pattern_tests.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::tuple::{point, vector}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::world::World` [INFO] [stdout] --> src/tests/pattern_tests.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::world::World; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/tests/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | mod pattern_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PI` is never used [INFO] [stdout] --> src/math.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) const PI : Float = std::f64::consts::PI; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SQRT2` is never used [INFO] [stdout] --> src/math.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) const SQRT2 : Float = std::f64::consts::SQRT_2 as Float; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `point` is never used [INFO] [stdout] --> src/tuple.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn point(x : Float, y : Float, z : Float) -> Tuple { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Projectile` is never constructed [INFO] [stdout] --> src/projectile.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Projectile { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Environment` is never constructed [INFO] [stdout] --> src/projectile.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Environment { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `tick` are never used [INFO] [stdout] --> src/projectile.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Projectile { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 14 | pub fn new(position : Tuple, velocity : Tuple) -> Projectile { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn tick(&self, environment: &Environment) -> Projectile { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/projectile.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Environment { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 24 | pub fn new(gravity : Tuple, wind: Tuple) -> Environment { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `black`, `white`, `red`, `green`, `blue`, and `new` are never used [INFO] [stdout] --> src/colors.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Color { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] 12 | pub fn black() -> Color { Color::new(0.0, 0.0, 0.0) } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 13 | pub fn white() -> Color { Color::new(1.0, 1.0, 1.0) } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 14 | pub fn red() -> Color { Color::new(1.0, 0.0, 0.0) } [INFO] [stdout] | ^^^ [INFO] [stdout] 15 | pub fn green() -> Color { Color::new(0.0, 1.0, 0.0) } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 16 | pub fn blue() -> Color { Color::new(0.0, 0.0, 1.0) } [INFO] [stdout] | ^^^^ [INFO] [stdout] 17 | [INFO] [stdout] 18 | pub fn new(red : Float, green : Float, blue : Float ) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/canvas.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Canvas { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 14 | pub fn new(width : usize, height : usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn write_pixel(&mut self, x : usize, y : usize, color : Color) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn pixel_at(&self, x : usize, y : usize) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn ppm_header(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn pixel_data(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | fn push(&self, line: &mut String, data: &mut String, value : Float) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub(crate) fn save(&self, path: &str) -> Result<(), Error> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `translation` is never used [INFO] [stdout] --> src/transform.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn translation(x : Float , y: Float, z : Float) -> Matrix<4> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scaling` is never used [INFO] [stdout] --> src/transform.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn scaling(x : Float , y: Float, z : Float) -> Matrix<4> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotation_x` is never used [INFO] [stdout] --> src/transform.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn rotation_x(r : Float) -> Matrix<4> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotation_y` is never used [INFO] [stdout] --> src/transform.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn rotation_y(r : Float) -> Matrix<4> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotation_z` is never used [INFO] [stdout] --> src/transform.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn rotation_z(r : Float) -> Matrix<4> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shearing` is never used [INFO] [stdout] --> src/transform.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn shearing(xy : Float , xz: Float, yx : Float, yz : Float , zx: Float, zy : Float) -> Matrix<4> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `view_transform` is never used [INFO] [stdout] --> src/transform.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn view_transform(from : Tuple, to : Tuple, up: Tuple) -> Matrix<4> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ray` is never constructed [INFO] [stdout] --> src/ray.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Ray { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `position` and `transform` are never used [INFO] [stdout] --> src/ray.rs:11:19 [INFO] [stdout] | [INFO] [stdout] 10 | impl Ray { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] 11 | pub(crate) fn position(&self, t: Float) -> Tuple { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub(crate) fn transform(&self, transformation: &Matrix<4>) -> Ray { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ray` is never used [INFO] [stdout] --> src/ray.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn ray(origin: Tuple, direction: Tuple) -> Ray { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `intersect` and `normal_at` are never used [INFO] [stdout] --> src/sphere.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 11 | impl Sphere { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 12 | pub(crate) fn intersect(&self, ray : &Ray) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub(crate) fn normal_at(&self, p: Tuple) -> Tuple { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sphere` is never used [INFO] [stdout] --> src/sphere.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn sphere() -> Shape { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/intersection.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl<'a> Intersection<'a> { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] 12 | pub fn new(t : Float, object : &'a Object) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Sphere` and `Plane` are never constructed [INFO] [stdout] --> src/shape.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum Shape {Sphere(Sphere), Plane(Plane)} [INFO] [stdout] | ----- ^^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | variants in this enum [INFO] [stdout] | [INFO] [stdout] = note: `Shape` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `normal_at` is never used [INFO] [stdout] --> src/shape.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 11 | impl Shape { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 12 | pub(crate) fn normal_at(&self, p: Tuple) -> Tuple { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `intersect` is never used [INFO] [stdout] --> src/shape.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Shape { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 31 | pub fn intersect(&self, ray: &Ray) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `intersections` is never used [INFO] [stdout] --> src/intersections.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn intersections<'a>(intersections: Vec) -> Intersections { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `count` and `hit` are never used [INFO] [stdout] --> src/intersections.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl<'a> Intersections<'a> { [INFO] [stdout] | -------------------------- methods in this implementation [INFO] [stdout] 14 | pub fn count(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn hit(&self) -> Option<&Intersection> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `transformation_inverse` and `transformation_inverse_transpose` are never read [INFO] [stdout] --> src/object.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Object { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | transformation_inverse: Matrix<4>, // optimization: keep inverse transformation [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | transformation_inverse_transpose: Matrix<4>, // optimization: keep inverse transformation transpose [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Object` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `normal_at` is never used [INFO] [stdout] --> src/object.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 20 | impl Object { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 21 | pub(crate) fn normal_at(&self, world_point: Tuple) -> Tuple { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `intersect` is never used [INFO] [stdout] --> src/object.rs:32:19 [INFO] [stdout] | [INFO] [stdout] 31 | impl Object { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 32 | pub(crate) fn intersect(&self, ray: &Ray) -> Intersections { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `set_transformation`, `transformation`, `transformation_inverse`, `material`, `set_material`, and `new` are never used [INFO] [stdout] --> src/object.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Object { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 40 | pub fn set_transformation(&mut self, transformation : Matrix<4> ) -> &Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn transformation(&self) -> &Matrix<4> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn transformation_inverse(&self) -> &Matrix<4> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn material(&self) -> &Material { &(self.material) } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 56 | pub fn set_material(&mut self, material : Material) -> &Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn new(shape : Shape) -> Object { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_sphere` is never used [INFO] [stdout] --> src/object.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn build_sphere() -> Object { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_plane` is never used [INFO] [stdout] --> src/object.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn build_plane() -> Object { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PointLight` is never constructed [INFO] [stdout] --> src/light.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Light {PointLight(PointLight)} [INFO] [stdout] | ----- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | variant in this enum [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `intensity` and `position` are never used [INFO] [stdout] --> src/light.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl Light { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 7 | pub fn intensity(&self) -> Color { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | pub fn position(&self) -> Tuple { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/light.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl PointLight { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 38 | pub fn new(position : Tuple, intensity : Color) -> Light { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pattern` is never read [INFO] [stdout] --> src/material.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Material { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | pub(crate) pattern: Pattern, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Material` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_pattern` is never used [INFO] [stdout] --> src/material.rs:18:19 [INFO] [stdout] | [INFO] [stdout] 17 | impl Material { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 18 | pub(crate) fn set_pattern(&mut self, pattern: Pattern) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_ambient` and `lighting` are never used [INFO] [stdout] --> src/material.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 23 | impl Material { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 24 | pub(crate) fn set_ambient(&mut self, ambient: Float) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub(crate) fn lighting(&self, light: &Light, point: Tuple, eyev: Tuple, normalv: Tuple, in_shadow : bool) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `material` is never used [INFO] [stdout] --> src/material.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn material() -> Material { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `World` is never constructed [INFO] [stdout] --> src/world.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct World { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/world.rs:20:19 [INFO] [stdout] | [INFO] [stdout] 18 | impl World { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 19 | [INFO] [stdout] 20 | pub(crate) fn new() -> World { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub(crate) fn intersect_world(&self, ray: &Ray) -> Intersections [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn shade_hit(&self, comps : &Comps) -> Color { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn set_lights(&mut self, lights : Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn set_objects(&mut self, objects : Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn color_at(&self, ray: &Ray) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub(crate) fn is_shadowed(&self, light: &Light, point: Tuple) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_world` is never used [INFO] [stdout] --> src/world.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn build_world() -> World { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Comps` is never constructed [INFO] [stdout] --> src/comps.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Comps<'a> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prepare_computations` is never used [INFO] [stdout] --> src/comps.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn prepare_computations<'a>(intersection: &'a Intersection, ray : &Ray) -> Comps<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Camera` is never constructed [INFO] [stdout] --> src/camera.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Camera { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set_transform`, `ray_for_pixel`, and `render` are never used [INFO] [stdout] --> src/camera.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl Camera { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 20 | pub fn new(h_size: usize, v_size: usize, field_of_view: Float) -> Camera { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn set_transform(&mut self, transform: Matrix<4>) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub(crate) fn ray_for_pixel(&self, px: usize, py: usize) -> Ray { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub(crate) fn render(&self, world: &World) -> Canvas { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `intersect`, and `normal_at` are never used [INFO] [stdout] --> src/plane.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Plane { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 11 | pub fn new() -> Plane { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub(crate) fn intersect(&self, ray: &Ray) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub(crate) fn normal_at(&self, _ : Tuple) -> Tuple { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `None` and `Stripe` are never constructed [INFO] [stdout] --> src/pattern.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Pattern { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 6 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] 7 | Stripe(StripePattern) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Pattern` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `stripe_at` are never used [INFO] [stdout] --> src/pattern.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl StripePattern { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 17 | pub fn new(a: Color, b : Color) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn stripe_at(&self, point: &Tuple) -> Color { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 134 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.72s [INFO] running `Command { std: "docker" "inspect" "2047ef94ef5a24bd6cb7a321e8bd8dfff6cd334cee73d17e0d830a28c92cf8a6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2047ef94ef5a24bd6cb7a321e8bd8dfff6cd334cee73d17e0d830a28c92cf8a6", kill_on_drop: false }` [INFO] [stdout] 2047ef94ef5a24bd6cb7a321e8bd8dfff6cd334cee73d17e0d830a28c92cf8a6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+9c1665de5d324fe858dc15371578d6f928bfc123" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] da428cf5ce0732e2671cba1ee59990d2aaa45381c0944c9f9a2c97a0bc8ea764 [INFO] running `Command { std: "docker" "start" "-a" "da428cf5ce0732e2671cba1ee59990d2aaa45381c0944c9f9a2c97a0bc8ea764", kill_on_drop: false }` [INFO] [stderr] Compiling ray_tracer_rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: associated functions `red`, `green`, and `blue` are never used [INFO] [stdout] --> src/colors.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Color { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn red() -> Color { Color::new(1.0, 0.0, 0.0) } [INFO] [stdout] | ^^^ [INFO] [stdout] 15 | pub fn green() -> Color { Color::new(0.0, 1.0, 0.0) } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 16 | pub fn blue() -> Color { Color::new(0.0, 0.0, 1.0) } [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.35s [INFO] running `Command { std: "docker" "inspect" "da428cf5ce0732e2671cba1ee59990d2aaa45381c0944c9f9a2c97a0bc8ea764", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "da428cf5ce0732e2671cba1ee59990d2aaa45381c0944c9f9a2c97a0bc8ea764", kill_on_drop: false }` [INFO] [stdout] da428cf5ce0732e2671cba1ee59990d2aaa45381c0944c9f9a2c97a0bc8ea764 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+9c1665de5d324fe858dc15371578d6f928bfc123" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 03ee43cfe19caab619e83a7f95ab73220b6e0f41be0595b0d2a5b874ad2d0c44 [INFO] running `Command { std: "docker" "start" "-a" "03ee43cfe19caab619e83a7f95ab73220b6e0f41be0595b0d2a5b874ad2d0c44", kill_on_drop: false }` [INFO] [stderr] warning: associated functions `red`, `green`, and `blue` are never used [INFO] [stderr] --> src/colors.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 11 | impl Color { [INFO] [stderr] | ---------- associated functions in this implementation [INFO] [stderr] ... [INFO] [stderr] 14 | pub fn red() -> Color { Color::new(1.0, 0.0, 0.0) } [INFO] [stderr] | ^^^ [INFO] [stderr] 15 | pub fn green() -> Color { Color::new(0.0, 1.0, 0.0) } [INFO] [stderr] | ^^^^^ [INFO] [stderr] 16 | pub fn blue() -> Color { Color::new(0.0, 0.0, 1.0) } [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `ray_tracer_rust` (bin "ray_tracer_rust" test) generated 1 warning [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_rust-e65510ddb3f42595) [INFO] [stdout] [INFO] [stdout] running 163 tests [INFO] [stdout] test tests::camera_tests::camera_tests::constructing_a_ray_through_a_corner_of_the_canvas_test ... ok [INFO] [stdout] test tests::camera_tests::camera_tests::constructing_a_ray_through_the_center_of_the_canvas_test ... ok [INFO] [stdout] test tests::camera_tests::camera_tests::the_pixel_size_for_a_vertical_canvas_test ... ok [INFO] [stdout] test tests::camera_tests::camera_tests::constructing_a_camera_test ... ok [INFO] [stdout] test tests::camera_tests::camera_tests::constructing_a_ray_when_the_camera_is_transformed_test ... ok [INFO] [stdout] test tests::canvas_tests::construction_ppm_header_test ... ok [INFO] [stdout] test tests::canvas_tests::constructing_pixel_data_test ... ok [INFO] [stdout] test tests::canvas_tests::creating_a_canvas_test ... ok [INFO] [stdout] test tests::color_tests::hadamard_product_colors_test ... ok [INFO] [stdout] test tests::color_tests::colors_are_rgb_tuples_test ... ok [INFO] [stdout] test tests::color_tests::multiplying_color_by_scalar_test ... ok [INFO] [stdout] test tests::camera_tests::camera_tests::the_pixel_size_for_a_horizontal_canvas_test ... ok [INFO] [stdout] test tests::comps_tests::the_hit_when_an_intersection_occurs_on_the_outside_test ... ok [INFO] [stdout] test tests::camera_tests::camera_tests::rendering_a_world_with_a_camera_test ... ok [INFO] [stdout] test tests::canvas_tests::writing_pixels_to_a_canvas_test ... ok [INFO] [stdout] test tests::comps_tests::precomputing_the_state_of_an_intersection_test ... ok [INFO] [stdout] test tests::color_tests::adding_colors_test ... ok [INFO] [stdout] test tests::canvas_tests::splitting_long_lines_ppm_test ... ok [INFO] [stdout] test tests::color_tests::subtracting_colors_test ... ok [INFO] [stdout] test tests::comps_tests::the_hit_when_an_intersection_occurs_on_the_inside_test ... ok [INFO] [stdout] test tests::intersection_tests::an_intersection_encapsulates_t_and_object_test ... ok [INFO] [stdout] test tests::intersection_tests::intersect_sets_the_object_on_the_intersection_test ... ok [INFO] [stdout] test tests::intersection_tests::the_hit_is_always_the_lowest_non_negative_intersection_test ... ok [INFO] [stdout] test tests::intersection_tests::aggregating_intersections_test ... ok [INFO] [stdout] test tests::intersection_tests::the_hit_when_all_intersections_have_positive_t_test ... ok [INFO] [stdout] test tests::material_tests::lighting_with_the_eye_between_the_light_and_the_surface_test ... ok [INFO] [stdout] test tests::material_tests::lighting_with_the_surface_in_shadow_test ... ok [INFO] [stdout] test tests::light_tests::a_point_light_has_a_position_and_intensity_test ... ok [INFO] [stdout] test tests::math_tests::equals_test ... ok [INFO] [stdout] test tests::intersection_tests::the_hit_when_all_intersections_have_negative_t_test ... ok [INFO] [stdout] test tests::material_tests::lighting_with_the_light_behind_the_surface_test ... ok [INFO] [stdout] test tests::matrix_tests::a_matrix_multiplied_by_a_tuple_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_cofactor_matrix_3x3_test ... ok [INFO] [stdout] test tests::material_tests::lighting_with_a_pattern_applied_test ... ok [INFO] [stdout] test tests::intersection_tests::the_hit_when_some_intersections_have_negative_t_test ... ok [INFO] [stdout] test tests::material_tests::default_material_test ... ok [INFO] [stdout] test tests::intersection_tests::the_hit_should_offset_the_point_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_determinant_matrix_3x3_test ... ok [INFO] [stdout] test tests::intersection_tests::putting_it_together_test ... ok [INFO] [stdout] test tests::matrix_tests::matrix2_test ... ok [INFO] [stdout] test tests::material_tests::lighting_with_eye_in_the_path_of_the_reflection_vector_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_inverse_of_another_matrix_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_inverse_of_matrix_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_minor_matrix_3x3_test ... ok [INFO] [stdout] test tests::material_tests::lighting_with_eye_opposite_surface_light_offset_45_degrees_test ... ok [INFO] [stdout] test tests::material_tests::lighting_with_the_eye_between_light_and_surface_eye_offset_45_degrees_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_determinant_matrix_4x4_test ... ok [INFO] [stdout] test tests::matrix_tests::matrix_equality_with_identical_matrices_test ... ok [INFO] [stdout] test tests::matrix_tests::matrix_equality_with_different_matrices_test ... ok [INFO] [stdout] test tests::matrix_tests::matrix3_test ... ok [INFO] [stdout] test tests::matrix_tests::matrix4_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_determinant_matrix_2x2_test ... ok [INFO] [stdout] test tests::matrix_tests::multiplying_a_product_by_its_inverse_test ... ok [INFO] [stdout] test tests::matrix_tests::calculating_inverse_of_a_third_matrix_test ... ok [INFO] [stdout] test tests::object_tests::a_sphere_s_default_transformation_test ... ok [INFO] [stdout] test tests::matrix_tests::multiplying_two_matrices_test ... ok [INFO] [stdout] test tests::object_tests::computing_the_normal_on_a_transformed_shape_test ... ok [INFO] [stdout] test tests::object_tests::assigning_a_transformation_test ... ok [INFO] [stdout] test tests::matrix_tests::sub_matrix_3x3_test ... ok [INFO] [stdout] test tests::object_tests::assigning_a_material_test ... ok [INFO] [stdout] test tests::matrix_tests::transposing_identity_matrix_test ... ok [INFO] [stdout] test tests::object_tests::changing_a_sphere_transformation_test ... ok [INFO] [stdout] test tests::object_tests::a_sphere_may_be_assigned_a_material_test ... ok [INFO] [stdout] test tests::matrix_tests::transposing_a_matrix_test ... ok [INFO] [stdout] test tests::matrix_tests::sub_matrix_4x4_test ... ok [INFO] [stdout] test tests::matrix_tests::multiplying_a_matrix_by_the_identity_matrix_test ... ok [INFO] [stdout] test tests::object_tests::intersecting_a_translated_shape_with_a_ray_test ... ok [INFO] [stdout] test tests::object_tests::the_default_material_test ... ok [INFO] [stdout] test tests::pattern_tests::a_stripe_pattern_is_constant_in_y_test ... ok [INFO] [stdout] test tests::object_tests::intersecting_a_scaled_sphere_with_a_ray_test ... ok [INFO] [stdout] test tests::object_tests::a_sphere_has_a_default_material_test ... ok [INFO] [stdout] test tests::plane_tests::a_ray_intersecting_a_plane_from_above_test ... ok [INFO] [stdout] test tests::object_tests::intersecting_a_translated_sphere_with_a_ray_test ... ok [INFO] [stdout] test tests::object_tests::computing_the_normal_on_a_translated_shape_test ... ok [INFO] [stdout] test tests::pattern_tests::a_stripe_pattern_is_constant_in_z_test ... ok [INFO] [stdout] test tests::pattern_tests::creating_a_stripe_pattern_test ... ok [INFO] [stdout] test tests::object_tests::the_default_transformation_test ... ok [INFO] [stdout] test tests::plane_tests::intersect_with_a_coplanar_ray_test ... ok [INFO] [stdout] test tests::plane_tests::a_ray_intersecting_a_plane_from_below_test ... ok [INFO] [stdout] test tests::plane_tests::intersect_with_a_ray_parallel_to_the_plane_test ... ok [INFO] [stdout] test tests::pattern_tests::a_stripe_pattern_alternates_in_x_test ... ok [INFO] [stdout] test tests::object_tests::intersecting_a_scaled_shape_with_a_ray_test ... ok [INFO] [stdout] test tests::ray_tests::computing_a_point_from_a_distance_test ... ok [INFO] [stdout] test tests::sphere_tests::a_ray_intersects_a_sphere_at_a_tangent_test ... ok [INFO] [stdout] test tests::sphere_tests::a_ray_misses_a_sphere_test ... ok [INFO] [stdout] test tests::sphere_tests::a_ray_intersects_a_sphere_at_two_points_test ... ok [INFO] [stdout] test tests::plane_tests::the_normal_of_a_plane_is_constant_everywhere_test ... ok [INFO] [stdout] test tests::sphere_tests::a_sphere_is_behind_a_ray_test ... ok [INFO] [stdout] test tests::sphere_tests::a_ray_originates_inside_a_sphere_test ... ok [INFO] [stdout] test tests::sphere_tests::computing_the_normal_on_a_transformed_sphere_test ... ok [INFO] [stdout] test tests::material_tests::putting_it_together_test ... ok [INFO] [stdout] test tests::ray_tests::scaling_a_ray_test ... ok [INFO] [stdout] test tests::ray_tests::translating_a_ray_test ... ok [INFO] [stdout] test tests::sphere_tests::the_normal_is_a_normalized_vector_test ... ok [INFO] [stdout] test tests::ray_tests::creating_and_querying_a_ray_test ... ok [INFO] [stdout] test tests::sphere_tests::computing_the_normal_on_a_translated_sphere_test ... ok [INFO] [stdout] test tests::projectile_tests::projectile_test ... ok [INFO] [stdout] test tests::sphere_tests::the_normal_on_a_sphere_at_a_point_on_the_x_axis_test ... ok [INFO] [stdout] test tests::sphere_tests::the_normal_on_a_sphere_at_a_non_axial_point_test ... ok [INFO] [stdout] test tests::sphere_tests::the_normal_on_a_sphere_at_a_point_on_the_z_axis_test ... ok [INFO] [stdout] test tests::transform_tests::a_shearing_transformation_moves_y_in_proportion_to_z_test ... ok [INFO] [stdout] test tests::transform_tests::a_scaling_matrix_applied_to_a_point_test ... ok [INFO] [stdout] test tests::transform_tests::a_scaling_matrix_applied_to_a_vector_test ... ok [INFO] [stdout] test tests::sphere_tests::the_normal_on_a_sphere_at_a_point_on_the_y_axis_test ... ok [INFO] [stdout] test tests::transform_tests::a_shearing_transformation_moves_z_in_proportion_to_y_test ... ok [INFO] [stdout] test tests::transform_tests::a_shearing_transformation_moves_y_in_proportion_to_x_test ... ok [INFO] [stdout] test tests::transform_tests::a_view_transformation_matrix_looking_in_positive_z_direction_test ... ok [INFO] [stdout] test tests::transform_tests::individual_transformations_are_applied_in_sequence_test ... ok [INFO] [stdout] test tests::transform_tests::a_shearing_transformation_moves_x_in_proportion_to_z_test ... ok [INFO] [stdout] test tests::transform_tests::chained_transformations_must_be_applied_in_reverse_order_test ... ok [INFO] [stdout] test tests::transform_tests::multiplying_by_the_inverse_of_a_scaling_matrix_test ... ok [INFO] [stdout] test tests::transform_tests::a_shearing_transformation_moves_z_in_proportion_to_x_test ... ok [INFO] [stdout] test tests::transform_tests::an_arbitrary_view_transformation_test ... ok [INFO] [stdout] test tests::transform_tests::multiplying_by_a_translation_matrix_test ... ok [INFO] [stdout] test tests::canvas_tests::putting_it_together_test ... ok [INFO] [stdout] test tests::transform_tests::a_shearing_transformation_moves_x_in_proportion_to_y_test ... ok [INFO] [stdout] test tests::transform_tests::rotating_a_point_around_the_z_axis_test ... ok [INFO] [stdout] test tests::transform_tests::translation_does_not_affect_vectors_test ... ok [INFO] [stdout] test tests::tuple_tests::a_tuple_with_w_zero_is_vector_test ... ok [INFO] [stdout] test tests::tuple_tests::adding_two_tuples_test ... ok [INFO] [stdout] test tests::transform_tests::rotating_a_point_around_the_x_axis_test ... ok [INFO] [stdout] test tests::transform_tests::the_view_transformation_moves_the_world_test ... ok [INFO] [stdout] test tests::transform_tests::putting_it_together_test ... ok [INFO] [stdout] test tests::transform_tests::reflection_is_scaling_by_a_negative_value_test ... ok [INFO] [stdout] test tests::transform_tests::rotating_a_point_around_the_y_axis_test ... ok [INFO] [stdout] test tests::transform_tests::multiplying_by_the_inverse_of_a_translation_matrix_test ... ok [INFO] [stdout] test tests::tuple_tests::a_tuple_with_w_1_is_point_test ... ok [INFO] [stdout] test tests::tuple_tests::dot_product_two_tuples_test ... ok [INFO] [stdout] test tests::tuple_tests::computing_magnitude_vector_y_test ... ok [INFO] [stdout] test tests::tuple_tests::magnitude_of_a_normalized_vector_test ... ok [INFO] [stdout] test tests::tuple_tests::multiplying_a_tuple_by_a_fraction_test ... ok [INFO] [stdout] test tests::tuple_tests::point_creates_tuples_with_w_1_test ... ok [INFO] [stdout] test tests::tuple_tests::subtracting_a_vector_from_a_point_test ... ok [INFO] [stdout] test tests::tuple_tests::subtracting_a_vector_from_the_zero_vector_test ... ok [INFO] [stdout] test tests::tuple_tests::subtracting_two_points_test ... ok [INFO] [stdout] test tests::tuple_tests::subtracting_two_vectors_test ... ok [INFO] [stdout] test tests::tuple_tests::reflecting_a_vector_approaching_at_45_degrees_test ... ok [INFO] [stdout] test tests::tuple_tests::vector_creates_tuples_with_w_zero_test ... ok [INFO] [stdout] test tests::tuple_tests::reflecting_a_vector_off_a_slanted_surface_test ... ok [INFO] [stdout] test tests::world_tests::intersect_a_world_with_a_ray_test ... ok [INFO] [stdout] test tests::world_tests::shade_hit_is_given_an_intersection_in_shadow_test ... ok [INFO] [stdout] test tests::world_tests::shading_an_intersection_test ... ok [INFO] [stdout] test tests::world_tests::shading_an_intersection_from_the_inside_test ... ok [INFO] [stdout] test tests::tuple_tests::computing_magnitude_vector_123_test ... ok [INFO] [stdout] test tests::tuple_tests::cross_product_two_vectors_test ... ok [INFO] [stdout] test tests::tuple_tests::computing_magnitude_vector_x_test ... ok [INFO] [stdout] test tests::tuple_tests::multiplying_a_tuple_by_a_scalar_test ... ok [INFO] [stdout] test tests::tuple_tests::normalize_vector_4_0_0_gives_1_0_0_test ... ok [INFO] [stdout] test tests::world_tests::the_color_with_an_intersection_behind_the_ray_test ... ok [INFO] [stdout] test tests::world_tests::the_default_world_test ... ok [INFO] [stdout] test tests::world_tests::the_shadow_when_an_object_is_between_the_point_and_the_light_test ... ok [INFO] [stdout] test tests::tuple_tests::computing_magnitude_vector_z_test ... ok [INFO] [stdout] test tests::tuple_tests::dividing_a_tuple_by_a_scalar_test ... ok [INFO] [stdout] test tests::tuple_tests::equals_test ... ok [INFO] [stdout] test tests::tuple_tests::negating_a_tuple_test ... ok [INFO] [stdout] test tests::tuple_tests::normalize_vector_1_2_3_test ... ok [INFO] [stdout] test tests::world_tests::the_color_when_a_ray_hits_test ... ok [INFO] [stdout] test tests::world_tests::there_is_no_shadow_when_nothing_is_collinear_with_point_and_light_test ... ok [INFO] [stdout] test tests::world_tests::the_color_when_a_ray_misses_test ... ok [INFO] [stdout] test tests::world_tests::there_is_no_shadow_when_an_object_is_behind_the_light_test ... ok [INFO] [stdout] test tests::plane_tests::putting_it_together_test ... ok [INFO] [stdout] test tests::pattern_tests::putting_it_together_test ... ok [INFO] [stdout] test tests::camera_tests::camera_tests::putting_it_together_test ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 163 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.75s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "03ee43cfe19caab619e83a7f95ab73220b6e0f41be0595b0d2a5b874ad2d0c44", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "03ee43cfe19caab619e83a7f95ab73220b6e0f41be0595b0d2a5b874ad2d0c44", kill_on_drop: false }` [INFO] [stdout] 03ee43cfe19caab619e83a7f95ab73220b6e0f41be0595b0d2a5b874ad2d0c44