[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 1.69.0 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-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/malloc-man/ray-tracer on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "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-tc1/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" "+1.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wayland-cursor v0.29.2
[INFO] [stderr]   Downloaded wayland-sys v0.29.2
[INFO] [stderr]   Downloaded wayland-client v0.29.2
[INFO] [stderr]   Downloaded wayland-commons v0.29.2
[INFO] [stderr]   Downloaded wayland-scanner v0.29.2
[INFO] [stderr]   Downloaded wayland-protocols 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-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4c48c879effbdedb0dddb518612c7394444c416debef82cf8477f77084d41abd
[INFO] running `Command { std: "docker" "start" "-a" "4c48c879effbdedb0dddb518612c7394444c416debef82cf8477f77084d41abd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4c48c879effbdedb0dddb518612c7394444c416debef82cf8477f77084d41abd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c48c879effbdedb0dddb518612c7394444c416debef82cf8477f77084d41abd", kill_on_drop: false }`
[INFO] [stdout] 4c48c879effbdedb0dddb518612c7394444c416debef82cf8477f77084d41abd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8393b0da5fd02e55d31133f4bbdd5c1114152bba4bef79fa15871391c1865050
[INFO] running `Command { std: "docker" "start" "-a" "8393b0da5fd02e55d31133f4bbdd5c1114152bba4bef79fa15871391c1865050", 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 version_check v0.9.4
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling once_cell v1.9.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling libloading v0.7.2
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling downcast-rs v1.2.0
[INFO] [stderr]    Compiling scoped-tls v1.0.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling dlib v0.5.0
[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 memoffset v0.6.5
[INFO] [stderr]    Compiling nom v7.1.0
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling ttf-parser v0.14.0
[INFO] [stderr]    Compiling wayland-sys v0.29.2
[INFO] [stderr]    Compiling smithay-client-toolkit v0.15.3
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling x11-dl v2.19.1
[INFO] [stderr]    Compiling lock_api v0.4.5
[INFO] [stderr]    Compiling cty v0.2.2
[INFO] [stderr]    Compiling winit v0.26.0
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling quote v1.0.14
[INFO] [stderr]    Compiling quick-xml v0.22.0
[INFO] [stderr]    Compiling ab_glyph_rasterizer v0.1.5
[INFO] [stderr]    Compiling raw-window-handle v0.4.2
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling wayland-scanner v0.29.2
[INFO] [stderr]    Compiling cc v1.0.72
[INFO] [stderr]    Compiling atomic_refcell v0.1.8
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling emath v0.16.0
[INFO] [stderr]    Compiling nohash-hasher v0.2.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.7
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.5
[INFO] [stderr]    Compiling gimli v0.26.1
[INFO] [stderr]    Compiling xcb v0.10.1
[INFO] [stderr]    Compiling glium v0.31.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 mio v0.8.0
[INFO] [stderr]    Compiling shared_library v0.1.9
[INFO] [stderr]    Compiling owned_ttf_parser v0.14.0
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling ab_glyph v0.2.13
[INFO] [stderr]    Compiling backtrace v0.3.63
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling wayland-client v0.29.2
[INFO] [stderr]    Compiling wayland-protocols v0.29.2
[INFO] [stderr]    Compiling epaint v0.16.0
[INFO] [stderr]    Compiling xcursor v0.3.4
[INFO] [stderr]    Compiling object v0.27.1
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling rustc-demangle v0.1.21
[INFO] [stderr]    Compiling crc32fast v1.3.0
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling egui v0.16.1
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling takeable-option v0.5.0
[INFO] [stderr]    Compiling addr2line v0.17.0
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling webbrowser v0.5.5
[INFO] [stderr]    Compiling weezl v0.1.5
[INFO] [stderr]    Compiling deflate v0.8.6
[INFO] [stderr]    Compiling miniz_oxide v0.3.7
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling bytemuck v1.7.3
[INFO] [stderr]    Compiling gif v0.11.3
[INFO] [stderr]    Compiling wayland-commons v0.29.2
[INFO] [stderr]    Compiling calloop v0.9.3
[INFO] [stderr]    Compiling png v0.16.8
[INFO] [stderr]    Compiling jpeg-decoder v0.1.22
[INFO] [stderr]    Compiling x11-clipboard v0.5.3
[INFO] [stderr]    Compiling epi v0.16.0
[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] 
[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] 
[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] 
[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] 
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 12s
[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" "8393b0da5fd02e55d31133f4bbdd5c1114152bba4bef79fa15871391c1865050", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8393b0da5fd02e55d31133f4bbdd5c1114152bba4bef79fa15871391c1865050", kill_on_drop: false }`
[INFO] [stdout] 8393b0da5fd02e55d31133f4bbdd5c1114152bba4bef79fa15871391c1865050
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.69.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 22eaf4937730ad77bfbedfcc1d8a62a803225fac6ac0b4a569fb8329a89996fe
[INFO] running `Command { std: "docker" "start" "-a" "22eaf4937730ad77bfbedfcc1d8a62a803225fac6ac0b4a569fb8329a89996fe", 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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 6.62s
[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" "22eaf4937730ad77bfbedfcc1d8a62a803225fac6ac0b4a569fb8329a89996fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22eaf4937730ad77bfbedfcc1d8a62a803225fac6ac0b4a569fb8329a89996fe", kill_on_drop: false }`
[INFO] [stdout] 22eaf4937730ad77bfbedfcc1d8a62a803225fac6ac0b4a569fb8329a89996fe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+1.69.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1857076f38395870acfe05484bdee6244be8b9e102fc06da58e2dbf93da2fa31
[INFO] running `Command { std: "docker" "start" "-a" "1857076f38395870acfe05484bdee6244be8b9e102fc06da58e2dbf93da2fa31", 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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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.19s
[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-9779de6decef638d)
[INFO] [stdout] 
[INFO] [stdout] running 129 tests
[INFO] [stdout] test matrices::matrix4::test::test_tuple_mul ... ok
[INFO] [stdout] test matrices::matrix4::test::test_init ... ok
[INFO] [stdout] test matrices::matrix4::test::test_read ... ok
[INFO] [stdout] test matrices::matrix4::test::test_invert ... ok
[INFO] [stdout] test matrices::matrix4::test::test_identity_mul ... ok
[INFO] [stdout] test matrices::matrix3::tests::test_submatrix ... ok
[INFO] [stdout] test matrices::matrix4::test::test_4x4_determinant ... ok
[INFO] [stdout] test matrices::matrix2::tests::test_determinant_2x2 ... ok
[INFO] [stdout] test matrices::matrix4::test::test_concatenated_transformations ... ok
[INFO] [stdout] test matrices::matrix3::tests::test_minor ... ok
[INFO] [stdout] test matrices::matrix4::test::test_mul_and_invert ... ok
[INFO] [stdout] test matrices::matrix3::tests::test_cofactor ... ok
[INFO] [stdout] test matrices::matrix4::test::test_write ... ok
[INFO] [stdout] test matrices::matrix4::test::test_mul ... ok
[INFO] [stdout] test matrices::matrix4::test::test_equals ... ok
[INFO] [stdout] test matrices::matrix4::test::test_transpose ... ok
[INFO] [stdout] test matrices::matrix3::tests::test_3x3_determinant ... ok
[INFO] [stdout] test matrices::transformations::tests::test_rotate_y ... ok
[INFO] [stdout] test matrices::tuples::tests::test_cross_product ... ok
[INFO] [stdout] test matrices::transformations::tests::test_shearing ... ok
[INFO] [stdout] test matrices::tuples::tests::test_equality ... ok
[INFO] [stdout] test matrices::tuples::tests::test_normalize ... ok
[INFO] [stdout] test matrices::transformations::tests::test_rotate_z ... ok
[INFO] [stdout] test matrices::tuples::tests::create_vector ... ok
[INFO] [stdout] test matrices::tuples::tests::test_add ... ok
[INFO] [stdout] test matrices::transformations::tests::test_translation ... ok
[INFO] [stdout] test matrices::transformations::tests::test_default_view_is_identity_matrix ... ok
[INFO] [stdout] test matrices::transformations::tests::test_view_transformation_turning_around ... ok
[INFO] [stdout] test matrices::transformations::tests::test_scaling ... ok
[INFO] [stdout] test matrices::tuples::tests::subtracting_two_vectors ... 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::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::transformations::tests::test_rotate_x ... ok
[INFO] [stdout] test matrices::tuples::tests::test_dot_product ... ok
[INFO] [stdout] test matrices::tuples::tests::create_point ... ok
[INFO] [stdout] test matrices::tuples::tests::test_reflect_vector ... ok
[INFO] [stdout] test rays::tests::test_ray_scale ... ok
[INFO] [stdout] test scenes::canvas::tests::test_initialize ... ok
[INFO] [stdout] test scenes::lights::tests::test_lighting_with_pattern ... ok
[INFO] [stdout] test scenes::lights::tests::test_shadow ... ok
[INFO] [stdout] test matrices::tuples::tests::test_vec_mag ... ok
[INFO] [stdout] test scenes::world::tests::test_color_at_inside_sphere ... 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_ray_for_pixel_corner ... ok
[INFO] [stdout] test matrices::tuples::tests::test_subtracting_vector_from_point ... ok
[INFO] [stdout] test rays::tests::test_position ... ok
[INFO] [stdout] test scenes::camera::tests::test_ray_for_pixel_center ... ok
[INFO] [stdout] test scenes::camera::tests::test_pixel_size_vertical_canvas ... ok
[INFO] [stdout] test scenes::camera::tests::test_ray_for_pixel_transformed ... ok
[INFO] [stdout] test scenes::world::tests::test_compute_reflection_vector ... ok
[INFO] [stdout] test scenes::camera::tests::test_parallel_render_world ... ok
[INFO] [stdout] test scenes::world::tests::test_refracted_color_max_recursive_depth ... ok
[INFO] [stdout] test scenes::world::tests::test_computing_refractive_indices ... ok
[INFO] [stdout] test scenes::world::tests::test_refractive_color_opaque ... ok
[INFO] [stdout] test scenes::world::tests::test_schlick_n2_greater_than_n1 ... ok
[INFO] [stdout] test scenes::canvas::tests::test_write_pixels ... ok
[INFO] [stdout] test scenes::world::tests::test_color_at_when_no_intersection ... ok
[INFO] [stdout] test scenes::world::tests::test_precompute_offsets_point ... ok
[INFO] [stdout] test scenes::world::tests::test_reflected_color_of_reflective_surface ... ok
[INFO] [stdout] test scenes::world::tests::test_schlick_with_perpendicular_ray ... ok
[INFO] [stdout] test scenes::world::tests::test_no_shadow ... ok
[INFO] [stdout] test scenes::world::tests::test_precompute_when_ray_inside_object ... ok
[INFO] [stdout] test scenes::world::tests::test_schlick_with_total_internal_reflection ... ok
[INFO] [stdout] test scenes::world::tests::test_reflection_avoids_infinite_recursion ... ok
[INFO] [stdout] test scenes::world::tests::test_default_world_intersect ... ok
[INFO] [stdout] test scenes::camera::tests::test_render_world ... ok
[INFO] [stdout] test scenes::lights::tests::test_lighting ... ok
[INFO] [stdout] test scenes::world::tests::test_color_at_with_intersection ... ok
[INFO] [stdout] test scenes::world::tests::test_shade_hit_ray_inside ... ok
[INFO] [stdout] test scenes::world::tests::test_reflected_color_of_nonreflective_surface ... ok
[INFO] [stdout] test shapes::cones::tests::test_intersect_cone ... ok
[INFO] [stdout] test scenes::world::tests::test_shade_hit_in_shadow ... ok
[INFO] [stdout] test scenes::world::tests::test_total_internal_reflection ... ok
[INFO] [stdout] test shapes::cubes::tests::test_local_intersect ... ok
[INFO] [stdout] test shapes::cubes::tests::test_miss_intersect ... ok
[INFO] [stdout] test shapes::cubes::tests::test_normal_at ... ok
[INFO] [stdout] test shapes::cylinders::tests::test_intersect_end_caps ... ok
[INFO] [stdout] test shapes::cylinders::tests::test_miss_cylinder ... ok
[INFO] [stdout] test shapes::cones::tests::test_intersect_cone_ray_parallel_to_half ... ok
[INFO] [stdout] test scenes::world::tests::test_shade_hit_with_reflection ... ok
[INFO] [stdout] test scenes::world::tests::test_refraction ... ok
[INFO] [stdout] test shapes::cones::tests::test_normal ... ok
[INFO] [stdout] test shapes::cones::tests::test_intersect_cone_end_caps ... ok
[INFO] [stdout] test shapes::groups::tests::test_group_transformations ... ok
[INFO] [stdout] test shapes::groups::tests::test_adding_child_to_group ... ok
[INFO] [stdout] test shapes::groups::tests::test_intersect_nonempty_group ... ok
[INFO] [stdout] test shapes::cylinders::tests::test_normal_at_end_caps ... ok
[INFO] [stdout] test shapes::groups::tests::test_intersect_empty_group ... ok
[INFO] [stdout] test shapes::planes::tests::test_intersection_coplanar_ray ... ok
[INFO] [stdout] test scenes::world::tests::test_shade_hit ... ok
[INFO] [stdout] test shapes::cylinders::tests::test_cylinder_truncate ... ok
[INFO] [stdout] test scenes::world::tests::test_shadowed ... ok
[INFO] [stdout] test scenes::world::tests::test_shade_hit_with_refraction ... ok
[INFO] [stdout] test shapes::cylinders::tests::test_normal_at ... ok
[INFO] [stdout] test scenes::world::tests::test_shade_hit_with_schlick ... ok
[INFO] [stdout] test shapes::spheres::tests::test_hit ... ok
[INFO] [stdout] test shapes::spheres::tests::test_intersect ... ok
[INFO] [stdout] test shapes::spheres::tests::test_miss ... ok
[INFO] [stdout] test shapes::planes::tests::test_intersection_parallel_ray ... ok
[INFO] [stdout] test shapes::planes::tests::test_intersection_ray_above_plane ... ok
[INFO] [stdout] test shapes::spheres::tests::test_ray_originating_inside_sphere ... ok
[INFO] [stdout] test shapes::cylinders::tests::test_hit_cylinder ... ok
[INFO] [stdout] test shapes::spheres::tests::test_sphere_normal_transformed ... ok
[INFO] [stdout] test shapes::spheres::tests::test_intersect_of_scaled_sphere ... ok
[INFO] [stdout] test shapes::spheres::tests::test_intersect_of_translated_sphere ... ok
[INFO] [stdout] test shapes::spheres::tests::test_sphere_normal ... 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_checker_3d_x ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_checker_3d_y ... 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_x ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_stripe_z ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_stripe_at_object_with_obj_transformation ... ok
[INFO] [stdout] test shapes::spheres::tests::test_tangent_intersect ... ok
[INFO] [stdout] test surfaces::colors::tests::test_add_colors ... ok
[INFO] [stdout] test shapes::planes::tests::test_intersection_ray_below_plane ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_gradient ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_ring ... ok
[INFO] [stdout] test surfaces::patterns::tests::test_checker_3d_z ... ok
[INFO] [stdout] test surfaces::colors::tests::test_color_prod ... 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:     0x55c05bca669a - std::backtrace_rs::backtrace::libunwind::trace::ha9053a9a07ca49cb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
[INFO] [stdout]    1:     0x55c05bca669a - std::backtrace_rs::backtrace::trace_unsynchronized::h9c2852a457ad564e
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55c05bca669a - std::sys_common::backtrace::_print_fmt::h457936fbfaa0070f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:65:5
[INFO] [stdout]    3:     0x55c05bca669a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5779d7bf7f70cb0c
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55c05bcca46e - core::fmt::write::h5a4baaff1bcd3eb5
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/fmt/mod.rs:1232:17
[INFO] [stdout]    5:     0x55c05bca3945 - std::io::Write::write_fmt::h478f79c628ef31d1
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/io/mod.rs:1684:15
[INFO] [stdout]    6:     0x55c05bca6465 - std::sys_common::backtrace::_print::h5fcdc36060f177e8
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    7:     0x55c05bca6465 - std::sys_common::backtrace::print::h54ca9458b876c8bf
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    8:     0x55c05bca822f - std::panicking::default_hook::{{closure}}::hbe471161c7664ed6
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:271:22
[INFO] [stdout]    9:     0x55c05bca7eef - std::panicking::default_hook::ha3500da57aa4ac4f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:287:9
[INFO] [stdout]   10:     0x55c05bc012a7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdf1b89dd137ece34
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:2001:9
[INFO] [stdout]   11:     0x55c05bc012a7 - test::test_main::{{closure}}::h9081a79f20e75698
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:135:21
[INFO] [stdout]   12:     0x55c05bca895d - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6507bddc3eebb4a5
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:2001:9
[INFO] [stdout]   13:     0x55c05bca895d - std::panicking::rust_panic_with_hook::h50c09d000dc561d2
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:696:13
[INFO] [stdout]   14:     0x55c05bca86d9 - std::panicking::begin_panic_handler::{{closure}}::h9e2b2176e00e0d9c
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:583:13
[INFO] [stdout]   15:     0x55c05bca6b06 - std::sys_common::backtrace::__rust_end_short_backtrace::h5739b8e512c09d02
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:150:18
[INFO] [stdout]   16:     0x55c05bca83e2 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:579:5
[INFO] [stdout]   17:     0x55c05bb84c23 - core::panicking::panic_fmt::hf33a1475b4dc5c3e
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:64:14
[INFO] [stdout]   18:     0x55c05bb850d3 - core::result::unwrap_failed::hdff5465d74574b44
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/result.rs:1750:5
[INFO] [stdout]   19:     0x55c05bb99fda - core::result::Result<T,E>::unwrap::h58aac062789e71bb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/result.rs:1090:23
[INFO] [stdout]   20:     0x55c05bbbcf50 - ray_tracer::scenes::canvas::tests::test_write_file::hbebc8aec9aaa12e7
[INFO] [stdout]                                at /opt/rustwide/workdir/src/scenes/canvas.rs:135:9
[INFO] [stdout]   21:     0x55c05bbbcdf7 - ray_tracer::scenes::canvas::tests::test_write_file::{{closure}}::h1321959958f84d65
[INFO] [stdout]                                at /opt/rustwide/workdir/src/scenes/canvas.rs:127:26
[INFO] [stdout]   22:     0x55c05bbbefa5 - core::ops::function::FnOnce::call_once::hc91f11dc180c3015
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x55c05bc0668f - core::ops::function::FnOnce::call_once::h7d969581be7d0075
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55c05bc0668f - test::__rust_begin_short_backtrace::hca25a52684e56655
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:656:18
[INFO] [stdout]   25:     0x55c05bbd7cac - test::run_test::{{closure}}::ha8ac744c4af1a4bb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:647:30
[INFO] [stdout]   26:     0x55c05bbd7cac - core::ops::function::FnOnce::call_once{{vtable.shim}}::h7b411a9ed45bdecf
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x55c05bc05656 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hd05328869a8ed200
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   28:     0x55c05bc05656 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h0c601ce20bd5b2be
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   29:     0x55c05bc05656 - std::panicking::try::do_call::ha4be5c164fe30854
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:487:40
[INFO] [stdout]   30:     0x55c05bc05656 - std::panicking::try::h604546f3609af05f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:451:19
[INFO] [stdout]   31:     0x55c05bc05656 - std::panic::catch_unwind::h5bfa8afe44c9c2f9
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panic.rs:140:14
[INFO] [stdout]   32:     0x55c05bc05656 - test::run_test_in_process::hd50dee55dd63e6aa
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:679:27
[INFO] [stdout]   33:     0x55c05bc05656 - test::run_test::run_test_inner::{{closure}}::h4aa0f433aa85cea8
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:573:39
[INFO] [stdout]   34:     0x55c05bbd2321 - test::run_test::run_test_inner::{{closure}}::had56431adf24b4d6
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:600:37
[INFO] [stdout]   35:     0x55c05bbd2321 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha8d9890e0c73bf13
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:134:18
[INFO] [stdout]   36:     0x55c05bbd7d3b - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h251832bcb4a95327
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/thread/mod.rs:560:17
[INFO] [stdout]   37:     0x55c05bbd7d3b - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8fdff598fa414831
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   38:     0x55c05bbd7d3b - std::panicking::try::do_call::h455dd2f7764a950f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:487:40
[INFO] [stdout]   39:     0x55c05bbd7d3b - std::panicking::try::had6f23b7b73ae72a
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:451:19
[INFO] [stdout]   40:     0x55c05bbd7d3b - std::panic::catch_unwind::ha6a5ca3915b4dad0
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panic.rs:140:14
[INFO] [stdout]   41:     0x55c05bbd7d3b - std::thread::Builder::spawn_unchecked_::{{closure}}::h883b72ef75da6231
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   42:     0x55c05bbd7d3b - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb7dff73dc8bd2ccb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x55c05bcace53 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h39990b24eedef2ab
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   44:     0x55c05bcace53 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h01a027258444143b
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   45:     0x55c05bcace53 - std::sys::unix::thread::Thread::new::thread_start::ha4f1cdd9c25884ba
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   46:     0x7f50e2e6fb43 - <unknown>
[INFO] [stdout]   47:     0x7f50e2f00bb4 - __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.33s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin ray-tracer`
[INFO] running `Command { std: "docker" "inspect" "1857076f38395870acfe05484bdee6244be8b9e102fc06da58e2dbf93da2fa31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1857076f38395870acfe05484bdee6244be8b9e102fc06da58e2dbf93da2fa31", kill_on_drop: false }`
[INFO] [stdout] 1857076f38395870acfe05484bdee6244be8b9e102fc06da58e2dbf93da2fa31
