[INFO] cloning repository https://github.com/MarkZuber/rustray
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MarkZuber/rustray" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarkZuber%2Frustray", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarkZuber%2Frustray'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f7072eda7b6f48dba566f81cbdb6ccbb66f42896
[INFO] checking MarkZuber/rustray against try#5ec4d3b0c83717313176eefa7d71e9d36dc83355 for 155501-infallible-never-no-reservation
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarkZuber%2Frustray" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/MarkZuber/rustray
[INFO] finished tweaking git repo https://github.com/MarkZuber/rustray
[INFO] tweaked toml for git repo https://github.com/MarkZuber/rustray written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MarkZuber/rustray on toolchain 5ec4d3b0c83717313176eefa7d71e9d36dc83355
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5ec4d3b0c83717313176eefa7d71e9d36dc83355" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MarkZuber/rustray 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" "+5ec4d3b0c83717313176eefa7d71e9d36dc83355" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-5-tc2/source/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: /workspace/builds/worker-5-tc2/source/rustraylib/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+5ec4d3b0c83717313176eefa7d71e9d36dc83355" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6ef507491ff3e771f10094fd2f863af17c7ab41231970a89eeda18fba17157c4
[INFO] running `Command { std: "docker" "start" "-a" "6ef507491ff3e771f10094fd2f863af17c7ab41231970a89eeda18fba17157c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6ef507491ff3e771f10094fd2f863af17c7ab41231970a89eeda18fba17157c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ef507491ff3e771f10094fd2f863af17c7ab41231970a89eeda18fba17157c4", kill_on_drop: false }`
[INFO] [stdout] 6ef507491ff3e771f10094fd2f863af17c7ab41231970a89eeda18fba17157c4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+5ec4d3b0c83717313176eefa7d71e9d36dc83355" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 843e2689d0bce74633f64f0d491b53367399a1b026f9d700181c4122bc4a5b5e
[INFO] running `Command { std: "docker" "start" "-a" "843e2689d0bce74633f64f0d491b53367399a1b026f9d700181c4122bc4a5b5e", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: /opt/rustwide/workdir/rustraylib/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Checking num-traits v0.2.2
[INFO] [stderr]     Checking cfg-if v0.1.2
[INFO] [stderr]     Checking nodrop v0.1.12
[INFO] [stderr]     Checking libc v0.2.39
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]    Compiling rayon-core v1.4.0
[INFO] [stderr]     Checking crossbeam-utils v0.2.2
[INFO] [stderr]     Checking arrayvec v0.4.7
[INFO] [stderr]     Checking lazy_static v1.0.0
[INFO] [stderr]     Checking byteorder v1.2.1
[INFO] [stderr]     Checking adler32 v1.0.2
[INFO] [stderr]     Checking either v1.4.0
[INFO] [stderr]     Checking inflate v0.3.4
[INFO] [stderr]     Checking bitflags v1.0.1
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]     Checking color_quant v1.0.0
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking elapsed v0.1.2
[INFO] [stderr]     Checking gif v0.9.2
[INFO] [stderr]     Checking deflate v0.7.17
[INFO] [stderr]     Checking crossbeam-epoch v0.3.0
[INFO] [stderr]     Checking num_cpus v1.8.0
[INFO] [stderr]     Checking rand v0.4.2
[INFO] [stderr]     Checking crossbeam-deque v0.2.0
[INFO] [stderr]     Checking num-integer v0.1.36
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking num-iter v0.1.35
[INFO] [stderr]     Checking num-rational v0.1.42
[INFO] [stderr]     Checking png v0.11.0
[INFO] [stderr]     Checking rayon v1.0.1
[INFO] [stderr]     Checking jpeg-decoder v0.1.14
[INFO] [stderr]     Checking image v0.18.0
[INFO] [stderr]     Checking rustraylib v0.1.0 (/opt/rustwide/workdir/rustraylib)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/scene.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |   shape: Arc<Box<Shape>>,
[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] 27 |   shape: Arc<Box<dyn Shape>>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/scene.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |   pub light: Arc<Box<Light>>,
[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] 64 |   pub light: Arc<Box<dyn Light>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:280:27
[INFO] [stdout]     |
[INFO] [stdout] 280 |   pub front_material: Arc<Material>,
[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] 280 |   pub front_material: Arc<dyn Material>,
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:281:26
[INFO] [stdout]     |
[INFO] [stdout] 281 |   pub back_material: Arc<Material>,
[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] 281 |   pub back_material: Arc<dyn Material>,
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:452:21
[INFO] [stdout]     |
[INFO] [stdout] 452 |   pub material: Arc<Material>,
[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] 452 |   pub material: Arc<dyn Material>,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:500:21
[INFO] [stdout]     |
[INFO] [stdout] 500 |   pub material: Arc<Material>,
[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] 500 |   pub material: Arc<dyn Material>,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/threading.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | type Job = Box<FnBox + Send + '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] 26 | type Job = Box<dyn FnBox + Send + 'static>;
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:270:33
[INFO] [stdout]     |
[INFO] [stdout] 270 |   fn get_material(&self) -> Arc<Material>;
[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] 270 |   fn get_material(&self) -> Arc<dyn Material>;
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:422:33
[INFO] [stdout]     |
[INFO] [stdout] 422 |   fn get_material(&self) -> Arc<Material> {
[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] 422 |   fn get_material(&self) -> Arc<dyn Material> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:486:33
[INFO] [stdout]     |
[INFO] [stdout] 486 |   fn get_material(&self) -> Arc<Material> {
[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] 486 |   fn get_material(&self) -> Arc<dyn Material> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:538:33
[INFO] [stdout]     |
[INFO] [stdout] 538 |   fn get_material(&self) -> Arc<Material> {
[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] 538 |   fn get_material(&self) -> Arc<dyn Material> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/scene.rs:33:29
[INFO] [stdout]    |
[INFO] [stdout] 33 |   pub fn new(shape: Arc<Box<Shape>>, id: u32) -> CompiledShape {
[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] 33 |   pub fn new(shape: Arc<Box<dyn Shape>>, id: u32) -> CompiledShape {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/scene.rs:49:37
[INFO] [stdout]    |
[INFO] [stdout] 49 |   pub fn get_material(&self) -> Arc<Material> {
[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] 49 |   pub fn get_material(&self) -> Arc<dyn Material> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/scene.rs:69:29
[INFO] [stdout]    |
[INFO] [stdout] 69 |   pub fn new(light: Arc<Box<Light>>, id: u32) -> CompiledLight {
[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] 69 |   pub fn new(light: Arc<Box<dyn Light>>, id: u32) -> CompiledLight {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/scene.rs:94:54
[INFO] [stdout]    |
[INFO] [stdout] 94 |   pub fn new(background: Background, shapes: Vec<Box<Shape>>, lights: Vec<Box<Light>>) -> Scene {
[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] 94 |   pub fn new(background: Background, shapes: Vec<Box<dyn Shape>>, lights: Vec<Box<Light>>) -> Scene {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/scene.rs:94:79
[INFO] [stdout]    |
[INFO] [stdout] 94 |   pub fn new(background: Background, shapes: Vec<Box<Shape>>, lights: Vec<Box<Light>>) -> Scene {
[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] 94 |   pub fn new(background: Background, shapes: Vec<Box<Shape>>, lights: Vec<Box<dyn Light>>) -> Scene {
[INFO] [stdout]    |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/shapes.rs:52:37
[INFO] [stdout]    |
[INFO] [stdout] 52 |   pub fn from_shape(shape: &Arc<Box<Shape>>) -> BoundingBox {
[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] 52 |   pub fn from_shape(shape: &Arc<Box<dyn Shape>>) -> BoundingBox {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:299:25
[INFO] [stdout]     |
[INFO] [stdout] 299 |     front_material: Arc<Material>,
[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] 299 |     front_material: Arc<dyn Material>,
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:300:24
[INFO] [stdout]     |
[INFO] [stdout] 300 |     back_material: Arc<Material>,
[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] 300 |     back_material: Arc<dyn Material>,
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/scene.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |   let mut shapes: Vec<Box<Shape>> = Vec::new();
[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] 141 |   let mut shapes: Vec<Box<dyn Shape>> = Vec::new();
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/scene.rs:227:27
[INFO] [stdout]     |
[INFO] [stdout] 227 |   let mut lights: Vec<Box<Light>> = Vec::new();
[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] 227 |   let mut lights: Vec<Box<dyn Light>> = Vec::new();
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/scene.rs:254:27
[INFO] [stdout]     |
[INFO] [stdout] 254 |   let mut shapes: Vec<Box<Shape>> = Vec::new();
[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] 254 |   let mut shapes: Vec<Box<dyn Shape>> = Vec::new();
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/scene.rs:318:27
[INFO] [stdout]     |
[INFO] [stdout] 318 |   let mut lights: Vec<Box<Light>> = Vec::new();
[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] 318 |   let mut lights: Vec<Box<dyn Light>> = Vec::new();
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/nffparsing.rs:42:27
[INFO] [stdout]    |
[INFO] [stdout] 42 |   let mut shapes: Vec<Box<Shape>> = Vec::new();
[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] 42 |   let mut shapes: Vec<Box<dyn Shape>> = Vec::new();
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/nffparsing.rs:43:27
[INFO] [stdout]    |
[INFO] [stdout] 43 |   let mut lights: Vec<Box<Light>> = Vec::new();
[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] 43 |   let mut lights: Vec<Box<dyn Light>> = Vec::new();
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/scene.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |   shape: Arc<Box<Shape>>,
[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] 27 |   shape: Arc<Box<dyn Shape>>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/scene.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |   pub light: Arc<Box<Light>>,
[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] 64 |   pub light: Arc<Box<dyn Light>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:280:27
[INFO] [stdout]     |
[INFO] [stdout] 280 |   pub front_material: Arc<Material>,
[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] 280 |   pub front_material: Arc<dyn Material>,
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:281:26
[INFO] [stdout]     |
[INFO] [stdout] 281 |   pub back_material: Arc<Material>,
[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] 281 |   pub back_material: Arc<dyn Material>,
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:452:21
[INFO] [stdout]     |
[INFO] [stdout] 452 |   pub material: Arc<Material>,
[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] 452 |   pub material: Arc<dyn Material>,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:500:21
[INFO] [stdout]     |
[INFO] [stdout] 500 |   pub material: Arc<Material>,
[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] 500 |   pub material: Arc<dyn Material>,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/threading.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | type Job = Box<FnBox + Send + '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] 26 | type Job = Box<dyn FnBox + Send + 'static>;
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> rustraylib/src/nffparsing.rs:182:17
[INFO] [stdout]     |
[INFO] [stdout] 182 |             let mut first_vert = poly_vectors[0];
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `edge_ab`, `edge_bc`, `edge_ca`, and `magnitude` are never read
[INFO] [stdout]    --> rustraylib/src/shapes.rs:284:3
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct TriangleShape {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 284 |   edge_ab: PosVector,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout] 285 |   edge_bc: PosVector,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout] 286 |   edge_ca: PosVector,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout] 287 |   normal: PosVector,
[INFO] [stdout] 288 |   magnitude: f64,
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TriangleShape` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&CompiledShape` instead of cloning the inner type
[INFO] [stdout]    --> rustraylib/src/tracer.rs:200:19
[INFO] [stdout]     |
[INFO] [stdout] 200 |               elem.clone().get_material().get_refraction(),
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&CompiledShape` instead of cloning the inner type
[INFO] [stdout]    --> rustraylib/src/tracer.rs:202:32
[INFO] [stdout]     |
[INFO] [stdout] 202 |             let mut refr = elem.clone().intersect(&refraction_ray);
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&CompiledShape` instead of cloning the inner type
[INFO] [stdout]    --> rustraylib/src/tracer.rs:283:30
[INFO] [stdout]     |
[INFO] [stdout] 283 |                 if shadowelem.clone().get_id() != elem.get_id() {
[INFO] [stdout]     |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&CompiledShape` instead of cloning the inner type
[INFO] [stdout]    --> rustraylib/src/tracer.rs:284:41
[INFO] [stdout]     |
[INFO] [stdout] 284 |                   let trans = shadowelem.clone().get_material().get_transparency();
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&CompiledShape` instead of cloning the inner type
[INFO] [stdout]    --> rustraylib/src/tracer.rs:293:51
[INFO] [stdout]     |
[INFO] [stdout] 293 |         color = self.render_highlights(color, elem.clone(), &shadow_intersection, light);
[INFO] [stdout]     |                                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:270:33
[INFO] [stdout]     |
[INFO] [stdout] 270 |   fn get_material(&self) -> Arc<Material>;
[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] 270 |   fn get_material(&self) -> Arc<dyn Material>;
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:422:33
[INFO] [stdout]     |
[INFO] [stdout] 422 |   fn get_material(&self) -> Arc<Material> {
[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] 422 |   fn get_material(&self) -> Arc<dyn Material> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:486:33
[INFO] [stdout]     |
[INFO] [stdout] 486 |   fn get_material(&self) -> Arc<Material> {
[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] 486 |   fn get_material(&self) -> Arc<dyn Material> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rustray v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:538:33
[INFO] [stdout]     |
[INFO] [stdout] 538 |   fn get_material(&self) -> Arc<Material> {
[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] 538 |   fn get_material(&self) -> Arc<dyn Material> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/scene.rs:33:29
[INFO] [stdout]    |
[INFO] [stdout] 33 |   pub fn new(shape: Arc<Box<Shape>>, id: u32) -> CompiledShape {
[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] 33 |   pub fn new(shape: Arc<Box<dyn Shape>>, id: u32) -> CompiledShape {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/scene.rs:49:37
[INFO] [stdout]    |
[INFO] [stdout] 49 |   pub fn get_material(&self) -> Arc<Material> {
[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] 49 |   pub fn get_material(&self) -> Arc<dyn Material> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/scene.rs:69:29
[INFO] [stdout]    |
[INFO] [stdout] 69 |   pub fn new(light: Arc<Box<Light>>, id: u32) -> CompiledLight {
[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] 69 |   pub fn new(light: Arc<Box<dyn Light>>, id: u32) -> CompiledLight {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/scene.rs:94:54
[INFO] [stdout]    |
[INFO] [stdout] 94 |   pub fn new(background: Background, shapes: Vec<Box<Shape>>, lights: Vec<Box<Light>>) -> Scene {
[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] 94 |   pub fn new(background: Background, shapes: Vec<Box<dyn Shape>>, lights: Vec<Box<Light>>) -> Scene {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/scene.rs:94:79
[INFO] [stdout]    |
[INFO] [stdout] 94 |   pub fn new(background: Background, shapes: Vec<Box<Shape>>, lights: Vec<Box<Light>>) -> Scene {
[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] 94 |   pub fn new(background: Background, shapes: Vec<Box<Shape>>, lights: Vec<Box<dyn Light>>) -> Scene {
[INFO] [stdout]    |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/shapes.rs:52:37
[INFO] [stdout]    |
[INFO] [stdout] 52 |   pub fn from_shape(shape: &Arc<Box<Shape>>) -> BoundingBox {
[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] 52 |   pub fn from_shape(shape: &Arc<Box<dyn Shape>>) -> BoundingBox {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:299:25
[INFO] [stdout]     |
[INFO] [stdout] 299 |     front_material: Arc<Material>,
[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] 299 |     front_material: Arc<dyn Material>,
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/shapes.rs:300:24
[INFO] [stdout]     |
[INFO] [stdout] 300 |     back_material: Arc<Material>,
[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] 300 |     back_material: Arc<dyn Material>,
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/scene.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |   let mut shapes: Vec<Box<Shape>> = Vec::new();
[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] 141 |   let mut shapes: Vec<Box<dyn Shape>> = Vec::new();
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/scene.rs:227:27
[INFO] [stdout]     |
[INFO] [stdout] 227 |   let mut lights: Vec<Box<Light>> = Vec::new();
[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] 227 |   let mut lights: Vec<Box<dyn Light>> = Vec::new();
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/scene.rs:254:27
[INFO] [stdout]     |
[INFO] [stdout] 254 |   let mut shapes: Vec<Box<Shape>> = Vec::new();
[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] 254 |   let mut shapes: Vec<Box<dyn Shape>> = Vec::new();
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> rustraylib/src/scene.rs:318:27
[INFO] [stdout]     |
[INFO] [stdout] 318 |   let mut lights: Vec<Box<Light>> = Vec::new();
[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] 318 |   let mut lights: Vec<Box<dyn Light>> = Vec::new();
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/nffparsing.rs:42:27
[INFO] [stdout]    |
[INFO] [stdout] 42 |   let mut shapes: Vec<Box<Shape>> = Vec::new();
[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] 42 |   let mut shapes: Vec<Box<dyn Shape>> = Vec::new();
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustraylib/src/nffparsing.rs:43:27
[INFO] [stdout]    |
[INFO] [stdout] 43 |   let mut lights: Vec<Box<Light>> = Vec::new();
[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] 43 |   let mut lights: Vec<Box<dyn Light>> = Vec::new();
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> rustraylib/src/nffparsing.rs:182:17
[INFO] [stdout]     |
[INFO] [stdout] 182 |             let mut first_vert = poly_vectors[0];
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `edge_ab`, `edge_bc`, `edge_ca`, and `magnitude` are never read
[INFO] [stdout]    --> rustraylib/src/shapes.rs:284:3
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct TriangleShape {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 284 |   edge_ab: PosVector,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout] 285 |   edge_bc: PosVector,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout] 286 |   edge_ca: PosVector,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout] 287 |   normal: PosVector,
[INFO] [stdout] 288 |   magnitude: f64,
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TriangleShape` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&CompiledShape` instead of cloning the inner type
[INFO] [stdout]    --> rustraylib/src/tracer.rs:200:19
[INFO] [stdout]     |
[INFO] [stdout] 200 |               elem.clone().get_material().get_refraction(),
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&CompiledShape` instead of cloning the inner type
[INFO] [stdout]    --> rustraylib/src/tracer.rs:202:32
[INFO] [stdout]     |
[INFO] [stdout] 202 |             let mut refr = elem.clone().intersect(&refraction_ray);
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&CompiledShape` instead of cloning the inner type
[INFO] [stdout]    --> rustraylib/src/tracer.rs:283:30
[INFO] [stdout]     |
[INFO] [stdout] 283 |                 if shadowelem.clone().get_id() != elem.get_id() {
[INFO] [stdout]     |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&CompiledShape` instead of cloning the inner type
[INFO] [stdout]    --> rustraylib/src/tracer.rs:284:41
[INFO] [stdout]     |
[INFO] [stdout] 284 |                   let trans = shadowelem.clone().get_material().get_transparency();
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&CompiledShape` instead of cloning the inner type
[INFO] [stdout]    --> rustraylib/src/tracer.rs:293:51
[INFO] [stdout]     |
[INFO] [stdout] 293 |         color = self.render_highlights(color, elem.clone(), &shadow_intersection, light);
[INFO] [stdout]     |                                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.70s
[INFO] running `Command { std: "docker" "inspect" "843e2689d0bce74633f64f0d491b53367399a1b026f9d700181c4122bc4a5b5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "843e2689d0bce74633f64f0d491b53367399a1b026f9d700181c4122bc4a5b5e", kill_on_drop: false }`
[INFO] [stdout] 843e2689d0bce74633f64f0d491b53367399a1b026f9d700181c4122bc4a5b5e
