[INFO] cloning repository https://github.com/NotAWiz4rd/rust-renderer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NotAWiz4rd/rust-renderer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNotAWiz4rd%2Frust-renderer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNotAWiz4rd%2Frust-renderer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e3ae324d3b68c980007dac0b58f9bbd6b35e0b13
[INFO] testing NotAWiz4rd/rust-renderer against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNotAWiz4rd%2Frust-renderer" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/NotAWiz4rd/rust-renderer
[INFO] finished tweaking git repo https://github.com/NotAWiz4rd/rust-renderer
[INFO] tweaked toml for git repo https://github.com/NotAWiz4rd/rust-renderer written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/NotAWiz4rd/rust-renderer on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/NotAWiz4rd/rust-renderer 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f27c5d1446eebee73a70ab540e96a44b45e24eebef7ede572c5dc4de7cd2cd2b
[INFO] running `Command { std: "docker" "start" "-a" "f27c5d1446eebee73a70ab540e96a44b45e24eebef7ede572c5dc4de7cd2cd2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f27c5d1446eebee73a70ab540e96a44b45e24eebef7ede572c5dc4de7cd2cd2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f27c5d1446eebee73a70ab540e96a44b45e24eebef7ede572c5dc4de7cd2cd2b", kill_on_drop: false }`
[INFO] [stdout] f27c5d1446eebee73a70ab540e96a44b45e24eebef7ede572c5dc4de7cd2cd2b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 10994ef24b3003c7ccd6d483dea818c0a2a8421cda22a70731a1f6f8557f2ab9
[INFO] running `Command { std: "docker" "start" "-a" "10994ef24b3003c7ccd6d483dea818c0a2a8421cda22a70731a1f6f8557f2ab9", kill_on_drop: false }`
[INFO] [stderr]    Compiling renderer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_const_exprs)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::experiments::clock::render_clock`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::experiments::clock::render_clock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::experiments::projectile::run_projectile_simulation`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::experiments::projectile::run_projectile_simulation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ORIGIN`
[INFO] [stdout]  --> src/ray.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::tuple::{dot_product, ORIGIN, Tuple};
[INFO] [stdout]   |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `canvas` is never read
[INFO] [stdout]   --> src/experiments.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut canvas = canvas(canvas_pixels, canvas_pixels);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ZERO_VECTOR` is never used
[INFO] [stdout]  --> src/tuple.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const ZERO_VECTOR: Tuple = Tuple { x: 0.0, y: 0.0, z: 0.0, w: 0.0 };
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector` is never used
[INFO] [stdout]   --> src/tuple.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn vector(x: f64, y: f64, z: f64) -> Tuple {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_i` is never used
[INFO] [stdout]   --> src/tuple.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn vector_i(x: i32, y: i32, z: i32) -> Tuple {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cross_product` is never used
[INFO] [stdout]   --> src/tuple.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn cross_product(v1: Tuple, v2: Tuple) -> Tuple {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_point` and `is_vector` are never used
[INFO] [stdout]   --> src/tuple.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Tuple {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 62 |     pub fn is_point(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn is_vector(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE` is never used
[INFO] [stdout]  --> src/colour.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const WHITE: Colour = Colour { red: 1.0, green: 1.0, blue: 1.0 };
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLUE` is never used
[INFO] [stdout]  --> src/colour.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const BLUE: Colour = Colour { red: 0.0, green: 0.0, blue: 1.0 };
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `colour` is never used
[INFO] [stdout]   --> src/colour.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn colour(red: f64, green: f64, blue: f64) -> Colour {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_clock` is never used
[INFO] [stdout]    --> src/experiments.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub fn render_clock() {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_projectile_simulation` is never used
[INFO] [stdout]    --> src/experiments.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn run_projectile_simulation() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Projectile` is never constructed
[INFO] [stdout]    --> src/experiments.rs:177:12
[INFO] [stdout]     |
[INFO] [stdout] 177 |     struct Projectile {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Environment` is never constructed
[INFO] [stdout]    --> src/experiments.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 |     struct Environment {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tick` is never used
[INFO] [stdout]    --> src/experiments.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 |     fn tick(environment: &Environment, projectile: &mut Projectile) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `radians_i` is never used
[INFO] [stdout]   --> src/util.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn radians_i(degrees: i32) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `radians` is never used
[INFO] [stdout]   --> src/util.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn radians(degrees: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_coordinate` is never used
[INFO] [stdout]   --> src/util.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn normalize_coordinate(coordinate: f64, canvas_size: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shearing_i` is never used
[INFO] [stdout]   --> src/matrix.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn shearing_i(x_y: i32, x_z: i32, y_x: i32, y_z: i32, z_x: i32, z_y: i32) -> Matrix<4> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shearing` is never used
[INFO] [stdout]   --> src/matrix.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn shearing(x_y: f64, x_z: f64, y_x: f64, y_z: f64, z_x: f64, z_y: f64) -> Matrix<4> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotation_x` is never used
[INFO] [stdout]   --> src/matrix.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn rotation_x(rotation: f64) -> Matrix<4> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotation_y` is never used
[INFO] [stdout]   --> src/matrix.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn rotation_y(rotation: f64) -> Matrix<4> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translation_i` is never used
[INFO] [stdout]   --> src/matrix.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn translation_i(x: i32, y: i32, z: i32) -> Matrix<4> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translation` is never used
[INFO] [stdout]   --> src/matrix.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn translation(x: f64, y: f64, z: f64) -> Matrix<4> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scaling_i` is never used
[INFO] [stdout]   --> src/matrix.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn scaling_i(x: i32, y: i32, z: i32) -> Matrix<4> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `transpose` is never used
[INFO] [stdout]    --> src/matrix.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl<const SIZE: usize> Matrix<SIZE> {
[INFO] [stdout]     | ------------------------------------ method in this implementation
[INFO] [stdout] 103 |     pub fn transpose(self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `rotate_x`, `rotate_y`, and `translate` are never used
[INFO] [stdout]    --> src/matrix.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Matrix<4> {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 141 |     pub fn rotate_x(self, rotation: f64) -> Matrix<4> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn rotate_y(self, rotation: f64) -> Matrix<4> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn translate(self, x: f64, y: f64, z: f64) -> Matrix<4> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `invert` is never used
[INFO] [stdout]    --> src/matrix.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl Matrix<3> {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 205 |     pub fn invert(&self) -> Option<Matrix<3>> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `position` is never used
[INFO] [stdout]   --> src/ray.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Ray {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] 26 |     pub fn position(&self, time: f64) -> Tuple {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `normal_at` is never used
[INFO] [stdout]   --> src/objects.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Object {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn normal_at(&self, point: Tuple) -> Tuple {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.04s
[INFO] running `Command { std: "docker" "inspect" "10994ef24b3003c7ccd6d483dea818c0a2a8421cda22a70731a1f6f8557f2ab9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10994ef24b3003c7ccd6d483dea818c0a2a8421cda22a70731a1f6f8557f2ab9", kill_on_drop: false }`
[INFO] [stdout] 10994ef24b3003c7ccd6d483dea818c0a2a8421cda22a70731a1f6f8557f2ab9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 94879e7dde98ed6cec87b0a01090f01350abdc33fa5f404c89da7ff20a0c77c8
[INFO] running `Command { std: "docker" "start" "-a" "94879e7dde98ed6cec87b0a01090f01350abdc33fa5f404c89da7ff20a0c77c8", kill_on_drop: false }`
[INFO] [stderr]    Compiling renderer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_const_exprs)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::experiments::clock::render_clock`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::experiments::clock::render_clock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::experiments::projectile::run_projectile_simulation`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::experiments::projectile::run_projectile_simulation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ORIGIN`
[INFO] [stdout]  --> src/ray.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::tuple::{dot_product, ORIGIN, Tuple};
[INFO] [stdout]   |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Object`
[INFO] [stdout]   --> src/main.rs:86:30
[INFO] [stdout]    |
[INFO] [stdout] 86 |         use crate::objects::{Object, sphere};
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `canvas` is never read
[INFO] [stdout]   --> src/experiments.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut canvas = canvas(canvas_pixels, canvas_pixels);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE` is never used
[INFO] [stdout]  --> src/colour.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const WHITE: Colour = Colour { red: 1.0, green: 1.0, blue: 1.0 };
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLUE` is never used
[INFO] [stdout]  --> src/colour.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const BLUE: Colour = Colour { red: 0.0, green: 0.0, blue: 1.0 };
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_clock` is never used
[INFO] [stdout]    --> src/experiments.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub fn render_clock() {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_projectile_simulation` is never used
[INFO] [stdout]    --> src/experiments.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn run_projectile_simulation() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Projectile` is never constructed
[INFO] [stdout]    --> src/experiments.rs:177:12
[INFO] [stdout]     |
[INFO] [stdout] 177 |     struct Projectile {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Environment` is never constructed
[INFO] [stdout]    --> src/experiments.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 |     struct Environment {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tick` is never used
[INFO] [stdout]    --> src/experiments.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 |     fn tick(environment: &Environment, projectile: &mut Projectile) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `radians_i` is never used
[INFO] [stdout]   --> src/util.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn radians_i(degrees: i32) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `radians` is never used
[INFO] [stdout]   --> src/util.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn radians(degrees: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_coordinate` is never used
[INFO] [stdout]   --> src/util.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn normalize_coordinate(coordinate: f64, canvas_size: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rotate_y` is never used
[INFO] [stdout]    --> src/matrix.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Matrix<4> {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn rotate_y(self, rotation: f64) -> Matrix<4> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `invert` is never used
[INFO] [stdout]    --> src/matrix.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl Matrix<3> {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 205 |     pub fn invert(&self) -> Option<Matrix<3>> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.00s
[INFO] running `Command { std: "docker" "inspect" "94879e7dde98ed6cec87b0a01090f01350abdc33fa5f404c89da7ff20a0c77c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "94879e7dde98ed6cec87b0a01090f01350abdc33fa5f404c89da7ff20a0c77c8", kill_on_drop: false }`
[INFO] [stdout] 94879e7dde98ed6cec87b0a01090f01350abdc33fa5f404c89da7ff20a0c77c8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c6d3dff61ab8b89063fd69dfd3f17ec2c2700f232e9c2c13b71386061c6b3122
[INFO] running `Command { std: "docker" "start" "-a" "c6d3dff61ab8b89063fd69dfd3f17ec2c2700f232e9c2c13b71386061c6b3122", kill_on_drop: false }`
[INFO] [stderr] warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stderr]  --> src/main.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | #![feature(generic_const_exprs)]
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
[INFO] [stderr]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::experiments::clock::render_clock`
[INFO] [stderr]  --> src/main.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::experiments::clock::render_clock;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::experiments::projectile::run_projectile_simulation`
[INFO] [stderr]  --> src/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::experiments::projectile::run_projectile_simulation;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ORIGIN`
[INFO] [stderr]  --> src/ray.rs:3:33
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::tuple::{dot_product, ORIGIN, Tuple};
[INFO] [stderr]   |                                 ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Object`
[INFO] [stderr]   --> src/main.rs:86:30
[INFO] [stderr]    |
[INFO] [stderr] 86 |         use crate::objects::{Object, sphere};
[INFO] [stderr]    |                              ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `canvas` is never read
[INFO] [stderr]   --> src/experiments.rs:19:26
[INFO] [stderr]    |
[INFO] [stderr] 19 |         let mut canvas = canvas(canvas_pixels, canvas_pixels);
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WHITE` is never used
[INFO] [stderr]  --> src/colour.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub const WHITE: Colour = Colour { red: 1.0, green: 1.0, blue: 1.0 };
[INFO] [stderr]   |           ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLUE` is never used
[INFO] [stderr]  --> src/colour.rs:9:11
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const BLUE: Colour = Colour { red: 0.0, green: 0.0, blue: 1.0 };
[INFO] [stderr]   |           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_clock` is never used
[INFO] [stderr]    --> src/experiments.rs:135:12
[INFO] [stderr]     |
[INFO] [stderr] 135 |     pub fn render_clock() {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_projectile_simulation` is never used
[INFO] [stderr]    --> src/experiments.rs:156:12
[INFO] [stderr]     |
[INFO] [stderr] 156 |     pub fn run_projectile_simulation() {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Projectile` is never constructed
[INFO] [stderr]    --> src/experiments.rs:177:12
[INFO] [stderr]     |
[INFO] [stderr] 177 |     struct Projectile {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Environment` is never constructed
[INFO] [stderr]    --> src/experiments.rs:184:12
[INFO] [stderr]     |
[INFO] [stderr] 184 |     struct Environment {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `tick` is never used
[INFO] [stderr]    --> src/experiments.rs:191:8
[INFO] [stderr]     |
[INFO] [stderr] 191 |     fn tick(environment: &Environment, projectile: &mut Projectile) {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `radians_i` is never used
[INFO] [stderr]   --> src/util.rs:15:8
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub fn radians_i(degrees: i32) -> f64 {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `radians` is never used
[INFO] [stderr]   --> src/util.rs:19:8
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub fn radians(degrees: f64) -> f64 {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `normalize_coordinate` is never used
[INFO] [stderr]   --> src/util.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn normalize_coordinate(coordinate: f64, canvas_size: u32) -> u32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `rotate_y` is never used
[INFO] [stderr]    --> src/matrix.rs:146:12
[INFO] [stderr]     |
[INFO] [stderr] 140 | impl Matrix<4> {
[INFO] [stderr]     | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 146 |     pub fn rotate_y(self, rotation: f64) -> Matrix<4> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `invert` is never used
[INFO] [stderr]    --> src/matrix.rs:205:12
[INFO] [stderr]     |
[INFO] [stderr] 204 | impl Matrix<3> {
[INFO] [stderr]     | -------------- method in this implementation
[INFO] [stderr] 205 |     pub fn invert(&self) -> Option<Matrix<3>> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `renderer` (bin "renderer" test) generated 18 warnings (run `cargo fix --bin "renderer" -p renderer --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/renderer-50ada8a0066b1f53)
[INFO] [stdout] 
[INFO] [stdout] running 100 tests
[INFO] [stdout] test tests::colour_tests::multiplying_colours ... ok
[INFO] [stdout] test tests::canvas_tests::writing_pixels_into_canvas ... ok
[INFO] [stdout] test tests::colour_tests::creating_a_colour ... ok
[INFO] [stdout] test tests::colour_tests::adding_colours ... ok
[INFO] [stdout] test tests::canvas_tests::creating_a_canvas ... ok
[INFO] [stdout] test tests::colour_tests::subtracting_colours ... ok
[INFO] [stdout] test tests::creations::tuple_with_w_is_one_is_point ... ok
[INFO] [stdout] test tests::creations::point_creates_tuple_with_w_equals_1 ... ok
[INFO] [stdout] test tests::creations::tuple_with_w_is_zero_is_vector ... ok
[INFO] [stdout] test tests::creations::vector_creates_tuple_with_w_equals_0 ... ok
[INFO] [stdout] test tests::dot_product_test ... ok
[INFO] [stdout] test tests::matrix_tests::calculating_cofactor ... ok
[INFO] [stdout] test tests::cross_product_test ... ok
[INFO] [stdout] test tests::matrix_tests::calculating_determinant_of_4_by_4 ... ok
[INFO] [stdout] test tests::matrix_tests::calculating_determinant_of_3_by_3 ... ok
[INFO] [stdout] test tests::matrix_tests::calculating_minor ... ok
[INFO] [stdout] test tests::matrix_tests::determinant_of_matrix ... ok
[INFO] [stdout] test tests::matrix_tests::constructing_and_inspecting_a_matrix ... ok
[INFO] [stdout] test tests::matrix_tests::larger_submatrix ... ok
[INFO] [stdout] test tests::matrix_tests::invertibility_of_invertible_matrix ... ok
[INFO] [stdout] test tests::matrix_tests::matrix_multiply_by_identity_matrix ... ok
[INFO] [stdout] test tests::matrix_tests::matrix_inequality ... ok
[INFO] [stdout] test tests::matrix_tests::small_submatrix ... ok
[INFO] [stdout] test tests::matrix_tests::three_by_three_matrix_works ... ok
[INFO] [stdout] test tests::matrix_tests::transposing_matrix ... ok
[INFO] [stdout] test tests::matrix_tests::matrix_equality ... ok
[INFO] [stdout] test tests::operations::adding_two_tuples ... ok
[INFO] [stdout] test tests::operations::multiplying_tuple_with_fraction ... ok
[INFO] [stdout] test tests::matrix_tests::calculating_inverse_of_a_matrix ... ok
[INFO] [stdout] test tests::operations::dividing_tuple_by_scalar ... ok
[INFO] [stdout] test tests::matrix_tests::matrix_multiply_with_tuple ... ok
[INFO] [stdout] test tests::matrix_tests::transposing_identity_matrix ... ok
[INFO] [stdout] test tests::matrix_tests::matrix_multiplication ... ok
[INFO] [stdout] test tests::operations::subtracting_a_vector_from_a_point ... ok
[INFO] [stdout] test tests::operations::negating_a_tuple ... ok
[INFO] [stdout] test tests::matrix_tests::multiplying_product_by_its_inverse ... ok
[INFO] [stdout] test tests::ppm_tests::constructing_ppm_header ... ok
[INFO] [stdout] test tests::ppm_tests::ppm_is_terminated_by_newline ... ok
[INFO] [stdout] test tests::ppm_tests::splitting_long_lines_in_ppm ... ok
[INFO] [stdout] test tests::ppm_tests::constructing_ppm_pixel_data ... ok
[INFO] [stdout] test tests::rays::aggregating_intersections ... ok
[INFO] [stdout] test tests::operations::subtracting_a_vector_from_zero_vector ... ok
[INFO] [stdout] test tests::rays::changing_a_spheres_transformation ... ok
[INFO] [stdout] test tests::rays::computing_a_point_from_a_distance ... ok
[INFO] [stdout] test tests::rays::hit_when_all_intersects_have_positive_t ... ok
[INFO] [stdout] test tests::rays::hit_when_some_intersects_have_negative_t ... ok
[INFO] [stdout] test tests::operations::subtracting_two_points ... ok
[INFO] [stdout] test tests::rays::intersect_sets_object_on_intersections ... ok
[INFO] [stdout] test tests::rays::intersecting_a_scaled_sphere_with_a_ray ... ok
[INFO] [stdout] test tests::operations::multiplying_tuple_with_scalar_int ... ok
[INFO] [stdout] test tests::matrix_tests::two_by_two_matrix_works ... ok
[INFO] [stdout] test tests::rays::intersecting_a_translated_sphere_with_a_ray ... ok
[INFO] [stdout] test tests::rays::intersection_encapsulates_t_and_object ... ok
[INFO] [stdout] test tests::rays::ray_originates_inside_sphere ... ok
[INFO] [stdout] test tests::rays::scaling_a_ray ... ok
[INFO] [stdout] test tests::rays::sphere_default_transformation ... ok
[INFO] [stdout] test tests::rays::sphere_is_behind_ray ... ok
[INFO] [stdout] test tests::matrix_tests::invertibility_of_noninvertible_matrix ... ok
[INFO] [stdout] test tests::rays::translating_a_ray ... ok
[INFO] [stdout] test tests::shading::normal_is_normalized ... ok
[INFO] [stdout] test tests::operations::subtracting_two_vectors ... ok
[INFO] [stdout] test tests::shading::normal_on_a_sphere2 ... ok
[INFO] [stdout] test tests::shading::normal_on_a_sphere1 ... ok
[INFO] [stdout] test tests::rays::creating_a_ray ... ok
[INFO] [stdout] test tests::rays::ray_intersects_sphere_at_a_tangent ... ok
[INFO] [stdout] test tests::rays::hit_when_all_intersects_have_negative_t ... ok
[INFO] [stdout] test tests::rays::ray_misses_sphere ... ok
[INFO] [stdout] test tests::rays::ray_intersects_sphere_at_two_points ... ok
[INFO] [stdout] test tests::shading::normal_on_a_sphere3 ... ok
[INFO] [stdout] test tests::transformations::chained_transformations_must_be_applied_in_reverse_order ... ok
[INFO] [stdout] test tests::transformations::rotation::inverse_of_x_rotation_rotates_in_opposite_direction ... ok
[INFO] [stdout] test tests::transformations::scaling::multiplying_by_inverse_of_scaling_matrix ... ok
[INFO] [stdout] test tests::transformations::scaling::reflection_is_scaling_by_negative_value ... ok
[INFO] [stdout] test tests::transformations::rotation::rotating_point_around_x_axis ... ok
[INFO] [stdout] test tests::transformations::rotation::rotating_point_around_z_axis ... ok
[INFO] [stdout] test tests::transformations::rotation::rotating_point_around_y_axis ... ok
[INFO] [stdout] test tests::transformations::scaling::scaling_matrix_applied_to_point ... ok
[INFO] [stdout] test tests::transformations::shearing::shearing_transformation_moves_x_in_proportion_to_z ... ok
[INFO] [stdout] test tests::transformations::scaling::scaling_matrix_applied_to_vector ... ok
[INFO] [stdout] test tests::transformations::shearing::shearing_transformation_moves_y_in_proportion_to_x ... ok
[INFO] [stdout] test tests::transformations::individual_transformations_are_applied_in_sequence ... ok
[INFO] [stdout] test tests::shading::normal_on_a_sphere4 ... ok
[INFO] [stdout] test tests::transformations::shearing::shearing_transformation_moves_x_in_proportion_to_y ... ok
[INFO] [stdout] test tests::transformations::translation::multiplying_by_a_translation_matrix ... ok
[INFO] [stdout] test tests::vector_magnitudes::magnitude_of_vector1 ... ok
[INFO] [stdout] test tests::vector_magnitudes::magnitude_of_vector3 ... ok
[INFO] [stdout] test tests::vector_magnitudes::magnitude_of_vector5 ... ok
[INFO] [stdout] test tests::transformations::translation::translation_does_not_affect_vectors ... ok
[INFO] [stdout] test tests::vector_normalizing::magnitude_of_normalized_vector ... ok
[INFO] [stdout] test tests::vector_magnitudes::magnitude_of_vector4 ... ok
[INFO] [stdout] test tests::transformations::shearing::shearing_transformation_moves_y_in_proportion_to_z ... ok
[INFO] [stdout] test tests::transformations::shearing::shearing_transformation_moves_z_in_proportion_to_x ... ok
[INFO] [stdout] test tests::transformations::translation::multiplying_by_inverse_of_translation_matrix ... ok
[INFO] [stdout] test tests::vector_normalizing::normalizing_vector1 ... ok
[INFO] [stdout] test tests::vector_magnitudes::magnitude_of_vector2 ... ok
[INFO] [stdout] test tests::transformations::shearing::shearing_transformation_moves_z_in_proportion_to_y ... ok
[INFO] [stdout] test tests::vector_normalizing::normalizing_vector2 ... ok
[INFO] [stdout] test tests::operations::multiplying_tuple_with_scalar ... ok
[INFO] [stdout] test tests::shading::computing_normal_on_a_translated_sphere ... FAILED
[INFO] [stdout] test tests::shading::computing_normal_on_a_transformed_sphere ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::shading::computing_normal_on_a_translated_sphere stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::shading::computing_normal_on_a_translated_sphere' (91) panicked at src/main.rs:45:13:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: Tuple { x: 0.0, y: 0.923879171729761, z: -0.3826843033675811, w: 0.0 }
[INFO] [stdout]  right: Tuple { x: 0.0, y: 0.70711, z: -0.70711, w: 0.0 }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cd48b2718b2 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cd48b2718b2 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cd48b2718b2 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cd48b2718b2 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cd48b28673a - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cd48b28673a - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x5cd48b2766e6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5cd48b2766e6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5cd48b24fd7f - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cd48b24fd7f - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cd48b269b99 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cd48b20549e - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5cd48b20549e - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5cd48b269d52 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5cd48b269d52 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5cd48b24fe38 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5cd48b247809 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cd48b250c8d - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5cd48b286dac - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cd48b286cc3 - core[c5ed12ab89cc536a]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5cd48b1f37f4 - core[c5ed12ab89cc536a]::panicking::assert_failed::<renderer[1cff5c6af9e55273]::tuple::Tuple, renderer[1cff5c6af9e55273]::tuple::Tuple>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5cd48b1f6f48 - renderer[1cff5c6af9e55273]::tests::shading::computing_normal_on_a_translated_sphere
[INFO] [stdout]                                at /opt/rustwide/workdir/src/main.rs:45:13
[INFO] [stdout]   22:     0x5cd48b1f3f17 - renderer[1cff5c6af9e55273]::tests::shading::computing_normal_on_a_translated_sphere::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/main.rs:41:53
[INFO] [stdout]   23:     0x5cd48b1eab36 - <renderer[1cff5c6af9e55273]::tests::shading::computing_normal_on_a_translated_sphere::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5cd48b1f984b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5cd48b1f984b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5cd48b2060aa - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5cd48b2060aa - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x5cd48b2060aa - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5cd48b2060aa - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5cd48b2060aa - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5cd48b2060aa - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5cd48b2060aa - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5cd48b200574 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5cd48b200574 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5cd48b208ba2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5cd48b208ba2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x5cd48b208ba2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5cd48b208ba2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5cd48b208ba2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5cd48b208ba2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5cd48b208ba2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5cd48b27115f - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x5cd48b27115f - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x7d0c981f8aa4 - <unknown>
[INFO] [stdout]   45:     0x7d0c98285a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::shading::computing_normal_on_a_transformed_sphere stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::shading::computing_normal_on_a_transformed_sphere' (90) panicked at src/main.rs:37:13:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: Tuple { x: 0.0, y: 0.7071067811865476, z: -0.7071067811865476, w: 0.0 }
[INFO] [stdout]  right: Tuple { x: 0.0, y: 0.97014, z: -0.24254, w: 0.0 }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cd48b2718b2 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cd48b2718b2 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cd48b2718b2 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cd48b2718b2 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cd48b28673a - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cd48b28673a - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x5cd48b2766e6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5cd48b2766e6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5cd48b24fd7f - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cd48b24fd7f - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cd48b269b99 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cd48b20549e - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5cd48b20549e - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5cd48b269d52 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5cd48b269d52 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5cd48b24fe38 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5cd48b247809 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cd48b250c8d - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stderr] error: test failed, to rerun pass `--bin renderer`
[INFO] [stdout]   18:     0x5cd48b286dac - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cd48b286cc3 - core[c5ed12ab89cc536a]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5cd48b1f37f4 - core[c5ed12ab89cc536a]::panicking::assert_failed::<renderer[1cff5c6af9e55273]::tuple::Tuple, renderer[1cff5c6af9e55273]::tuple::Tuple>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5cd48b1f7101 - renderer[1cff5c6af9e55273]::tests::shading::computing_normal_on_a_transformed_sphere
[INFO] [stdout]                                at /opt/rustwide/workdir/src/main.rs:37:13
[INFO] [stdout]   22:     0x5cd48b1f3f47 - renderer[1cff5c6af9e55273]::tests::shading::computing_normal_on_a_transformed_sphere::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/main.rs:32:54
[INFO] [stdout]   23:     0x5cd48b1eab76 - <renderer[1cff5c6af9e55273]::tests::shading::computing_normal_on_a_transformed_sphere::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5cd48b1f984b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5cd48b1f984b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5cd48b2060aa - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5cd48b2060aa - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x5cd48b2060aa - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5cd48b2060aa - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5cd48b2060aa - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5cd48b2060aa - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5cd48b2060aa - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5cd48b200574 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5cd48b200574 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5cd48b208ba2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5cd48b208ba2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x5cd48b208ba2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5cd48b208ba2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5cd48b208ba2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5cd48b208ba2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5cd48b208ba2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5cd48b27115f - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x5cd48b27115f - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x7d0c981f8aa4 - <unknown>
[INFO] [stdout]   45:     0x7d0c98285a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::shading::computing_normal_on_a_transformed_sphere
[INFO] [stdout]     tests::shading::computing_normal_on_a_translated_sphere
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 98 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c6d3dff61ab8b89063fd69dfd3f17ec2c2700f232e9c2c13b71386061c6b3122", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c6d3dff61ab8b89063fd69dfd3f17ec2c2700f232e9c2c13b71386061c6b3122", kill_on_drop: false }`
[INFO] [stdout] c6d3dff61ab8b89063fd69dfd3f17ec2c2700f232e9c2c13b71386061c6b3122
