[INFO] cloning repository https://github.com/artran/ray-tracer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/artran/ray-tracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fartran%2Fray-tracer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fartran%2Fray-tracer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b20c90b34054915322a4b1a7169a20b69f51735c [INFO] testing artran/ray-tracer against try#ce59db7a1b1b012fb2793c4641c1bdecad7a128b for pr-85530 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fartran%2Fray-tracer" "/workspace/builds/worker-6/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/artran/ray-tracer on toolchain ce59db7a1b1b012fb2793c4641c1bdecad7a128b [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/artran/ray-tracer [INFO] finished tweaking git repo https://github.com/artran/ray-tracer [INFO] tweaked toml for git repo https://github.com/artran/ray-tracer written to /workspace/builds/worker-6/source/Cargo.toml [INFO] crate git repo https://github.com/artran/ray-tracer already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded paste v1.0.5 [INFO] [stderr] Downloaded matrixmultiply v0.3.1 [INFO] [stderr] Downloaded simba v0.4.0 [INFO] [stderr] Downloaded nalgebra v0.26.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0748d8187ef77a5711b42878ee42689158324b95a741b686cb8c6b1e8da85882 [INFO] running `Command { std: "docker" "start" "-a" "0748d8187ef77a5711b42878ee42689158324b95a741b686cb8c6b1e8da85882", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0748d8187ef77a5711b42878ee42689158324b95a741b686cb8c6b1e8da85882", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0748d8187ef77a5711b42878ee42689158324b95a741b686cb8c6b1e8da85882", kill_on_drop: false }` [INFO] [stdout] 0748d8187ef77a5711b42878ee42689158324b95a741b686cb8c6b1e8da85882 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2ce7c59e4464b27a947397484432ee6914f8dafc84b61a20bb35a434b674e525 [INFO] running `Command { std: "docker" "start" "-a" "2ce7c59e4464b27a947397484432ee6914f8dafc84b61a20bb35a434b674e525", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling typenum v1.13.0 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling paste v1.0.5 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling matrixmultiply v0.3.1 [INFO] [stderr] Compiling approx v0.4.0 [INFO] [stderr] Compiling num-complex v0.3.1 [INFO] [stderr] Compiling simba v0.4.0 [INFO] [stderr] Compiling nalgebra v0.26.2 [INFO] [stderr] Compiling ray-tracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: constant is never used: `PPM_MAX_LINE_LENGTH` [INFO] [stdout] --> src/canvas.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | const PPM_MAX_LINE_LENGTH: usize = 70; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Canvas` [INFO] [stdout] --> src/canvas.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | struct Canvas { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/canvas.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(width: usize, height: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `width` [INFO] [stdout] --> src/canvas.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn width(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `height` [INFO] [stdout] --> src/canvas.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn height(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `pixel_at` [INFO] [stdout] --> src/canvas.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn pixel_at(&self, x: usize, y: usize) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `write_pixel` [INFO] [stdout] --> src/canvas.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn write_pixel(&mut self, x: usize, y: usize, color: &Color) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `save` [INFO] [stdout] --> src/canvas.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn save(&self, file: &mut impl Write) -> Result<(), Error> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/color.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new(r: f32, g: f32, b: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `black` [INFO] [stdout] --> src/color.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn black() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `plus` [INFO] [stdout] --> src/color.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn plus(&self, other: &Color) -> Color { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `minus` [INFO] [stdout] --> src/color.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn minus(&self, other: &Color) -> Color { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `scale` [INFO] [stdout] --> src/color.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn scale(&self, factor: &f32) -> Color { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `hadamard` [INFO] [stdout] --> src/color.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn hadamard(&self, other: &Color) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Ray` [INFO] [stdout] --> src/ray.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Ray { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/ray.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new(origin: Vector4, direction: Vector4) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `position` [INFO] [stdout] --> src/ray.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn position(&self, t: f32) -> Vector4 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `transform` [INFO] [stdout] --> src/ray.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | fn transform(&self, transformation: &Matrix4) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Sphere` [INFO] [stdout] --> src/sphere.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Sphere { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/sphere.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `intersect` [INFO] [stdout] --> src/sphere.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn intersect(&self, ray: &Ray) -> Option<[f32;2]> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 30.21s [INFO] running `Command { std: "docker" "inspect" "2ce7c59e4464b27a947397484432ee6914f8dafc84b61a20bb35a434b674e525", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2ce7c59e4464b27a947397484432ee6914f8dafc84b61a20bb35a434b674e525", kill_on_drop: false }` [INFO] [stdout] 2ce7c59e4464b27a947397484432ee6914f8dafc84b61a20bb35a434b674e525 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a7ad997cf814e712fda57d481f3c97d23a3188e4ac41dafa5d6f4d88629d4c6d [INFO] running `Command { std: "docker" "start" "-a" "a7ad997cf814e712fda57d481f3c97d23a3188e4ac41dafa5d6f4d88629d4c6d", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.94 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling num-complex v0.1.43 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling num-bigint v0.1.44 [INFO] [stderr] Compiling num-rational v0.1.42 [INFO] [stderr] Compiling num v0.1.42 [INFO] [stderr] Compiling spectral v0.6.0 [INFO] [stderr] Compiling ray-tracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 9.41s [INFO] running `Command { std: "docker" "inspect" "a7ad997cf814e712fda57d481f3c97d23a3188e4ac41dafa5d6f4d88629d4c6d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a7ad997cf814e712fda57d481f3c97d23a3188e4ac41dafa5d6f4d88629d4c6d", kill_on_drop: false }` [INFO] [stdout] a7ad997cf814e712fda57d481f3c97d23a3188e4ac41dafa5d6f4d88629d4c6d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ce59db7a1b1b012fb2793c4641c1bdecad7a128b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] c9da4496b28d691478f16fc12a563e8634c37834bf3abdc21585e8aeedbdb10a [INFO] running `Command { std: "docker" "start" "-a" "c9da4496b28d691478f16fc12a563e8634c37834bf3abdc21585e8aeedbdb10a", kill_on_drop: false }` [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/ray_tracer-74422b5505d13952) [INFO] [stdout] [INFO] [stdout] running 91 tests [INFO] [stdout] test canvas::tests::new_canvas_has_width ... ok [INFO] [stdout] test canvas::tests::saved_canvas_has_correct_lines_less_than_70_chars ... ok [INFO] [stdout] test color::tests::displaying_colours ... ok [INFO] [stdout] test color::tests::displaying_colours_clamps_to_zero_or_255 ... ok [INFO] [stdout] test color::tests::multiplying_colours ... ok [INFO] [stdout] test color::tests::subtracting_colours ... ok [INFO] [stdout] test matrix::tests::calculating_the_determinant_of_2x2_matrix ... ok [INFO] [stdout] test matrix::tests::calculating_the_determinant_of_a_4x4_matrix ... ok [INFO] [stdout] test matrix::tests::calculating_the_inverse_of_a_matrix ... ok [INFO] [stdout] test matrix::tests::calculating_the_inverse_of_a_third_matrix ... ok [INFO] [stdout] test matrix::tests::calculating_the_inverse_of_another_matrix ... ok [INFO] [stdout] test matrix::tests::matrices_constructed_from_rows ... ok [INFO] [stdout] test matrix::tests::matrices_with_the_same_values_are_equal ... ok [INFO] [stdout] test matrix::tests::matrices_with_the_different_values_are_not_equal ... ok [INFO] [stdout] test matrix::tests::multiplying_identity_matrix_by_a_tuple ... ok [INFO] [stdout] test matrix::tests::multiplying_matrices ... ok [INFO] [stdout] test matrix::tests::multiplying_matrices_by_tuples ... ok [INFO] [stdout] test matrix::tests::multiplying_matrix_by_the_identity_matrix ... ok [INFO] [stdout] test matrix::tests::testing_a_noninvertible_matrix_for_invertibility ... ok [INFO] [stdout] test matrix::tests::testing_an_invertible_matrix_for_invertibility ... ok [INFO] [stdout] test ray::tests::creating_and_querying_a_ray ... ok [INFO] [stdout] test ray::tests::computing_a_point_from_a_distance ... ok [INFO] [stdout] test matrix::tests::transposing_a_matrix ... ok [INFO] [stdout] test matrix::tests::transposing_the_identity_matrix_return_identity ... ok [INFO] [stdout] test canvas::tests::saved_canvas_has_correct_magic ... ok [INFO] [stdout] test color::tests::adding_colours ... ok [INFO] [stdout] test transform::tests::a_shearing_transformation_moves_x_in_proportion_to_y ... ok [INFO] [stdout] test matrix::tests::calculating_the_determinant_of_a_3x3_matrix ... ok [INFO] [stdout] test matrix::tests::multiplying_a_product_by_its_inverse ... ok [INFO] [stdout] test ray::tests::scaling_a_ray ... ok [INFO] [stdout] test canvas::tests::saved_canvas_has_correct_image_data ... ok [INFO] [stdout] test sphere::tests::a_ray_intersects_a_sphere_at_a_tangent ... ok [INFO] [stdout] test sphere::tests::a_sphere_is_behind_a_ray ... ok [INFO] [stdout] test ray::tests::translating_a_ray ... ok [INFO] [stdout] test sphere::tests::a_ray_intersects_a_sphere_at_two_points ... ok [INFO] [stdout] test transform::tests::a_shearing_transformation_moves_x_in_proportion_to_z ... ok [INFO] [stdout] test transform::tests::rotating_a_point_around_the_x_axis ... ok [INFO] [stdout] test transform::tests::reflection_is_scaling_by_a_negative_value ... ok [INFO] [stdout] test transform::tests::a_shearing_transformation_moves_z_in_proportion_to_x ... ok [INFO] [stdout] test transform::tests::a_shearing_transformation_moves_z_in_proportion_to_y ... ok [INFO] [stdout] test transform::tests::multiplying_by_a_translation_matrix ... ok [INFO] [stdout] test transform::tests::rotating_a_point_around_the_y_axis ... ok [INFO] [stdout] test transform::tests::chained_transformations_must_be_applied_in_reverse_order ... ok [INFO] [stdout] test matrix::tests::matrices_indexed_by_row_col ... ok [INFO] [stdout] test transform::tests::a_shearing_transformation_moves_y_in_proportion_to_z ... ok [INFO] [stdout] test canvas::tests::pixels_can_be_read_from ... ok [INFO] [stdout] test canvas::tests::new_canvas_is_black ... ok [INFO] [stdout] test sphere::tests::a_ray_misses_a_sphere ... ok [INFO] [stdout] test canvas::tests::new_canvas_has_height ... ok [INFO] [stdout] test canvas::tests::pixels_can_be_written_to ... ok [INFO] [stdout] test color::tests::scaling_colours ... ok [INFO] [stdout] test sphere::tests::a_ray_originates_inside_a_sphere ... ok [INFO] [stdout] test transform::tests::a_shearing_transformation_moves_y_in_proportion_to_x ... ok [INFO] [stdout] test canvas::tests::saved_canvas_ends_with_newline_character ... ok [INFO] [stdout] test transform::tests::individual_transformations_are_applied_in_sequence ... ok [INFO] [stdout] test transform::tests::the_inverse_of_an_x_rotation_rotates_in_the_opposite_direction ... ok [INFO] [stdout] test transform::tests::translation_does_not_affect_vectors ... ok [INFO] [stdout] test transform::tests::scaling_matrix_applied_to_a_vector ... ok [INFO] [stdout] test transform::tests::scaling_matrix_applied_to_a_point ... ok [INFO] [stdout] test transform::tests::rotating_a_point_around_the_z_axis ... ok [INFO] [stdout] test transform::tests::multiplying_by_the_inverse_of_a_scaling_matrix ... ok [INFO] [stdout] test transform::tests::multiplying_by_the_inverse_of_a_translation_matrix ... ok [INFO] [stdout] test tuple::tests::dot_product_of_two_vectors_is_scalar ... ok [INFO] [stdout] test tuple::tests::negating_a_tuple_returns_the_negative_tuple ... ok [INFO] [stdout] test tuple::tests::vector_has_w_of_0 ... ok [INFO] [stdout] test tuple::tests::normalized_vector_is_a_unit_vector ... ok [INFO] [stdout] test tuple::tests::vector_returns_true_for_is_vector_false_for_is_point ... ok [INFO] [stdout] test tuple::tests::point_returns_true_for_is_point_false_for_is_vector ... ok [INFO] [stdout] test tuple::tests::adding_a_vector_to_a_point_returns_a_new_point ... ok [INFO] [stdout] test tuple::tests::cross_product_of_two_vectors_is_vector ... ok [INFO] [stdout] test tuple::tests::unit_vector_x_has_magnitude_of_1 ... ok [INFO] [stdout] test tuple::tests::vector_has_magnitude ... ok [INFO] [stdout] test tuple::tests::subtracting_a_vector_from_a_point_returns_a_new_point ... ok [INFO] [stdout] test tuple::tests::unit_vector_z_has_magnitude_of_1 ... ok [INFO] [stdout] test tuple::tests::cross_product_of_two_vectors_is_not_commutative ... ok [INFO] [stdout] test tuple::tests::unit_vector_y_has_magnitude_of_1 ... ok [INFO] [stdout] test tuple::tests::normalizing_vector_returns_unit_vector_same_direction ... ok [INFO] [stdout] test tuple::tests::multiplying_a_tuple_by_fraction_scales_the_tuple ... ok [INFO] [stdout] test tuple::tests::negative_vector_has_positive_magnitude ... ok [INFO] [stdout] test tuple::tests::multiplying_a_tuple_by_scalar_scales_the_tuple ... ok [INFO] [stdout] test tuple::tests::vector_has_three_coordinates ... ok [INFO] [stdout] test tuple::tests::tuple_can_be_indexed ... ok [INFO] [stdout] test tuple::tests::tuple_returns_false_for_is_vector_false_for_is_point ... ok [INFO] [stdout] test tuple::tests::tuple_can_be_indexed_mutably ... ok [INFO] [stdout] test tuple::tests::negating_a_vector_returns_the_negative_vector ... ok [INFO] [stdout] test tuple::tests::subtracting_two_points_returns_a_vector ... ok [INFO] [stdout] test tuple::tests::point_has_three_coordinates ... ok [INFO] [stdout] test tuple::tests::point_has_w_of_1 ... ok [INFO] [stdout] test tuple::tests::normalizing_vector_returns_unit_vector_same_direction2 ... ok [INFO] [stdout] test ray::tests::passing_a_vector_for_origin_causes_panic ... ok [INFO] [stdout] test ray::tests::passing_a_point_for_direction_causes_panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 91 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "c9da4496b28d691478f16fc12a563e8634c37834bf3abdc21585e8aeedbdb10a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c9da4496b28d691478f16fc12a563e8634c37834bf3abdc21585e8aeedbdb10a", kill_on_drop: false }` [INFO] [stdout] c9da4496b28d691478f16fc12a563e8634c37834bf3abdc21585e8aeedbdb10a