[INFO] cloning repository https://github.com/malloc-man/ray-tracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/malloc-man/ray-tracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmalloc-man%2Fray-tracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmalloc-man%2Fray-tracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4d76fb1df633995b7a7bdf7e227a0b8bc34f34f9
[INFO] testing malloc-man/ray-tracer against beta-2023-04-20 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmalloc-man%2Fray-tracer" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/malloc-man/ray-tracer on toolchain beta-2023-04-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/malloc-man/ray-tracer
[INFO] finished tweaking git repo https://github.com/malloc-man/ray-tracer
[INFO] tweaked toml for git repo https://github.com/malloc-man/ray-tracer written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/malloc-man/ray-tracer 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" "+beta-2023-04-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wayland-scanner v0.29.2
[INFO] [stderr]   Downloaded wayland-sys v0.29.2
[INFO] [stderr]   Downloaded wayland-commons v0.29.2
[INFO] [stderr]   Downloaded wayland-protocols v0.29.2
[INFO] [stderr]   Downloaded wayland-cursor v0.29.2
[INFO] [stderr]   Downloaded wayland-client v0.29.2
[INFO] [stderr]   Downloaded wayland-egl v0.29.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 40c8b954da849304fd6e94404fdceb929bd24d3ce65f0752a6de2fa8e991d3c5
[INFO] running `Command { std: "docker" "start" "-a" "40c8b954da849304fd6e94404fdceb929bd24d3ce65f0752a6de2fa8e991d3c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "40c8b954da849304fd6e94404fdceb929bd24d3ce65f0752a6de2fa8e991d3c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "40c8b954da849304fd6e94404fdceb929bd24d3ce65f0752a6de2fa8e991d3c5", kill_on_drop: false }`
[INFO] [stdout] 40c8b954da849304fd6e94404fdceb929bd24d3ce65f0752a6de2fa8e991d3c5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6d448a8f7ee38360f83a88d7fcdbc99a8e94525b6d8a2d92725fd0ac9819f723
[INFO] running `Command { std: "docker" "start" "-a" "6d448a8f7ee38360f83a88d7fcdbc99a8e94525b6d8a2d92725fd0ac9819f723", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling libc v0.2.112
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling pkg-config v0.3.24
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling once_cell v1.9.0
[INFO] [stderr]    Compiling libloading v0.7.2
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling scoped-tls v1.0.0
[INFO] [stderr]    Compiling downcast-rs v1.2.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling dlib v0.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling ttf-parser v0.14.0
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling nom v7.1.0
[INFO] [stderr]    Compiling wayland-sys v0.29.2
[INFO] [stderr]    Compiling smithay-client-toolkit v0.15.3
[INFO] [stderr]    Compiling x11-dl v2.19.1
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling lock_api v0.4.5
[INFO] [stderr]    Compiling quote v1.0.14
[INFO] [stderr]    Compiling quick-xml v0.22.0
[INFO] [stderr]    Compiling cty v0.2.2
[INFO] [stderr]    Compiling winit v0.26.0
[INFO] [stderr]    Compiling wayland-scanner v0.29.2
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling ab_glyph_rasterizer v0.1.5
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling raw-window-handle v0.4.2
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling atomic_refcell v0.1.8
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling cc v1.0.72
[INFO] [stderr]    Compiling nohash-hasher v0.2.0
[INFO] [stderr]    Compiling emath v0.16.0
[INFO] [stderr]    Compiling nix v0.22.0
[INFO] [stderr]    Compiling memmap2 v0.3.1
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.7
[INFO] [stderr]    Compiling xcb v0.10.1
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.5
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling mio v0.8.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling owned_ttf_parser v0.14.0
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]    Compiling shared_library v0.1.9
[INFO] [stderr]    Compiling ab_glyph v0.2.13
[INFO] [stderr]    Compiling crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]    Compiling epaint v0.16.0
[INFO] [stderr]    Compiling gimli v0.26.1
[INFO] [stderr]    Compiling wayland-client v0.29.2
[INFO] [stderr]    Compiling wayland-protocols v0.29.2
[INFO] [stderr]    Compiling backtrace v0.3.63
[INFO] [stderr]    Compiling xcursor v0.3.4
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling glium v0.31.0
[INFO] [stderr]    Compiling object v0.27.1
[INFO] [stderr]    Compiling crc32fast v1.3.0
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling egui v0.16.1
[INFO] [stderr]    Compiling rustc-demangle v0.1.21
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling weezl v0.1.5
[INFO] [stderr]    Compiling webbrowser v0.5.5
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling takeable-option v0.5.0
[INFO] [stderr]    Compiling deflate v0.8.6
[INFO] [stderr]    Compiling wayland-commons v0.29.2
[INFO] [stderr]    Compiling calloop v0.9.3
[INFO] [stderr]    Compiling addr2line v0.17.0
[INFO] [stderr]    Compiling miniz_oxide v0.3.7
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling gif v0.11.3
[INFO] [stderr]    Compiling png v0.16.8
[INFO] [stderr]    Compiling bytemuck v1.7.3
[INFO] [stderr]    Compiling scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling epi v0.16.0
[INFO] [stderr]    Compiling jpeg-decoder v0.1.22
[INFO] [stderr]    Compiling x11-clipboard v0.5.3
[INFO] [stderr]    Compiling tiff v0.6.1
[INFO] [stderr]    Compiling wayland-cursor v0.29.2
[INFO] [stderr]    Compiling wayland-egl v0.29.2
[INFO] [stderr]    Compiling image v0.23.14
[INFO] [stderr]    Compiling smithay-clipboard v0.6.5
[INFO] [stderr]    Compiling copypasta v0.7.1
[INFO] [stderr]    Compiling glutin v0.28.0
[INFO] [stderr]    Compiling egui-winit v0.16.0
[INFO] [stderr]    Compiling egui_glium v0.16.0
[INFO] [stderr]    Compiling eframe v0.16.0
[INFO] [stderr]    Compiling ray-tracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `img`
[INFO] [stdout]    --> src/app.rs:184:30
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 if let Some((img, tex)) = self.last_preview {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_img`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc_object`
[INFO] [stdout]    --> src/app.rs:336:21
[INFO] [stdout]     |
[INFO] [stdout] 336 |         if let Some(arc_object) = self.get_active_object() {
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/app.rs:391:41
[INFO] [stdout]     |
[INFO] [stdout] 391 |                 ui.menu_button("Edit", |ui| {
[INFO] [stdout]     |                                         ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/app.rs:394:41
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 ui.menu_button("View", |ui| {
[INFO] [stdout]     |                                         ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/app.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let mut preview = new.preview_camera.clone();
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:445:33
[INFO] [stdout]     |
[INFO] [stdout] 445 | ...                   let mut world_objects = self.world.mut_objects();
[INFO] [stdout]     |                           ----^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `t_value`, `point`, and `inside` are never read
[INFO] [stdout]    --> src/scenes/world.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 196 | struct Computations {
[INFO] [stdout]     |        ------------ fields in this struct
[INFO] [stdout] 197 |     object: Object,
[INFO] [stdout] 198 |     t_value: f64,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 199 |     point: Tuple,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     inside: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Computations` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `light` is never read
[INFO] [stdout]  --> src/scenes/lights.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Light {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     light: LightType
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Light` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/app.rs:105:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         img_lock.insert(image);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         let _ = img_lock.insert(image);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/app.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |         self.world_sender.send(world);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let _ = self.world_sender.send(world);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/app.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         self.world_sender.send(wd);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let _ = self.world_sender.send(wd);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/app.rs:434:37
[INFO] [stdout]     |
[INFO] [stdout] 434 | ...                   group_lock.add_object_holder(object.clone());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 434 |                                     let _ = group_lock.add_object_holder(object.clone());
[INFO] [stdout]     |                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/app.rs:456:33
[INFO] [stdout]     |
[INFO] [stdout] 456 | ...                   active_group.remove_from_group(remove);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 456 |                                 let _ = active_group.remove_from_group(remove);
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 07s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.22.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "6d448a8f7ee38360f83a88d7fcdbc99a8e94525b6d8a2d92725fd0ac9819f723", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6d448a8f7ee38360f83a88d7fcdbc99a8e94525b6d8a2d92725fd0ac9819f723", kill_on_drop: false }`
[INFO] [stdout] 6d448a8f7ee38360f83a88d7fcdbc99a8e94525b6d8a2d92725fd0ac9819f723
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 185ef16f65c0afc184940a24f47d273094b5078c689facbff50ab7884272334d
[INFO] running `Command { std: "docker" "start" "-a" "185ef16f65c0afc184940a24f47d273094b5078c689facbff50ab7884272334d", kill_on_drop: false }`
[INFO] [stderr]    Compiling ray-tracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `img`
[INFO] [stdout]    --> src/app.rs:184:30
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 if let Some((img, tex)) = self.last_preview {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_img`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc_object`
[INFO] [stdout]    --> src/app.rs:336:21
[INFO] [stdout]     |
[INFO] [stdout] 336 |         if let Some(arc_object) = self.get_active_object() {
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/app.rs:391:41
[INFO] [stdout]     |
[INFO] [stdout] 391 |                 ui.menu_button("Edit", |ui| {
[INFO] [stdout]     |                                         ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/app.rs:394:41
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 ui.menu_button("View", |ui| {
[INFO] [stdout]     |                                         ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scenes/world.rs:405:13
[INFO] [stdout]     |
[INFO] [stdout] 405 |         let mut w = World::new_default();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scenes/world.rs:457:13
[INFO] [stdout]     |
[INFO] [stdout] 457 |         let mut w = World::new_default();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scenes/world.rs:571:13
[INFO] [stdout]     |
[INFO] [stdout] 571 |         let mut w = World::new_default();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scenes/world.rs:619:13
[INFO] [stdout]     |
[INFO] [stdout] 619 |         let mut w = World::new_default();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/app.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let mut preview = new.preview_camera.clone();
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:445:33
[INFO] [stdout]     |
[INFO] [stdout] 445 | ...                   let mut world_objects = self.world.mut_objects();
[INFO] [stdout]     |                           ----^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `t_value` is never read
[INFO] [stdout]    --> src/scenes/world.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 196 | struct Computations {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] 197 |     object: Object,
[INFO] [stdout] 198 |     t_value: f64,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Computations` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `light` is never read
[INFO] [stdout]  --> src/scenes/lights.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Light {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     light: LightType
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Light` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/shapes/groups.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         g.add_object(s);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let _ = g.add_object(s);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/app.rs:105:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         img_lock.insert(image);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         let _ = img_lock.insert(image);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/app.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |         self.world_sender.send(world);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let _ = self.world_sender.send(world);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/app.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         self.world_sender.send(wd);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let _ = self.world_sender.send(wd);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/app.rs:434:37
[INFO] [stdout]     |
[INFO] [stdout] 434 | ...                   group_lock.add_object_holder(object.clone());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 434 |                                     let _ = group_lock.add_object_holder(object.clone());
[INFO] [stdout]     |                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/app.rs:456:33
[INFO] [stdout]     |
[INFO] [stdout] 456 | ...                   active_group.remove_from_group(remove);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 456 |                                 let _ = active_group.remove_from_group(remove);
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.49s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.22.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "185ef16f65c0afc184940a24f47d273094b5078c689facbff50ab7884272334d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "185ef16f65c0afc184940a24f47d273094b5078c689facbff50ab7884272334d", kill_on_drop: false }`
[INFO] [stdout] 185ef16f65c0afc184940a24f47d273094b5078c689facbff50ab7884272334d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 81d46cdb962bd499d1e78834c3b7136cc1e1afdab85943a2bb80e1db41adaa8e
[INFO] running `Command { std: "docker" "start" "-a" "81d46cdb962bd499d1e78834c3b7136cc1e1afdab85943a2bb80e1db41adaa8e", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `img`
[INFO] [stderr]    --> src/app.rs:184:30
[INFO] [stderr]     |
[INFO] [stderr] 184 |                 if let Some((img, tex)) = self.last_preview {
[INFO] [stderr]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_img`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arc_object`
[INFO] [stderr]    --> src/app.rs:336:21
[INFO] [stderr]     |
[INFO] [stderr] 336 |         if let Some(arc_object) = self.get_active_object() {
[INFO] [stderr]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_object`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ui`
[INFO] [stderr]    --> src/app.rs:391:41
[INFO] [stderr]     |
[INFO] [stderr] 391 |                 ui.menu_button("Edit", |ui| {
[INFO] [stderr]     |                                         ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ui`
[INFO] [stderr]    --> src/app.rs:394:41
[INFO] [stderr]     |
[INFO] [stderr] 394 |                 ui.menu_button("View", |ui| {
[INFO] [stderr]     |                                         ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/scenes/world.rs:405:13
[INFO] [stderr]     |
[INFO] [stderr] 405 |         let mut w = World::new_default();
[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/scenes/world.rs:457:13
[INFO] [stderr]     |
[INFO] [stderr] 457 |         let mut w = World::new_default();
[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/scenes/world.rs:571:13
[INFO] [stderr]     |
[INFO] [stderr] 571 |         let mut w = World::new_default();
[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/scenes/world.rs:619:13
[INFO] [stderr]     |
[INFO] [stderr] 619 |         let mut w = World::new_default();
[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/app.rs:66:13
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let mut preview = new.preview_camera.clone();
[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/app.rs:445:33
[INFO] [stderr]     |
[INFO] [stderr] 445 | ...                   let mut world_objects = self.world.mut_objects();
[INFO] [stderr]     |                           ----^^^^^^^^^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `t_value` is never read
[INFO] [stderr]    --> src/scenes/world.rs:198:5
[INFO] [stderr]     |
[INFO] [stderr] 196 | struct Computations {
[INFO] [stderr]     |        ------------ field in this struct
[INFO] [stderr] 197 |     object: Object,
[INFO] [stderr] 198 |     t_value: f64,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Computations` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `light` is never read
[INFO] [stderr]  --> src/scenes/lights.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct Light {
[INFO] [stderr]   |            ----- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 7 |     light: LightType
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Light` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/shapes/groups.rs:187:9
[INFO] [stderr]     |
[INFO] [stderr] 187 |         g.add_object(s);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 187 |         let _ = g.add_object(s);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/app.rs:105:25
[INFO] [stderr]     |
[INFO] [stderr] 105 |                         img_lock.insert(image);
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 105 |                         let _ = img_lock.insert(image);
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/app.rs:113:9
[INFO] [stderr]     |
[INFO] [stderr] 113 |         self.world_sender.send(world);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 113 |         let _ = self.world_sender.send(world);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/app.rs:200:9
[INFO] [stderr]     |
[INFO] [stderr] 200 |         self.world_sender.send(wd);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 200 |         let _ = self.world_sender.send(wd);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/app.rs:434:37
[INFO] [stderr]     |
[INFO] [stderr] 434 | ...                   group_lock.add_object_holder(object.clone());
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 434 |                                     let _ = group_lock.add_object_holder(object.clone());
[INFO] [stderr]     |                                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/app.rs:456:33
[INFO] [stderr]     |
[INFO] [stderr] 456 | ...                   active_group.remove_from_group(remove);
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 456 |                                 let _ = active_group.remove_from_group(remove);
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `ray-tracer` (bin "ray-tracer" test) generated 18 warnings (run `cargo fix --bin "ray-tracer" --tests` to apply 10 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.22.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ray_tracer-d8c53290210355c9)
[INFO] [stdout] 
[INFO] [stdout] running 129 tests
[INFO] [stdout] test matrices::matrix2::tests::test_determinant_2x2 ... ok
[INFO] [stdout] test matrices::matrix3::tests::test_submatrix ... ok
[INFO] [stdout] test matrices::matrix3::tests::test_minor ... ok
[INFO] [stdout] test matrices::matrix3::tests::test_cofactor ... ok
[INFO] [stdout] test matrices::matrix3::tests::test_3x3_determinant ... ok
[INFO] [stdout] test matrices::matrix4::test::test_4x4_determinant ... ok
[INFO] [stdout] test matrices::matrix4::test::test_concatenated_transformations ... ok
[INFO] [stdout] test matrices::matrix4::test::test_identity_mul ... ok
[INFO] [stdout] test matrices::matrix4::test::test_equals ... ok
[INFO] [stdout] test matrices::matrix4::test::test_init ... ok
[INFO] [stdout] test matrices::matrix4::test::test_invert ... ok
[INFO] [stdout] test matrices::matrix4::test::test_mul ... ok
[INFO] [stdout] test matrices::matrix4::test::test_mul_and_invert ... ok
[INFO] [stdout] test matrices::matrix4::test::test_read ... ok
[INFO] [stdout] test matrices::matrix4::test::test_transpose ... ok
[INFO] [stdout] test matrices::matrix4::test::test_tuple_mul ... ok
[INFO] [stdout] test matrices::matrix4::test::test_write ... ok
[INFO] [stdout] test matrices::transformations::tests::test_default_view_is_identity_matrix ... ok
[INFO] [stdout] test matrices::transformations::tests::test_rotate_x ... ok
[INFO] [stdout] test matrices::transformations::tests::test_rotate_y ... ok
[INFO] [stdout] test matrices::transformations::tests::test_rotate_z ... ok
[INFO] [stdout] test matrices::transformations::tests::test_scaling ... ok
[INFO] [stdout] test matrices::transformations::tests::test_translation ... ok
[INFO] [stdout] test matrices::transformations::tests::test_shearing ... ok
[INFO] [stdout] test matrices::transformations::tests::test_view_transformation ... ok
[INFO] [stdout] test matrices::transformations::tests::test_view_transformation_transforms_world ... ok
[INFO] [stdout] test matrices::transformations::tests::test_view_transformation_turning_around ... ok
[INFO] [stdout] test matrices::tuples::tests::create_point ... ok
[INFO] [stdout] test matrices::tuples::tests::create_vector ... ok
[INFO] [stdout] test matrices::tuples::tests::subtracting_two_vectors ... ok
[INFO] [stdout] test matrices::tuples::tests::test_add ... ok
[INFO] [stdout] test matrices::tuples::tests::test_cross_product ... ok
[INFO] [stdout] test matrices::tuples::tests::test_dot_product ... ok
[INFO] [stdout] test matrices::tuples::tests::test_equality ... ok
[INFO] [stdout] test matrices::tuples::tests::test_normalize ... ok
[INFO] [stdout] test matrices::tuples::tests::test_reflect_vector ... ok
[INFO] [stdout] test matrices::tuples::tests::test_scalar_div ... ok
[INFO] [stdout] test matrices::tuples::tests::test_scalar_mult ... ok
[INFO] [stdout] test matrices::tuples::tests::test_subtracting_two_points ... ok
[INFO] [stdout] test matrices::tuples::tests::test_subtracting_vector_from_point ... ok
[INFO] [stdout] test rays::tests::test_position ... ok
[INFO] [stdout] test rays::tests::test_ray_scale ... ok
[INFO] [stdout] test rays::tests::test_ray_translate ... ok
[INFO] [stdout] test scenes::camera::tests::test_pixel_size_horizontal_canvas ... ok
[INFO] [stdout] test scenes::camera::tests::test_pixel_size_vertical_canvas ... ok
[INFO] [stdout] test scenes::camera::tests::test_ray_for_pixel_center ... ok
[INFO] [stdout] test scenes::camera::tests::test_ray_for_pixel_corner ... ok
[INFO] [stdout] test scenes::camera::tests::test_ray_for_pixel_transformed ... ok
[INFO] [stdout] test scenes::canvas::tests::test_initialize ... ok
[INFO] [stdout] test scenes::lights::tests::test_shadow ... ok
[INFO] [stdout] test scenes::lights::tests::test_lighting ... ok
[INFO] [stdout] test scenes::lights::tests::test_lighting_with_pattern ... ok
[INFO] [stdout] test scenes::canvas::tests::test_write_pixels ... ok
[INFO] [stdout] test scenes::world::tests::test_precompute_offsets_point ... ok
[INFO] [stdout] test scenes::world::tests::test_color_at_when_no_intersection ... ok
[INFO] [stdout] test scenes::world::tests::test_computing_refractive_indices ... ok
[INFO] [stdout] test scenes::world::tests::test_compute_reflection_vector ... ok
[INFO] [stdout] test scenes::world::tests::test_default_world_intersect ... ok
[INFO] [stdout] test scenes::world::tests::test_precompute_when_ray_inside_object ... ok
[INFO] [stdout] test scenes::world::tests::test_reflected_color_of_nonreflective_surface ... ok
[INFO] [stdout] test scenes::camera::tests::test_render_world ... ok
[INFO] [stdout] test scenes::world::tests::test_color_at_with_intersection ... ok
[INFO] [stdout] test scenes::world::tests::test_color_at_inside_sphere ... ok
[INFO] [stdout] test scenes::world::tests::test_schlick_with_perpendicular_ray ... ok
[INFO] [stdout] test scenes::world::tests::test_refracted_color_max_recursive_depth ... ok
[INFO] [stdout] test scenes::world::tests::test_schlick_with_total_internal_reflection ... ok
[INFO] [stdout] test scenes::world::tests::test_no_shadow ... ok
[INFO] [stdout] test scenes::world::tests::test_schlick_n2_greater_than_n1 ... ok
[INFO] [stdout] test scenes::world::tests::test_refractive_color_opaque ... ok
[INFO] [stdout] test scenes::world::tests::test_shade_hit ... ok
[INFO] [stdout] test scenes::world::tests::test_reflected_color_of_reflective_surface ... ok
[INFO] [stdout] test scenes::world::tests::test_reflection_avoids_infinite_recursion ... ok
[INFO] [stdout] test scenes::world::tests::test_shade_hit_ray_inside ... ok
[INFO] [stdout] test scenes::world::tests::test_refraction ... ok
[INFO] [stdout] test scenes::world::tests::test_shade_hit_in_shadow ... ok
[INFO] [stdout] test matrices::tuples::tests::test_vec_mag ... ok
[INFO] [stdout] test scenes::world::tests::test_shadowed ... ok
[INFO] [stdout] test scenes::world::tests::test_shade_hit_with_reflection ... ok
[INFO] [stdout] test scenes::world::tests::test_shade_hit_with_refraction ... ok
[INFO] [stdout] test scenes::world::tests::test_total_internal_reflection ... ok
[INFO] [stdout] test shapes::cones::tests::test_intersect_cone_end_caps ... ok
[INFO] [stdout] test shapes::cubes::tests::test_normal_at ... ok
[INFO] [stdout] test shapes::cones::tests::test_intersect_cone_ray_parallel_to_half ... ok
[INFO] [stdout] test shapes::cones::tests::test_normal ... ok
[INFO] [stdout] test shapes::cubes::tests::test_miss_intersect ... ok
[INFO] [stdout] test shapes::cylinders::tests::test_normal_at_end_caps ... ok
[INFO] [stdout] test shapes::cones::tests::test_intersect_cone ... ok
[INFO] [stdout] test shapes::cubes::tests::test_local_intersect ... ok
[INFO] [stdout] test shapes::cylinders::tests::test_cylinder_truncate ... ok
[INFO] [stdout] test shapes::planes::tests::test_intersection_coplanar_ray ... ok
[INFO] [stdout] test shapes::planes::tests::test_intersection_parallel_ray ... ok
[INFO] [stdout] test shapes::groups::tests::test_intersect_empty_group ... ok
[INFO] [stdout] test shapes::cylinders::tests::test_hit_cylinder ... ok
[INFO] [stdout] test shapes::groups::tests::test_adding_child_to_group ... ok
[INFO] [stdout] test shapes::cylinders::tests::test_normal_at ... ok
[INFO] [stdout] test shapes::groups::tests::test_group_transformations ... ok
[INFO] [stdout] test scenes::world::tests::test_shade_hit_with_schlick ... ok
[INFO] [stdout] test shapes::cylinders::tests::test_intersect_end_caps ... ok
[INFO] [stdout] test shapes::planes::tests::test_intersection_ray_above_plane ... ok
[INFO] [stdout] test shapes::spheres::tests::test_miss ... ok
[INFO] [stdout] test shapes::spheres::tests::test_intersect_of_translated_sphere ... ok
[INFO] [stdout] test shapes::cylinders::tests::test_miss_cylinder ... ok
[INFO] [stdout] test shapes::spheres::tests::test_intersect ... ok
[INFO] [stdout] test shapes::planes::tests::test_intersection_ray_below_plane ... ok
[INFO] [stdout] test shapes::spheres::tests::test_intersect_of_scaled_sphere ... ok
[INFO] [stdout] test surfaces::colors::tests::test_color_prod ... ok
[INFO] [stdout] test shapes::spheres::tests::test_sphere_normal ... ok
[INFO] [stdout] test shapes::spheres::tests::test_hit ... ok
[INFO] [stdout] test shapes::spheres::tests::test_sphere_normal_transformed ... ok
[INFO] [stdout] test shapes::spheres::tests::test_ray_originating_inside_sphere ... ok
[INFO] [stdout] test surfaces::colors::tests::test_add_colors ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_checker_3d_x ... ok
[INFO] [stdout] test shapes::groups::tests::test_intersect_nonempty_group ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_ring ... ok
[INFO] [stdout] test surfaces::colors::tests::test_scalar_mul ... ok
[INFO] [stdout] test surfaces::colors::tests::test_sub_colors ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_stripe_at_object_with_obj_transformation ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_stripe_at_object_with_pattern_and_obj_transformations ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_stripe_at_object_with_pattern_transformation ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_stripe_y ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_stripe_z ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_checker_3d_z ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_gradient ... ok
[INFO] [stdout] test shapes::spheres::tests::test_tangent_intersect ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_checker_3d_y ... ok
[INFO] [stdout] test scenes::camera::tests::test_parallel_render_world ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_stripe_x ... ok
[INFO] [stdout] test scenes::canvas::tests::test_write_file ... FAILED
[INFO] [stdout] test shapes::spheres::tests::test_no_hit - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- scenes::canvas::tests::test_write_file stdout ----
[INFO] [stdout] thread 'scenes::canvas::tests::test_write_file' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }', src/scenes/canvas.rs:135:31
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5632d9b3d37a - std::backtrace_rs::backtrace::libunwind::trace::h2f05d0192276a8f6
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
[INFO] [stdout]    1:     0x5632d9b3d37a - std::backtrace_rs::backtrace::trace_unsynchronized::hedc23dff7a1af150
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5632d9b3d37a - std::sys_common::backtrace::_print_fmt::h17541ef7592f3ce2
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:65:5
[INFO] [stdout]    3:     0x5632d9b3d37a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h20f75df5ab0c0792
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5632d9b6168f - core::fmt::write::h78109e6f466b3af6
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/fmt/mod.rs:1254:17
[INFO] [stdout]    5:     0x5632d9b3a525 - std::io::Write::write_fmt::hd24bfb68a1b35a25
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/io/mod.rs:1698:15
[INFO] [stdout]    6:     0x5632d9b3d145 - std::sys_common::backtrace::_print::h8dac57a9f8fbf9a5
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    7:     0x5632d9b3d145 - std::sys_common::backtrace::print::hf9ecbf41d1aa712f
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    8:     0x5632d9b3edfe - std::panicking::default_hook::{{closure}}::h04c07acfc84ca028
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:269:22
[INFO] [stdout]    9:     0x5632d9b3eb31 - std::panicking::default_hook::h01f6bb23e1eceb2c
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:285:9
[INFO] [stdout]   10:     0x5632d9a9cc0b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h87fe9f7b2fd49e4c
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   11:     0x5632d9a9cc0b - test::test_main::{{closure}}::he94d679243a7531b
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x5632d9b3f4e4 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3f2d6d8b14c4769f
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   13:     0x5632d9b3f4e4 - std::panicking::rust_panic_with_hook::h2bb3722bbaf2f6df
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:695:13
[INFO] [stdout]   14:     0x5632d9b3f259 - std::panicking::begin_panic_handler::{{closure}}::h91bc7f36a4be011b
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:582:13
[INFO] [stdout]   15:     0x5632d9b3d7e6 - std::sys_common::backtrace::__rust_end_short_backtrace::h8b3d3717114f9e59
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:150:18
[INFO] [stdout]   16:     0x5632d9b3efb2 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:578:5
[INFO] [stdout]   17:     0x5632d9a1cc43 - core::panicking::panic_fmt::hfd368e3fbdabea26
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/panicking.rs:67:14
[INFO] [stdout]   18:     0x5632d9a1d1e3 - core::result::unwrap_failed::he54eb4b2f125b26f
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/result.rs:1687:5
[INFO] [stdout]   19:     0x5632d9a391ea - core::result::Result<T,E>::unwrap::h8a9d7531f83eb58c
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/result.rs:1089:23
[INFO] [stdout]   20:     0x5632d9a4d1d0 - ray_tracer::scenes::canvas::tests::test_write_file::h6ed60049ca11e5d2
[INFO] [stdout]                                at /opt/rustwide/workdir/src/scenes/canvas.rs:135:9
[INFO] [stdout]   21:     0x5632d9a4d077 - ray_tracer::scenes::canvas::tests::test_write_file::{{closure}}::h66a1e1bba3539e3a
[INFO] [stdout]                                at /opt/rustwide/workdir/src/scenes/canvas.rs:127:26
[INFO] [stdout]   22:     0x5632d9a24dc5 - core::ops::function::FnOnce::call_once::h3ab5db73ca8cda90
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5632d9aa1adf - core::ops::function::FnOnce::call_once::ha6a70e79f7481a7e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5632d9aa1adf - test::__rust_begin_short_backtrace::hce33033019b61e69
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:655:18
[INFO] [stdout]   25:     0x5632d9a6f2cc - test::run_test::{{closure}}::h858d3528838ae3e5
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:646:30
[INFO] [stdout]   26:     0x5632d9a6f2cc - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8ac2b00f01ae79e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5632d9aa0bb6 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h8093d25b522725ef
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/alloc/src/boxed.rs:1973:9
[INFO] [stdout]   28:     0x5632d9aa0bb6 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h5c334c204e4a3913
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   29:     0x5632d9aa0bb6 - std::panicking::try::do_call::ha8b740c7b9478074
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:485:40
[INFO] [stdout]   30:     0x5632d9aa0bb6 - std::panicking::try::h5d34f63d0e41b64e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:449:19
[INFO] [stdout]   31:     0x5632d9aa0bb6 - std::panic::catch_unwind::hcfbb511e1aa7fc67
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panic.rs:140:14
[INFO] [stdout]   32:     0x5632d9aa0bb6 - test::run_test_in_process::h9abda90f802eaf21
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:678:27
[INFO] [stdout]   33:     0x5632d9aa0bb6 - test::run_test::run_test_inner::{{closure}}::h0f058de91f6c6edf
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:572:39
[INFO] [stdout]   34:     0x5632d9a69ad5 - test::run_test::run_test_inner::{{closure}}::h5ca48a4c59c6c1fb
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:599:37
[INFO] [stdout]   35:     0x5632d9a69ad5 - std::sys_common::backtrace::__rust_begin_short_backtrace::h32bd51e1495d4a33
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:134:18
[INFO] [stdout]   36:     0x5632d9a6f011 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hc086fae9b128b2db
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/thread/mod.rs:526:17
[INFO] [stdout]   37:     0x5632d9a6f011 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb66571888d270d43
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   38:     0x5632d9a6f011 - std::panicking::try::do_call::h4fa2ef4f6e51fecf
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:485:40
[INFO] [stdout]   39:     0x5632d9a6f011 - std::panicking::try::h1e9e22b8584489b5
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:449:19
[INFO] [stdout]   40:     0x5632d9a6f011 - std::panic::catch_unwind::h44698a3de0e0769e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panic.rs:140:14
[INFO] [stdout]   41:     0x5632d9a6f011 - std::thread::Builder::spawn_unchecked_::{{closure}}::h50153abde3fe239e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/thread/mod.rs:525:30
[INFO] [stdout]   42:     0x5632d9a6f011 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hbe5bbf6f38394364
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5632d9b43b45 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h0d83cb2920a49046
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/alloc/src/boxed.rs:1973:9
[INFO] [stdout]   44:     0x5632d9b43b45 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hbe0a008aa7d9ef59
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/alloc/src/boxed.rs:1973:9
[INFO] [stdout]   45:     0x5632d9b43b45 - std::sys::unix::thread::Thread::new::thread_start::h3a466996bdf6b1f9
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   46:     0x7fe992503b43 - <unknown>
[INFO] [stdout]   47:     0x7fe992594bb4 - __clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     scenes::canvas::tests::test_write_file
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 128 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin ray-tracer`
[INFO] running `Command { std: "docker" "inspect" "81d46cdb962bd499d1e78834c3b7136cc1e1afdab85943a2bb80e1db41adaa8e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81d46cdb962bd499d1e78834c3b7136cc1e1afdab85943a2bb80e1db41adaa8e", kill_on_drop: false }`
[INFO] [stdout] 81d46cdb962bd499d1e78834c3b7136cc1e1afdab85943a2bb80e1db41adaa8e
