[INFO] cloning repository https://github.com/luqmana/rray
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/luqmana/rray" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluqmana%2Frray", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluqmana%2Frray'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 08bd23260234b94c5899e89e7d3f571268f5708d
[INFO] testing luqmana/rray against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluqmana%2Frray" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/luqmana/rray
[INFO] finished tweaking git repo https://github.com/luqmana/rray
[INFO] tweaked toml for git repo https://github.com/luqmana/rray written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/luqmana/rray on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/luqmana/rray 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: `[project]` is deprecated in favor of `[package]`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 846511e0705da759542451a29f9290573ce7c6cbfb595ad14d3b4a75c12532e8
[INFO] running `Command { std: "docker" "start" "-a" "846511e0705da759542451a29f9290573ce7c6cbfb595ad14d3b4a75c12532e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "846511e0705da759542451a29f9290573ce7c6cbfb595ad14d3b4a75c12532e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "846511e0705da759542451a29f9290573ce7c6cbfb595ad14d3b4a75c12532e8", kill_on_drop: false }`
[INFO] [stdout] 846511e0705da759542451a29f9290573ce7c6cbfb595ad14d3b4a75c12532e8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1ef2bc0aca8e34b5dd0e1677cc18c859f8a9afdce8a891cb1fd99b4aecd65f01
[INFO] running `Command { std: "docker" "start" "-a" "1ef2bc0aca8e34b5dd0e1677cc18c859f8a9afdce8a891cb1fd99b4aecd65f01", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: `[project]` is deprecated in favor of `[package]`
[INFO] [stderr]    Compiling rray v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/scene.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 | /             box Sphere {
[INFO] [stdout] 102 | |                 pos: Vec3::new(0.0, 0.0, -400.0),
[INFO] [stdout] 103 | |                 rad: 100.0,
[INFO] [stdout] 104 | |                 mat: mat1
[INFO] [stdout] 105 | |             } as Box<Object>,
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 101 ~             Box::new(Sphere {
[INFO] [stdout] 102 |                 pos: Vec3::new(0.0, 0.0, -400.0),
[INFO] [stdout] 103 |                 rad: 100.0,
[INFO] [stdout] 104 |                 mat: mat1
[INFO] [stdout] 105 ~             }) as Box<Object>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/scene.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 | /             box Sphere {
[INFO] [stdout] 107 | |                 pos: Vec3::new(200.0, 50.0, -100.0),
[INFO] [stdout] 108 | |                 rad: 150.0,
[INFO] [stdout] 109 | |                 mat: mat1
[INFO] [stdout] 110 | |             } as Box<Object>,
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 106 ~             Box::new(Sphere {
[INFO] [stdout] 107 |                 pos: Vec3::new(200.0, 50.0, -100.0),
[INFO] [stdout] 108 |                 rad: 150.0,
[INFO] [stdout] 109 |                 mat: mat1
[INFO] [stdout] 110 ~             }) as Box<Object>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/scene.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 | /             box Sphere {
[INFO] [stdout] 112 | |                 pos: Vec3::new(0.0, -1200.0, -500.0),
[INFO] [stdout] 113 | |                 rad: 1000.0,
[INFO] [stdout] 114 | |                 mat: mat2
[INFO] [stdout] 115 | |             } as Box<Object>,
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 111 ~             Box::new(Sphere {
[INFO] [stdout] 112 |                 pos: Vec3::new(0.0, -1200.0, -500.0),
[INFO] [stdout] 113 |                 rad: 1000.0,
[INFO] [stdout] 114 |                 mat: mat2
[INFO] [stdout] 115 ~             }) as Box<Object>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/scene.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 | /             box Sphere {
[INFO] [stdout] 117 | |                 pos: Vec3::new(-100.0, 25.0, -300.0),
[INFO] [stdout] 118 | |                 rad: 50.0,
[INFO] [stdout] 119 | |                 mat: mat3
[INFO] [stdout] 120 | |             } as Box<Object>,
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 116 ~             Box::new(Sphere {
[INFO] [stdout] 117 |                 pos: Vec3::new(-100.0, 25.0, -300.0),
[INFO] [stdout] 118 |                 rad: 50.0,
[INFO] [stdout] 119 |                 mat: mat3
[INFO] [stdout] 120 ~             }) as Box<Object>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/scene.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 | /             box Sphere {
[INFO] [stdout] 122 | |                 pos: Vec3::new(0.0, 100.0, -250.0),
[INFO] [stdout] 123 | |                 rad: 25.0,
[INFO] [stdout] 124 | |                 mat: mat1
[INFO] [stdout] 125 | |             } as Box<Object>
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 121 ~             Box::new(Sphere {
[INFO] [stdout] 122 |                 pos: Vec3::new(0.0, 100.0, -250.0),
[INFO] [stdout] 123 |                 rad: 25.0,
[INFO] [stdout] 124 |                 mat: mat1
[INFO] [stdout] 125 ~             }) as Box<Object>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::num::Float`
[INFO] [stdout]  --> src/geometry.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::num::Float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^ no `Float` in `num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `std::num::Float`, `std::num::One`
[INFO] [stdout]   --> src/math.rs:1:16
[INFO] [stdout]    |
[INFO] [stdout]  1 | use std::num::{Float, One};
[INFO] [stdout]    |                ^^^^^  ^^^ no `One` in `num`
[INFO] [stdout]    |                |
[INFO] [stdout]    |                no `Float` in `num`
[INFO] [stdout]    |
[INFO] [stdout] note: variant `geometry::QuadRootResult::One` exists but is inaccessible
[INFO] [stdout]   --> src/geometry.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     One(f32),
[INFO] [stdout]    |     ^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `std::num::Float`, `std::num::FloatMath`
[INFO] [stdout]  --> src/scene.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::num::{Float, FloatMath};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^^ no `FloatMath` in `num`
[INFO] [stdout]   |                |
[INFO] [stdout]   |                no `Float` in `num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::num::Float`
[INFO] [stdout]  --> src/trace.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::num::Float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^ no `Float` in `num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `uint` in this scope
[INFO] [stdout]   --> src/scene.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub width: uint,
[INFO] [stdout]    |                ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `uint` in this scope
[INFO] [stdout]   --> src/scene.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub height: uint,
[INFO] [stdout]    |                 ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `uint` in this scope
[INFO] [stdout]  --> src/trace.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn make_grid(w: uint, h: uint, x: uint, y: uint) -> Vec<Vec<Pixel>> {
[INFO] [stdout]   |                 ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `uint` in this scope
[INFO] [stdout]  --> src/trace.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn make_grid(w: uint, h: uint, x: uint, y: uint) -> Vec<Vec<Pixel>> {
[INFO] [stdout]   |                          ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `uint` in this scope
[INFO] [stdout]  --> src/trace.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn make_grid(w: uint, h: uint, x: uint, y: uint) -> Vec<Vec<Pixel>> {
[INFO] [stdout]   |                                   ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `uint` in this scope
[INFO] [stdout]  --> src/trace.rs:6:44
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn make_grid(w: uint, h: uint, x: uint, y: uint) -> Vec<Vec<Pixel>> {
[INFO] [stdout]   |                                            ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `range` in this scope
[INFO] [stdout]   --> src/rray.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 |     for y in range(0u, scene.height) {
[INFO] [stdout]    |              ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::slice::range;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `range` in this scope
[INFO] [stdout]   --> src/rray.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |         for x in range(0u, scene.width) {
[INFO] [stdout]    |                  ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::slice::range;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `int` in this scope
[INFO] [stdout]   --> src/rray.rs:31:56
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let r = (pix.x * 255.0).clamp(0., 255.) as int;
[INFO] [stdout]    |                                                        ^^^
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        not found in this scope
[INFO] [stdout]    |                                                        help: perhaps you intended to use this type: `i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `int` in this scope
[INFO] [stdout]   --> src/rray.rs:32:56
[INFO] [stdout]    |
[INFO] [stdout] 32 |             let g = (pix.y * 255.0).clamp(0., 255.) as int;
[INFO] [stdout]    |                                                        ^^^
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        not found in this scope
[INFO] [stdout]    |                                                        help: perhaps you intended to use this type: `i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `int` in this scope
[INFO] [stdout]   --> src/rray.rs:33:56
[INFO] [stdout]    |
[INFO] [stdout] 33 |             let b = (pix.z * 255.0).clamp(0., 255.) as int;
[INFO] [stdout]    |                                                        ^^^
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        not found in this scope
[INFO] [stdout]    |                                                        help: perhaps you intended to use this type: `i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `println` in module `std::io`
[INFO] [stdout]   --> src/rray.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 |     std::io::println(data.as_slice());
[INFO] [stdout]    |              ^^^^^^^ not found in `std::io`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0539]: malformed `link` attribute input
[INFO] [stdout]  --> src/rray.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![link(name = "rray", vers = "0.1")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^------------^^
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        valid arguments are "name", "kind", "modifiers", "cfg", "wasm_import_module" or "import_name_type"
[INFO] [stdout]   |
[INFO] [stdout]   = note: for more information, visit <https://doc.rust-lang.org/reference/items/external-blocks.html#the-link-attribute>
[INFO] [stdout] help: try changing it to one of the following valid forms of the attribute
[INFO] [stdout]   |
[INFO] [stdout] 1 - #![link(name = "rray", vers = "0.1")]
[INFO] [stdout] 1 + #![link(name = "...")]
[INFO] [stdout]   |
[INFO] [stdout] 1 - #![link(name = "rray", vers = "0.1")]
[INFO] [stdout] 1 + #![link(name = "...", import_name_type = "decorated|noprefix|undecorated")]
[INFO] [stdout]   |
[INFO] [stdout] 1 - #![link(name = "rray", vers = "0.1")]
[INFO] [stdout] 1 + #![link(name = "...", kind = "dylib|static|...")]
[INFO] [stdout]   |
[INFO] [stdout] 1 - #![link(name = "rray", vers = "0.1")]
[INFO] [stdout] 1 + #![link(name = "...", kind = "dylib|static|...", wasm_import_module = "...", import_name_type = "decorated|noprefix|undecorated")]
[INFO] [stdout]   |
[INFO] [stdout]   = and 1 other candidate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: invalid suffix `u` for number literal
[INFO] [stdout]   --> src/rray.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |     for y in range(0u, scene.height) {
[INFO] [stdout]    |                    ^^ invalid suffix `u`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: invalid suffix `u` for number literal
[INFO] [stdout]   --> src/rray.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 |         for x in range(0u, scene.width) {
[INFO] [stdout]    |                        ^^ invalid suffix `u`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to an `extern` block with non-Rust ABI
[INFO] [stdout]  --> src/rray.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![link(name = "rray", vers = "0.1")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not an `extern` block
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `globs` has been stable since 1.0.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/rray.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(globs)]
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/geometry.rs:8:49
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub type Intersection<'a> = (f32, Vec3f32, &'a (Object + 'a));
[INFO] [stdout]   |                                                 ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub type Intersection<'a> = (f32, Vec3f32, &'a (dyn Object + 'a));
[INFO] [stdout]   |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub primitives: Vec<Box<Object + 'static>>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub primitives: Vec<Box<dyn Object + 'static>>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/trace.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn intersect_nodes<'a>(ps: &'a [Box<Object>], ray: &Vec3f32, origin: &Vec3f32) -> Option<Intersection<'a>> {
[INFO] [stdout]    |                                     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn intersect_nodes<'a>(ps: &'a [Box<dyn Object>], ray: &Vec3f32, origin: &Vec3f32) -> Option<Intersection<'a>> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/trace.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn trace(ps: &[Box<Object>], amb: &Vec3f32, ray: &Vec3f32, origin: &Vec3f32, lights: &[Light]) -> Colour {
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn trace(ps: &[Box<dyn Object>], amb: &Vec3f32, ray: &Vec3f32, origin: &Vec3f32, lights: &[Light]) -> Colour {
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0425, E0432, E0539.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rray` (bin "rray") due to 24 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "1ef2bc0aca8e34b5dd0e1677cc18c859f8a9afdce8a891cb1fd99b4aecd65f01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ef2bc0aca8e34b5dd0e1677cc18c859f8a9afdce8a891cb1fd99b4aecd65f01", kill_on_drop: false }`
[INFO] [stdout] 1ef2bc0aca8e34b5dd0e1677cc18c859f8a9afdce8a891cb1fd99b4aecd65f01
