[INFO] updating cached repository bumzack/raytracer-challenge [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/bumzack/raytracer-challenge [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/bumzack/raytracer-challenge" "work/ex/beta-1.37-6/sources/1.36.0/gh/bumzack/raytracer-challenge"` [INFO] [stderr] Cloning into 'work/ex/beta-1.37-6/sources/1.36.0/gh/bumzack/raytracer-challenge'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/bumzack/raytracer-challenge" "work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/bumzack/raytracer-challenge"` [INFO] [stderr] Cloning into 'work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/bumzack/raytracer-challenge'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 63db9e141605b714ae5f8bfa0c1f46227dcdc14d [INFO] sha for GitHub repo bumzack/raytracer-challenge: 63db9e141605b714ae5f8bfa0c1f46227dcdc14d [INFO] validating manifest of bumzack/raytracer-challenge on toolchain 1.36.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.36.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of bumzack/raytracer-challenge on toolchain beta-2019-07-23 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-07-23" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing bumzack/raytracer-challenge [INFO] finished frobbing bumzack/raytracer-challenge [INFO] frobbed toml for bumzack/raytracer-challenge written to work/ex/beta-1.37-6/sources/1.36.0/gh/bumzack/raytracer-challenge/Cargo.toml [INFO] started frobbing bumzack/raytracer-challenge [INFO] finished frobbing bumzack/raytracer-challenge [INFO] frobbed toml for bumzack/raytracer-challenge written to work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/bumzack/raytracer-challenge/Cargo.toml [INFO] crate bumzack/raytracer-challenge already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.36.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-07-23" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing bumzack/raytracer-challenge against 1.36.0 for beta-1.37-6 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.37-6/worker-6/1.36.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.37-6/sources/1.36.0/gh/bumzack/raytracer-challenge:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.36.0" "build" "--frozen"` [INFO] [stdout] f69a71f71aff09b3fe787db105366533b6f0602d998b5b942e33f6941666692e [INFO] running `"docker" "start" "-a" "f69a71f71aff09b3fe787db105366533b6f0602d998b5b942e33f6941666692e"` [INFO] [stderr] Compiling raytracer-challenge v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `assert_tuple` [INFO] [stderr] --> src/main.rs:10:41 [INFO] [stderr] | [INFO] [stderr] 10 | use crate::math::common::{assert_color, assert_tuple}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `assert_color`, `assert_float` [INFO] [stderr] --> src/basics/color.rs:3:27 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::math::common::{assert_color, assert_float}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::math::common::assert_float` [INFO] [stderr] --> src/basics/ray.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::math::common::assert_float; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::math::common::assert_tuple` [INFO] [stderr] --> src/basics/ray.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::math::common::assert_tuple; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::math::common::assert_tuple` [INFO] [stderr] --> src/basics/intersection.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::math::common::assert_tuple; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::math::tuple4d::Tuple4D` [INFO] [stderr] --> src/basics/intersection.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::math::tuple4d::Tuple4D; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PI`, `SQRT_2` [INFO] [stderr] --> src/basics/camera.rs:1:24 [INFO] [stderr] | [INFO] [stderr] 1 | use std::f32::consts::{PI, SQRT_2}; [INFO] [stderr] | ^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc`, `Mutex` [INFO] [stderr] --> src/basics/camera.rs:2:17 [INFO] [stderr] | [INFO] [stderr] 2 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/basics/camera.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Instant` [INFO] [stderr] --> src/basics/camera.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::time::Instant; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Color` [INFO] [stderr] --> src/basics/camera.rs:8:28 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::basics::color::{Color, ColorOps}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `assert_color`, `assert_float`, `assert_matrix`, `assert_tuple` [INFO] [stderr] --> src/basics/camera.rs:11:27 [INFO] [stderr] | [INFO] [stderr] 11 | use crate::math::common::{assert_color, assert_float, assert_matrix, assert_tuple}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::world::world::default_world` [INFO] [stderr] --> src/basics/camera.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use crate::world::world::default_world; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f32::consts::SQRT_2` [INFO] [stderr] --> src/material/material.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::f32::consts::SQRT_2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `WHITE` [INFO] [stderr] --> src/material/material.rs:3:35 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::basics::color::{BLACK, WHITE}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::light::pointlight::PointLight` [INFO] [stderr] --> src/material/material.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::light::pointlight::PointLight; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `assert_color`, `assert_float` [INFO] [stderr] --> src/material/material.rs:8:27 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::math::common::{assert_color, assert_float}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f32::consts::SQRT_2` [INFO] [stderr] --> src/math/tuple4d.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::f32::consts::SQRT_2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `assert_float`, `assert_tuple` [INFO] [stderr] --> src/math/tuple4d.rs:4:27 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::math::common::{assert_float, assert_tuple}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PI`, `SQRT_2` [INFO] [stderr] --> src/math/matrix.rs:1:24 [INFO] [stderr] | [INFO] [stderr] 1 | use std::f32::consts::{PI, SQRT_2}; [INFO] [stderr] | ^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `assert_float`, `assert_matrix`, `assert_tuple` [INFO] [stderr] --> src/math/matrix.rs:4:27 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::math::common::{assert_float, assert_matrix, assert_tuple, assert_two_float}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FRAC_1_SQRT_2`, `PI`, `SQRT_2` [INFO] [stderr] --> src/shape/sphere.rs:1:24 [INFO] [stderr] | [INFO] [stderr] 1 | use std::f32::consts::{FRAC_1_SQRT_2, PI, SQRT_2}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Intersection` [INFO] [stderr] --> src/shape/sphere.rs:3:35 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::basics::intersection::{Intersection, IntersectionListOps}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `assert_float`, `assert_matrix`, `assert_tuple` [INFO] [stderr] --> src/shape/sphere.rs:9:27 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::math::common::{assert_float, assert_matrix, assert_tuple}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::shape::shape::Shape` [INFO] [stderr] --> src/shape/sphere.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::shape::shape::Shape; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Error` [INFO] [stderr] --> src/world/world.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::io::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Canvas` [INFO] [stderr] --> src/world/world.rs:3:29 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::basics::canvas::{Canvas, CanvasOps}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::math::common::assert_color` [INFO] [stderr] --> src/world/world.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::math::common::assert_color; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::math::matrix::MatrixOps` [INFO] [stderr] --> src/basics/ray.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::math::matrix::MatrixOps; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::math::tuple4d::Tuple` [INFO] [stderr] --> src/basics/intersection.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::math::tuple4d::Tuple; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ColorOps` [INFO] [stderr] --> src/basics/camera.rs:8:35 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::basics::color::{Color, ColorOps}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `IntersectionListOps` [INFO] [stderr] --> src/shape/sphere.rs:3:49 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::basics::intersection::{Intersection, IntersectionListOps}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::basics::intersection::IntersectionOps` [INFO] [stderr] --> src/shape/sphere.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::basics::intersection::IntersectionOps; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::basics::ray::RayOps` [INFO] [stderr] --> src/shape/sphere.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::basics::ray::RayOps; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `CanvasOps` [INFO] [stderr] --> src/world/world.rs:3:37 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::basics::canvas::{Canvas, CanvasOps}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::basics::ray::RayOps` [INFO] [stderr] --> src/world/world.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use crate::basics::ray::RayOps; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `i` is assigned to, but never used [INFO] [stderr] --> src/basics/canvas.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | let mut i = 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] = note: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/shape/sphere.rs:47:18 [INFO] [stderr] | [INFO] [stderr] 47 | fn intersect(s: &Sphere, r: &Ray) -> Option> { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | let mut w = default_world(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `WHITE` [INFO] [stderr] --> src/basics/color.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | pub const WHITE: Color = Color { r: 1.0, g: 1.0, b: 1.0 }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `t` [INFO] [stderr] --> src/basics/precomputed_component.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | t: f32, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `inside` [INFO] [stderr] --> src/basics/precomputed_component.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | inside: bool, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_t` [INFO] [stderr] --> src/basics/precomputed_component.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn get_t(&self) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_inside` [INFO] [stderr] --> src/basics/precomputed_component.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn get_inside(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `setup` [INFO] [stderr] --> src/material/material.rs:92:1 [INFO] [stderr] | [INFO] [stderr] 92 | fn setup() -> (Material, Tuple4D) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `assert_matrix` [INFO] [stderr] --> src/math/common.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn assert_matrix(actual: &Matrix, expected: &Matrix) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `assert_tuple` [INFO] [stderr] --> src/math/common.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn assert_tuple(actual: &Tuple4D, expected: &Tuple4D) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `assert_color` [INFO] [stderr] --> src/math/common.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn assert_color(actual: &Color, expected: &Color) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `assert_float` [INFO] [stderr] --> src/math/common.rs:50:1 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn assert_float(actual: f32, expected: f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_material_mut` [INFO] [stderr] --> src/shape/shape.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn get_material_mut(&mut self) -> &mut Material { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_transformation` [INFO] [stderr] --> src/shape/shape.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn get_transformation(&self) -> &Matrix { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_inverse_transformation` [INFO] [stderr] --> src/shape/shape.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn get_inverse_transformation(&self) -> &Matrix { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `default_world` [INFO] [stderr] --> src/world/world.rs:86:1 [INFO] [stderr] | [INFO] [stderr] 86 | pub fn default_world() -> World { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main2` [INFO] [stderr] --> src/main.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | fn main2() { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | canvas.write_ppm("wusch.ppm"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `EPSILON` should have a snake case name [INFO] [stderr] --> src/math/common.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let EPSILON = 0.00001; [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `epsilon` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.20s [INFO] running `"docker" "inspect" "f69a71f71aff09b3fe787db105366533b6f0602d998b5b942e33f6941666692e"` [INFO] running `"docker" "rm" "-f" "f69a71f71aff09b3fe787db105366533b6f0602d998b5b942e33f6941666692e"` [INFO] [stdout] f69a71f71aff09b3fe787db105366533b6f0602d998b5b942e33f6941666692e [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.37-6/worker-6/1.36.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.37-6/sources/1.36.0/gh/bumzack/raytracer-challenge:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.36.0" "test" "--frozen" "--no-run"` [INFO] [stdout] 3d196d0667b9455c5cf84d3cf0a4214e23226332605b75eff373eaa511ba2976 [INFO] running `"docker" "start" "-a" "3d196d0667b9455c5cf84d3cf0a4214e23226332605b75eff373eaa511ba2976"` [INFO] [stderr] Compiling raytracer-challenge v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `assert_tuple` [INFO] [stderr] --> src/main.rs:10:41 [INFO] [stderr] | [INFO] [stderr] 10 | use crate::math::common::{assert_color, assert_tuple}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc`, `Mutex` [INFO] [stderr] --> src/basics/camera.rs:2:17 [INFO] [stderr] | [INFO] [stderr] 2 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/basics/camera.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Instant` [INFO] [stderr] --> src/basics/camera.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::time::Instant; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Error` [INFO] [stderr] --> src/world/world.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::io::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Canvas` [INFO] [stderr] --> src/world/world.rs:3:29 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::basics::canvas::{Canvas, CanvasOps}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `CanvasOps` [INFO] [stderr] --> src/world/world.rs:3:37 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::basics::canvas::{Canvas, CanvasOps}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `i` is assigned to, but never used [INFO] [stderr] --> src/basics/canvas.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | let mut i = 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] = note: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i_list` [INFO] [stderr] --> src/basics/intersection.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | let i_list = IntersectionList::new(); [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_i_list` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/basics/intersection.rs:230:9 [INFO] [stderr] | [INFO] [stderr] 230 | let i = il.hit(); [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/shape/sphere.rs:47:18 [INFO] [stderr] | [INFO] [stderr] 47 | fn intersect(s: &Sphere, r: &Ray) -> Option> { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `c_expected` is never read [INFO] [stderr] --> src/world/world.rs:216:13 [INFO] [stderr] | [INFO] [stderr] 216 | let mut c_expected = Color::new(0.0, 0.0, 0.0); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | let mut w = default_world(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/world/world.rs:180:9 [INFO] [stderr] | [INFO] [stderr] 180 | let mut w = default_world(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/world/world.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | let mut shapes = w.get_shapes_mut(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never used: `t` [INFO] [stderr] --> src/basics/precomputed_component.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | t: f32, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_t` [INFO] [stderr] --> src/basics/precomputed_component.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn get_t(&self) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_transformation` [INFO] [stderr] --> src/shape/shape.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn get_transformation(&self) -> &Matrix { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_inverse_transformation` [INFO] [stderr] --> src/shape/shape.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn get_inverse_transformation(&self) -> &Matrix { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main2` [INFO] [stderr] --> src/main.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | fn main2() { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | canvas.write_ppm("wusch.ppm"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/basics/canvas.rs:153:5 [INFO] [stderr] | [INFO] [stderr] 153 | c.write_ppm("test_output.ppm"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `EPSILON` should have a snake case name [INFO] [stderr] --> src/math/common.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let EPSILON = 0.00001; [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `epsilon` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.34s [INFO] running `"docker" "inspect" "3d196d0667b9455c5cf84d3cf0a4214e23226332605b75eff373eaa511ba2976"` [INFO] running `"docker" "rm" "-f" "3d196d0667b9455c5cf84d3cf0a4214e23226332605b75eff373eaa511ba2976"` [INFO] [stdout] 3d196d0667b9455c5cf84d3cf0a4214e23226332605b75eff373eaa511ba2976 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.37-6/worker-6/1.36.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.37-6/sources/1.36.0/gh/bumzack/raytracer-challenge:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.36.0" "test" "--frozen"` [INFO] [stdout] e0fc464eac3b480d7fc3604a1f7ffc75016d53a2dc126307ec82117f0b277808 [INFO] running `"docker" "start" "-a" "e0fc464eac3b480d7fc3604a1f7ffc75016d53a2dc126307ec82117f0b277808"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running /opt/crater/target/debug/deps/raytracer_challenge-477c84977df54f7b [INFO] [stdout] [INFO] [stdout] running 102 tests [INFO] [stdout] test basics::camera::test_camera_ray_for_pixel_center ... ok [INFO] [stdout] test basics::camera::test_camera_pixel_size_vertical ... ok [INFO] [stdout] test basics::canvas::test_default_pixel_color ... ok [INFO] [stdout] test basics::camera::test_camera_pixel_size_horizontal ... ok [INFO] [stdout] test basics::camera::test_camera_ray_for_pixel_canvas_corner ... ok [INFO] [stdout] test basics::canvas::test_write_ppm ... ok [INFO] [stdout] test basics::color::test_mul_color_scalar ... ok [INFO] [stdout] test basics::color::test_mul_color_color ... ok [INFO] [stdout] test basics::color::test_sub_color ... ok [INFO] [stdout] test basics::canvas::test_new_canvas ... ok [INFO] [stdout] test basics::canvas::test_write_pixel ... ok [INFO] [stdout] test basics::intersection::test_intersection_hit_neg ... ok [INFO] [stdout] test basics::camera::test_camera_new ... ok [INFO] [stdout] test basics::intersection::test_intersect ... ok [INFO] [stdout] test basics::intersection::test_intersection_hit ... ok [INFO] [stdout] test basics::color::test_add_color ... ok [INFO] [stdout] test basics::intersection::test_new_intersection ... ok [INFO] [stdout] test basics::intersection::test_precomputations ... ok [INFO] [stdout] test basics::intersection::test_new_intersectionlist ... ok [INFO] [stdout] test basics::intersection::test_intersection_hit_from_list ... ok [INFO] [stdout] test basics::camera::test_camera_render ... ok [INFO] [stdout] test basics::intersection::test_precomputations_hit_inside ... ok [INFO] [stdout] test basics::intersection::test_intersection_no_hit ... ok [INFO] [stdout] test basics::ray::test_ray_translation ... ok [INFO] [stdout] test basics::ray::test_ray_new ... ok [INFO] [stdout] test basics::intersection::test_precomputations_hit_outside ... ok [INFO] [stdout] test material::material::test_material_lightning_eye_in_path_of_reflecting_vector ... ok [INFO] [stdout] test material::material::test_material_lightning_eye_between_light_and_surface ... ok [INFO] [stdout] test basics::ray::test_ray_rotation ... ok [INFO] [stdout] test basics::ray::test_ray_position ... ok [INFO] [stdout] test material::material::test_material_lightning_eye_offset_45 ... ok [INFO] [stdout] test material::material::test_material_lightning_light_behind_surface ... ok [INFO] [stdout] test material::material::test_material_lightning_light_opposite_eye ... ok [INFO] [stdout] test material::material::test_material_new ... ok [INFO] [stdout] test math::matrix::test_matrix_cofactor ... ok [INFO] [stdout] test math::matrix::test_matrix_components ... ok [INFO] [stdout] test math::matrix::test_matrix_determinant ... ok [INFO] [stdout] test math::matrix::test_matrix_equal ... ok [INFO] [stdout] test math::matrix::test_matrix_identity_is_transpose ... ok [INFO] [stdout] test math::matrix::test_matrix_inversion1 ... ok [INFO] [stdout] test math::matrix::test_matrix_inversion2 ... ok [INFO] [stdout] test math::matrix::test_matrix_inversion3 ... ok [INFO] [stdout] test math::matrix::test_matrix_determinant_3x3 ... ok [INFO] [stdout] test math::matrix::test_matrix_inversion4 ... ok [INFO] [stdout] test math::matrix::test_matrix_determinant_4x4 ... ok [INFO] [stdout] test math::matrix::test_matrix_mul_identity ... ok [INFO] [stdout] test math::matrix::test_matrix_rotation_x ... ok [INFO] [stdout] test math::matrix::test_matrix_minor ... ok [INFO] [stdout] test math::matrix::test_matrix_mul ... ok [INFO] [stdout] test math::matrix::test_matrix_inversion5 ... ok [INFO] [stdout] test math::matrix::test_matrix_rotation_y ... ok [INFO] [stdout] test math::matrix::test_matrix_scale_vector_invert ... ok [INFO] [stdout] test math::matrix::test_matrix_scale_vector_reflection ... ok [INFO] [stdout] test math::matrix::test_matrix_transformation ... ok [INFO] [stdout] test math::matrix::test_matrix_scale_vector ... ok [INFO] [stdout] test math::matrix::test_matrix_submatrix ... ok [INFO] [stdout] test math::matrix::test_matrix_scale_point ... ok [INFO] [stdout] test math::matrix::test_matrix_shear1 ... ok [INFO] [stdout] test math::matrix::test_matrix_rotation_z ... ok [INFO] [stdout] test math::matrix::test_matrix_transformation_chained ... ok [INFO] [stdout] test math::matrix::test_matrix_transformation_vector ... ok [INFO] [stdout] test math::matrix::test_matrix_transformation_invert ... ok [INFO] [stdout] test math::matrix::test_matrix_transformation_sequential ... ok [INFO] [stdout] test math::matrix::test_matrix_tuple_mul ... ok [INFO] [stdout] test math::matrix::test_matrix_view_transform_translation ... ok [INFO] [stdout] test math::tuple4d::test_add_tuple4d ... ok [INFO] [stdout] test math::matrix::test_matrix_view_transform_arbitrary ... ok [INFO] [stdout] test math::matrix::test_matrix_view_transform_positive_z_direction ... ok [INFO] [stdout] test math::matrix::test_matrix_view_transform_default_direction ... ok [INFO] [stdout] test math::matrix::test_matrix_transpose ... ok [INFO] [stdout] test math::tuple4d::test_cross_product ... ok [INFO] [stdout] test math::tuple4d::test_div_tuple_scalar ... ok [INFO] [stdout] test math::tuple4d::test_is_point ... ok [INFO] [stdout] test math::tuple4d::test_dot_product ... ok [INFO] [stdout] test math::tuple4d::test_magnitude ... ok [INFO] [stdout] test math::tuple4d::test_is_vector ... ok [INFO] [stdout] test math::tuple4d::test_neg_tuple ... ok [INFO] [stdout] test math::tuple4d::test_mul_tuple_scalar ... ok [INFO] [stdout] test math::tuple4d::test_normalize ... ok [INFO] [stdout] test math::tuple4d::test_sub_point_point ... ok [INFO] [stdout] test math::tuple4d::test_sub_vec_vec ... ok [INFO] [stdout] test math::tuple4d::test_sub_vec_point ... ok [INFO] [stdout] test shape::sphere::test_ray_sphere_intersection_no_hits ... ok [INFO] [stdout] test shape::sphere::test_ray_sphere_intersection ... ok [INFO] [stdout] test math::tuple4d::test_tuple_reflecting_45 ... ok [INFO] [stdout] test shape::sphere::test_ray_sphere_intersection_sphere_behind_origin ... ok [INFO] [stdout] test shape::sphere::test_ray_sphere_intersection_origin_inside_sphere ... ok [INFO] [stdout] test shape::sphere::test_sphere_normal_at_transformed ... ok [INFO] [stdout] test shape::sphere::test_sphere_normal_at_scaled_rotated ... ok [INFO] [stdout] test shape::sphere::test_sphere_transformation ... ok [INFO] [stdout] test shape::sphere::test_sphere_normal_at ... ok [INFO] [stdout] test world::world::test_color_at_no_hit ... ok [INFO] [stdout] test world::world::test_color_at_inner_sphere ... ok [INFO] [stdout] test world::world::test_color_at_single_hit ... ok [INFO] [stdout] test shape::sphere::test_sphere_translated ... ok [INFO] [stdout] test world::world::test_default_world ... ok [INFO] [stdout] test world::world::test_shade_hit ... ok [INFO] [stdout] test world::world::test_shade_hit_inside ... ok [INFO] [stdout] test shape::sphere::test_sphere_scale ... ok [INFO] [stdout] test math::matrix::test_matrix_rotation_x_invert ... ok [INFO] [stdout] test math::tuple4d::test_tuple_reflecting ... ok [INFO] [stdout] test basics::camera::test_camera_ray_for_pixel_transformed_camera ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- basics::camera::test_camera_ray_for_pixel_transformed_camera stdout ---- [INFO] [stdout] &r.get_origin() = Tuple4D { [INFO] [stdout] x: 0.0, [INFO] [stdout] y: 2.0, [INFO] [stdout] z: -5.0000005, [INFO] [stdout] w: 1.0, [INFO] [stdout] } [INFO] [stdout] &r.get_direction()= Tuple4D { [INFO] [stdout] x: -0.14767027, [INFO] [stdout] y: 0.41767457, [INFO] [stdout] z: 0.8965162, [INFO] [stdout] w: 0.0, [INFO] [stdout] } [INFO] [stdout] thread 'basics::camera::test_camera_ray_for_pixel_transformed_camera' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `false`, [INFO] [stdout] right: `true`', src/math/common.rs:28:5 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5584b7765903 - std::sys::unix::backtrace::tracing::imp::unwind_backtrace::h6485381528590a55 [INFO] [stdout] at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:39 [INFO] [stdout] 1: 0x5584b776123b - std::sys_common::backtrace::_print::h49a82ae9552e35c7 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:71 [INFO] [stdout] 2: 0x5584b7764646 - std::panicking::default_hook::{{closure}}::he20974adbefcc046 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] at src/libstd/panicking.rs:197 [INFO] [stdout] 3: 0x5584b776436e - std::panicking::default_hook::he4af6af4ac7fef7b [INFO] [stdout] at src/libstd/panicking.rs:208 [INFO] [stdout] 4: 0x5584b7764d4f - std::panicking::rust_panic_with_hook::h057ff03eb4c8000f [INFO] [stdout] at src/libstd/panicking.rs:474 [INFO] [stdout] 5: 0x5584b77648d1 - std::panicking::continue_panic_fmt::ha6d6ae144369025b [INFO] [stdout] at src/libstd/panicking.rs:381 [INFO] [stdout] 6: 0x5584b776481e - std::panicking::begin_panic_fmt::he54eae869ed71eb1 [INFO] [stdout] at src/libstd/panicking.rs:336 [INFO] [stdout] 7: 0x5584b7706d5b - raytracer_challenge::math::common::assert_tuple::h0c8816474726a3ca [INFO] [stdout] at src/math/common.rs:28 [INFO] [stdout] 8: 0x5584b76f52c1 - raytracer_challenge::basics::camera::test_camera_ray_for_pixel_transformed_camera::hd8a51cb7ca29a44d [INFO] [stdout] at src/basics/camera.rs:224 [INFO] [stdout] 9: 0x5584b76f4f39 - raytracer_challenge::basics::camera::test_camera_ray_for_pixel_transformed_camera::{{closure}}::ha01d45dd71c61e74 [INFO] [stdout] at src/basics/camera.rs:213 [INFO] [stdout] 10: 0x5584b76f08ed - core::ops::function::FnOnce::call_once::h666751b029bad90e [INFO] [stdout] at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/libcore/ops/function.rs:231 [INFO] [stdout] 11: 0x5584b7725a3e - as core::ops::function::FnOnce>::call_once::h6b004fa8f4fc1608 [INFO] [stdout] at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/liballoc/boxed.rs:704 [INFO] [stdout] 12: 0x5584b7767a69 - __rust_maybe_catch_panic [INFO] [stdout] at src/libpanic_unwind/lib.rs:85 [INFO] [stdout] 13: 0x5584b7740337 - test::run_test::run_test_inner::{{closure}}::h9a4d23c41d058d37 [INFO] [stdout] at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/libstd/panicking.rs:272 [INFO] [stdout] at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/libstd/panic.rs:394 [INFO] [stdout] at src/libtest/lib.rs:1468 [INFO] [stdout] 14: 0x5584b771ad54 - std::sys_common::backtrace::__rust_begin_short_backtrace::h3765d76361a33ff7 [INFO] [stdout] at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/libstd/sys_common/backtrace.rs:136 [INFO] [stdout] 15: 0x5584b771ee04 - std::panicking::try::do_call::h6f86e980b52f74d5 [INFO] [stdout] at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/libstd/thread/mod.rs:470 [INFO] [stdout] at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/libstd/panic.rs:315 [INFO] [stdout] at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/libstd/panicking.rs:293 [INFO] [stdout] 16: 0x5584b7767a69 - __rust_maybe_catch_panic [INFO] [stdout] at src/libpanic_unwind/lib.rs:85 [INFO] [stdout] 17: 0x5584b771f411 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h760b8a2b155f54c3 [INFO] [stdout] at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/libstd/panicking.rs:272 [INFO] [stdout] at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/libstd/panic.rs:394 [INFO] [stdout] at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/libstd/thread/mod.rs:469 [INFO] [stdout] at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/libcore/ops/function.rs:231 [INFO] [stdout] 18: 0x5584b775901e - as core::ops::function::FnOnce>::call_once::h805c3cc89d534c05 [INFO] [stdout] at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/liballoc/boxed.rs:704 [INFO] [stdout] 19: 0x5584b776714f - std::sys::unix::thread::Thread::new::thread_start::h6f10b78f26c98dc6 [INFO] [stdout] at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c/src/liballoc/boxed.rs:704 [INFO] [stdout] at src/libstd/sys_common/thread.rs:13 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:79 [INFO] [stdout] 20: 0x7ff1b650a4a3 - start_thread [INFO] [stdout] 21: 0x7ff1b6035d0e - __clone [INFO] [stdout] 22: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] basics::camera::test_camera_ray_for_pixel_transformed_camera [INFO] [stdout] [INFO] [stdout] test result: FAILED. 101 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--bin raytracer-challenge' [INFO] running `"docker" "inspect" "e0fc464eac3b480d7fc3604a1f7ffc75016d53a2dc126307ec82117f0b277808"` [INFO] running `"docker" "rm" "-f" "e0fc464eac3b480d7fc3604a1f7ffc75016d53a2dc126307ec82117f0b277808"` [INFO] [stdout] e0fc464eac3b480d7fc3604a1f7ffc75016d53a2dc126307ec82117f0b277808