[INFO] fetching crate arendur 0.0.5...
[INFO] checking arendur-0.0.5 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate arendur 0.0.5 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate arendur 0.0.5 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate arendur 0.0.5
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate arendur 0.0.5
[INFO] tweaked toml for crates.io crate arendur 0.0.5 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rayon v0.7.1
[INFO] [stderr]   Downloaded tobj v0.1.12
[INFO] [stderr]   Downloaded enum_primitive v0.1.1
[INFO] [stderr]   Downloaded copy_arena v0.1.1
[INFO] [stderr]   Downloaded image v0.12.4
[INFO] [stderr]   Downloaded cgmath v0.14.1
[INFO] [stderr]   Downloaded ucd-util v0.1.10
[INFO] [stderr]   Downloaded utf8-ranges v1.0.5
[INFO] [stderr]   Downloaded env_logger v0.4.3
[INFO] [stderr]   Downloaded num-rational v0.1.42
[INFO] [stderr]   Downloaded inflate v0.1.1
[INFO] [stderr]   Downloaded regex-syntax v0.5.6
[INFO] [stderr]   Downloaded regex v0.2.11
[INFO] [stderr]   Downloaded png v0.6.2
[INFO] [stderr]   Downloaded aren_alloc v0.2.1
[INFO] [stderr]   Downloaded flame v0.1.12
[INFO] [stderr]   Downloaded gif v0.9.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b9e79ab4114a9a37e8da046c987c0338b1147a06cfc45c6dda21a72547af9747
[INFO] running `Command { std: "docker" "start" "-a" "b9e79ab4114a9a37e8da046c987c0338b1147a06cfc45c6dda21a72547af9747", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b9e79ab4114a9a37e8da046c987c0338b1147a06cfc45c6dda21a72547af9747", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9e79ab4114a9a37e8da046c987c0338b1147a06cfc45c6dda21a72547af9747", kill_on_drop: false }`
[INFO] [stdout] b9e79ab4114a9a37e8da046c987c0338b1147a06cfc45c6dda21a72547af9747
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 46362df81f061a48a6bec83213c90f0317ba0594d788d696b76889b04d39efac
[INFO] running `Command { std: "docker" "start" "-a" "46362df81f061a48a6bec83213c90f0317ba0594d788d696b76889b04d39efac", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.2.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling proc-macro2 v1.0.79
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]     Checking bitflags v0.7.0
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]     Checking ucd-util v0.1.10
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]     Checking inflate v0.1.1
[INFO] [stderr]    Compiling serde_json v1.0.115
[INFO] [stderr]     Checking regex-syntax v0.5.6
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking ryu v1.0.17
[INFO] [stderr]     Checking gif v0.9.2
[INFO] [stderr]     Checking unicode-width v0.1.11
[INFO] [stderr]     Checking utf8-ranges v1.0.5
[INFO] [stderr]     Checking deflate v0.7.20
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking approx v0.1.1
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking aren_alloc v0.2.1
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking tobj v0.1.12
[INFO] [stderr]     Checking copy_arena v0.1.1
[INFO] [stderr]     Checking aho-corasick v0.6.10
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking thread-id v3.3.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling syn v2.0.57
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking rayon v0.7.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking num-rational v0.1.42
[INFO] [stderr]     Checking png v0.6.2
[INFO] [stderr]     Checking env_logger v0.4.3
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking image v0.12.4
[INFO] [stderr]     Checking cgmath v0.14.1
[INFO] [stderr]     Checking flame v0.1.12
[INFO] [stderr]     Checking arendur v0.0.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]   --> src/lib.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | #![feature(specialization)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]    = help: consider using `min_specialization` instead, which is more stable and complete
[INFO] [stdout]    = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `num_traits` is imported redundantly
[INFO] [stdout]   --> src/geometry/float.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use num_traits;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | extern crate num_traits;
[INFO] [stdout]    | ------------------------ the item `num_traits` is already imported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `cgmath` is imported redundantly
[INFO] [stdout]   --> src/geometry/foundamental.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use cgmath;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | extern crate cgmath;
[INFO] [stdout]    | -------------------- the item `cgmath` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/shape/sphere.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde` is imported redundantly
[INFO] [stdout]   --> src/shape/sphere.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | extern crate serde;
[INFO] [stdout]    | ------------------- the item `serde` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `tobj` is imported redundantly
[INFO] [stdout]   --> src/shape/triangle.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tobj;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | extern crate tobj;
[INFO] [stdout]    | ------------------ the item `tobj` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/shape/triangle.rs:499:13
[INFO] [stdout]     |
[INFO] [stdout] 499 | ...   (norms[self.vidx(0)] * barycentrc.x + norms[self.vidx(1)] * barycentrc.y + norms[self.vidx(2)] * (1. as Float - barycentrc.x - barycentrc.y))
[INFO] [stdout]     |       ^                                                                                                                                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 499 -             (norms[self.vidx(0)] * barycentrc.x + norms[self.vidx(1)] * barycentrc.y + norms[self.vidx(2)] * (1. as Float - barycentrc.x - barycentrc.y))
[INFO] [stdout] 499 +             norms[self.vidx(0)] * barycentrc.x + norms[self.vidx(1)] * barycentrc.y + norms[self.vidx(2)] * (1. as Float - barycentrc.x - barycentrc.y)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]   --> src/component/shape.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use super::*;
[INFO] [stdout]    |     -------- the item `Arc` is already imported here
[INFO] [stdout] 13 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Texture` is imported redundantly
[INFO] [stdout]   --> src/component/shape.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use super::*;
[INFO] [stdout]    |     -------- the item `Texture` is already imported here
[INFO] [stdout] 13 | use std::sync::Arc;
[INFO] [stdout] 14 | use texturing::Texture;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]   --> src/component/transformed.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use super::*;
[INFO] [stdout]    |     -------- the item `Arc` is already imported here
[INFO] [stdout] 13 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/spectrum/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `image` is imported redundantly
[INFO] [stdout]   --> src/spectrum/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use image;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | extern crate image;
[INFO] [stdout]    | ------------------- the item `image` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]   --> src/lib.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | #![feature(specialization)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]    = help: consider using `min_specialization` instead, which is more stable and complete
[INFO] [stdout]    = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `num_traits` is imported redundantly
[INFO] [stdout]   --> src/geometry/float.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use num_traits;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | extern crate num_traits;
[INFO] [stdout]    | ------------------------ the item `num_traits` is already imported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/filming/perspective.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde` is imported redundantly
[INFO] [stdout]   --> src/filming/perspective.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use serde;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | extern crate serde;
[INFO] [stdout]    | ------------------- the item `serde` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `cgmath` is imported redundantly
[INFO] [stdout]   --> src/geometry/foundamental.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use cgmath;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | extern crate cgmath;
[INFO] [stdout]    | -------------------- the item `cgmath` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `image` is imported redundantly
[INFO] [stdout]   --> src/filming/film.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use image;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | extern crate image;
[INFO] [stdout]    | ------------------- the item `image` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/shape/sphere.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde` is imported redundantly
[INFO] [stdout]   --> src/shape/sphere.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | extern crate serde;
[INFO] [stdout]    | ------------------- the item `serde` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Send` is imported redundantly
[INFO] [stdout]    --> src/filming/film.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 288 | use std::marker::Send;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout]     = note: the item `Send` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `tobj` is imported redundantly
[INFO] [stdout]   --> src/shape/triangle.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tobj;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | extern crate tobj;
[INFO] [stdout]    | ------------------ the item `tobj` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/sample/strata.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde` is imported redundantly
[INFO] [stdout]   --> src/sample/strata.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use serde;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | extern crate serde;
[INFO] [stdout]    | ------------------- the item `serde` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/shape/triangle.rs:499:13
[INFO] [stdout]     |
[INFO] [stdout] 499 | ...   (norms[self.vidx(0)] * barycentrc.x + norms[self.vidx(1)] * barycentrc.y + norms[self.vidx(2)] * (1. as Float - barycentrc.x - barycentrc.y))
[INFO] [stdout]     |       ^                                                                                                                                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 499 -             (norms[self.vidx(0)] * barycentrc.x + norms[self.vidx(1)] * barycentrc.y + norms[self.vidx(2)] * (1. as Float - barycentrc.x - barycentrc.y))
[INFO] [stdout] 499 +             norms[self.vidx(0)] * barycentrc.x + norms[self.vidx(1)] * barycentrc.y + norms[self.vidx(2)] * (1. as Float - barycentrc.x - barycentrc.y)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]   --> src/component/shape.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use super::*;
[INFO] [stdout]    |     -------- the item `Arc` is already imported here
[INFO] [stdout] 13 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Texture` is imported redundantly
[INFO] [stdout]   --> src/component/shape.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use super::*;
[INFO] [stdout]    |     -------- the item `Texture` is already imported here
[INFO] [stdout] 13 | use std::sync::Arc;
[INFO] [stdout] 14 | use texturing::Texture;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]   --> src/component/transformed.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use super::*;
[INFO] [stdout]    |     -------- the item `Arc` is already imported here
[INFO] [stdout] 13 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/spectrum/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `image` is imported redundantly
[INFO] [stdout]   --> src/spectrum/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use image;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | extern crate image;
[INFO] [stdout]    | ------------------- the item `image` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/sample/filters.rs:216:33
[INFO] [stdout]     |
[INFO] [stdout] 216 |         LanczosSincFilter::sinc((x*inv_tau))
[INFO] [stdout]     |                                 ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 216 -         LanczosSincFilter::sinc((x*inv_tau))
[INFO] [stdout] 216 +         LanczosSincFilter::sinc(x*inv_tau)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/sample/sink.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/filming/perspective.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde` is imported redundantly
[INFO] [stdout]   --> src/filming/perspective.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use serde;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | extern crate serde;
[INFO] [stdout]    | ------------------- the item `serde` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `image` is imported redundantly
[INFO] [stdout]   --> src/filming/film.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use image;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | extern crate image;
[INFO] [stdout]    | ------------------- the item `image` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Send` is imported redundantly
[INFO] [stdout]    --> src/filming/film.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 288 | use std::marker::Send;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout]     = note: the item `Send` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bxdf/mod.rs:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | / bitflags! {
[INFO] [stdout] 120 | |     pub flags BxdfType: u32 {
[INFO] [stdout] 121 | |         const BXDF_REFLECTION = 0x01,
[INFO] [stdout] 122 | |         const BXDF_TRANSMISSION = 0x02,
[INFO] [stdout] ...   |
[INFO] [stdout] 131 | |     }
[INFO] [stdout] 132 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/filming/tests.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::projective::*`
[INFO] [stdout]   --> src/filming/tests.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     use super::projective::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::perspective::*`
[INFO] [stdout]   --> src/filming/tests.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     use super::perspective::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bxdf/mod.rs:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | / bitflags! {
[INFO] [stdout] 120 | |     pub flags BxdfType: u32 {
[INFO] [stdout] 121 | |         const BXDF_REFLECTION = 0x01,
[INFO] [stdout] 122 | |         const BXDF_TRANSMISSION = 0x02,
[INFO] [stdout] ...   |
[INFO] [stdout] 131 | |     }
[INFO] [stdout] 132 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/sample/strata.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde` is imported redundantly
[INFO] [stdout]   --> src/sample/strata.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use serde;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | extern crate serde;
[INFO] [stdout]    | ------------------- the item `serde` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Spectrum` is imported redundantly
[INFO] [stdout]   --> src/bxdf/fresnel.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use spectrum::{Spectrum, RGBSpectrumf};
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 13 | use super::*;
[INFO] [stdout]    |     -------- the item `Spectrum` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `RGBSpectrumf` is imported redundantly
[INFO] [stdout]   --> src/bxdf/fresnel.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | use spectrum::{Spectrum, RGBSpectrumf};
[INFO] [stdout]    |                          ^^^^^^^^^^^^
[INFO] [stdout] 13 | use super::*;
[INFO] [stdout]    |     -------- the item `RGBSpectrumf` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Spectrum` is imported redundantly
[INFO] [stdout]   --> src/bxdf/specular.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::*;
[INFO] [stdout]    |     -------- the item `Spectrum` is already imported here
[INFO] [stdout] 12 | use super::fresnel::*;
[INFO] [stdout] 13 | use spectrum::Spectrum;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]   --> src/material/matte.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 11 | use spectrum::RGBSpectrumf;
[INFO] [stdout] 12 | use super::*;
[INFO] [stdout]    |     -------- the item `Arc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/sample/filters.rs:216:33
[INFO] [stdout]     |
[INFO] [stdout] 216 |         LanczosSincFilter::sinc((x*inv_tau))
[INFO] [stdout]     |                                 ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 216 -         LanczosSincFilter::sinc((x*inv_tau))
[INFO] [stdout] 216 +         LanczosSincFilter::sinc(x*inv_tau)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]   --> src/material/plastic.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 12 | use spectrum::RGBSpectrumf;
[INFO] [stdout] 13 | use super::*;
[INFO] [stdout]    |     -------- the item `Arc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]   --> src/material/glass.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 12 | use spectrum::prelude::*;
[INFO] [stdout] 13 | use super::*;
[INFO] [stdout]    |     -------- the item `Arc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]   --> src/material/translucent.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 12 | use spectrum::RGBSpectrumf;
[INFO] [stdout] 13 | use super::*;
[INFO] [stdout]    |     -------- the item `Arc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/sample/sink.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]   --> src/texturing/textures/image.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use texturing::*;
[INFO] [stdout]    |     ------------ the item `Arc` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 16 | use std::sync::{Arc, Weak};
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bxdf/mod.rs:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | / bitflags! {
[INFO] [stdout] 120 | |     pub flags BxdfType: u32 {
[INFO] [stdout] 121 | |         const BXDF_REFLECTION = 0x01,
[INFO] [stdout] 122 | |         const BXDF_TRANSMISSION = 0x02,
[INFO] [stdout] ...   |
[INFO] [stdout] 131 | |     }
[INFO] [stdout] 132 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bxdf/mod.rs:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | / bitflags! {
[INFO] [stdout] 120 | |     pub flags BxdfType: u32 {
[INFO] [stdout] 121 | |         const BXDF_REFLECTION = 0x01,
[INFO] [stdout] 122 | |         const BXDF_TRANSMISSION = 0x02,
[INFO] [stdout] ...   |
[INFO] [stdout] 131 | |     }
[INFO] [stdout] 132 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Spectrum` is imported redundantly
[INFO] [stdout]   --> src/bxdf/fresnel.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use spectrum::{Spectrum, RGBSpectrumf};
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 13 | use super::*;
[INFO] [stdout]    |     -------- the item `Spectrum` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lighting/mod.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | / bitflags! {
[INFO] [stdout] 85 | |     pub flags LightFlag: u32 {
[INFO] [stdout] 86 | |         const LIGHT_DPOS = 0x1,
[INFO] [stdout] 87 | |         const LIGHT_DDIR = 0x2,
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | |     }
[INFO] [stdout] 91 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `RGBSpectrumf` is imported redundantly
[INFO] [stdout]   --> src/bxdf/fresnel.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | use spectrum::{Spectrum, RGBSpectrumf};
[INFO] [stdout]    |                          ^^^^^^^^^^^^
[INFO] [stdout] 13 | use super::*;
[INFO] [stdout]    |     -------- the item `RGBSpectrumf` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Spectrum` is imported redundantly
[INFO] [stdout]   --> src/bxdf/specular.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::*;
[INFO] [stdout]    |     -------- the item `Spectrum` is already imported here
[INFO] [stdout] 12 | use super::fresnel::*;
[INFO] [stdout] 13 | use spectrum::Spectrum;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]   --> src/material/matte.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 11 | use spectrum::RGBSpectrumf;
[INFO] [stdout] 12 | use super::*;
[INFO] [stdout]    |     -------- the item `Arc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lighting/mod.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | / bitflags! {
[INFO] [stdout] 85 | |     pub flags LightFlag: u32 {
[INFO] [stdout] 86 | |         const LIGHT_DPOS = 0x1,
[INFO] [stdout] 87 | |         const LIGHT_DDIR = 0x2,
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | |     }
[INFO] [stdout] 91 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]   --> src/material/plastic.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 12 | use spectrum::RGBSpectrumf;
[INFO] [stdout] 13 | use super::*;
[INFO] [stdout]    |     -------- the item `Arc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]   --> src/material/glass.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 12 | use spectrum::prelude::*;
[INFO] [stdout] 13 | use super::*;
[INFO] [stdout]    |     -------- the item `Arc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]   --> src/material/translucent.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 12 | use spectrum::RGBSpectrumf;
[INFO] [stdout] 13 | use super::*;
[INFO] [stdout]    |     -------- the item `Arc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lighting/distantlight.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         /// extend accordingly
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |         let pdisk = self.world_center + self.world_radius*(pdisk.x * u + pdisk.y * v);
[INFO] [stdout]    |         ------------------------------------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]   --> src/texturing/textures/image.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use texturing::*;
[INFO] [stdout]    |     ------------ the item `Arc` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 16 | use std::sync::{Arc, Weak};
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lighting/mod.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | / bitflags! {
[INFO] [stdout] 85 | |     pub flags LightFlag: u32 {
[INFO] [stdout] 86 | |         const LIGHT_DPOS = 0x1,
[INFO] [stdout] 87 | |         const LIGHT_DDIR = 0x2,
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | |     }
[INFO] [stdout] 91 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lighting/mod.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | / bitflags! {
[INFO] [stdout] 85 | |     pub flags LightFlag: u32 {
[INFO] [stdout] 86 | |         const LIGHT_DPOS = 0x1,
[INFO] [stdout] 87 | |         const LIGHT_DDIR = 0x2,
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | |     }
[INFO] [stdout] 91 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lighting/distantlight.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         /// extend accordingly
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |         let pdisk = self.world_center + self.world_radius*(pdisk.x * u + pdisk.y * v);
[INFO] [stdout]    |         ------------------------------------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/geometry/ray.rs:79:31
[INFO] [stdout]    |
[INFO] [stdout] 79 |             stc: unsafe {mem::uninitialized()},
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/component/bvh.rs:179:18
[INFO] [stdout]     |
[INFO] [stdout] 179 |             mem::uninitialized()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/component/bvh.rs:353:32
[INFO] [stdout]     |
[INFO] [stdout] 353 |             bound: unsafe{mem::uninitialized()},
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/filming/film.rs:211:23
[INFO] [stdout]     |
[INFO] [stdout] 211 |             vec![mem::uninitialized(); (diagonal.x * diagonal.y) as usize]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/sample/strata.rs:172:32
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 vec![std::mem::uninitialized(); nsample]
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/sample/strata.rs:183:32
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 vec![std::mem::uninitialized(); nsample]
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/sample/strata.rs:236:28
[INFO] [stdout]     |
[INFO] [stdout] 236 |             vec![std::mem::uninitialized(); buf.len()]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/sample/filters.rs:268:37
[INFO] [stdout]     |
[INFO] [stdout] 268 |             buf: unsafe { vec![mem::uninitialized(); PREC_FILTER_SIZE] },
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/sample/sink.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 |             vec![std::mem::uninitialized(); ndim * nsample]
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/texturing/textures/image.rs:631:1
[INFO] [stdout]     |
[INFO] [stdout] 631 | / lazy_static! {
[INFO] [stdout] 632 | |     static ref WEIGHT_LUT: Vec<Float> = {
[INFO] [stdout] 633 | |         let mut v = Vec::with_capacity(WEIGHT_LUT_SIZE);
[INFO] [stdout] 634 | |         for i in 0..WEIGHT_LUT_SIZE {
[INFO] [stdout] ...   |
[INFO] [stdout] 640 | |     };
[INFO] [stdout] 641 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` has no effect when applied to an implementation block
[INFO] [stdout]    --> src/lighting/mod.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | #[must_use]
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `float_bits_conv` has been stable since 1.20.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | #![feature(float_bits_conv)]
[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/interaction.rs:119:35
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub primitive_hit: Option<&'b Primitive>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub primitive_hit: Option<&'b dyn Primitive>,
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shape/triangle.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |     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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     material: Arc<dyn Material>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shape/triangle.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |     lighting_profile: Option<Arc<Texture<Texel=RGBSpectrumf>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     lighting_profile: Option<Arc<dyn Texture<Texel=RGBSpectrumf>>>,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/mod.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |     Arc(Arc<Composable>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 193 |     Arc(Arc<dyn Composable>),
[INFO] [stdout]     |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/shape.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub lighting_profile: Option<Arc<Texture<Texel=RGBSpectrumf>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub lighting_profile: Option<Arc<dyn Texture<Texel=RGBSpectrumf>>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/naive.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub elements: Vec<Arc<Composable>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub elements: Vec<Arc<dyn Composable>>,
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/filming/film.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |     filter: Arc<Filter>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     filter: Arc<dyn Filter>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/filming/film.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |     filter: &'a Filter,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 282 |     filter: &'a dyn Filter,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/bsdf.rs:243:32
[INFO] [stdout]     |
[INFO] [stdout] 243 |     bxdfs: [Option<Pointer<'a, Bxdf>>; 8],
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 243 |     bxdfs: [Option<Pointer<'a, dyn Bxdf>>; 8],
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub kd: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub kd: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub sigma: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub sigma: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub bump: Option<Arc<Texture<Texel=Float>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub bump: Option<Arc<dyn Texture<Texel=Float>>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub diffuse: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub diffuse: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub specular: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub specular: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub roughness: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub roughness: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub bump: Option<Arc<Texture<Texel=Float>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub bump: Option<Arc<dyn Texture<Texel=Float>>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub diffuse: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub diffuse: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub specular: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub specular: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub roughness: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub roughness: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub bump: Option<Arc<Texture<Texel=Float>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub bump: Option<Arc<dyn Texture<Texel=Float>>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub diffuse: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub diffuse: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub specular: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub specular: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub roughness: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub roughness: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub bump: Option<Arc<Texture<Texel=Float>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub bump: Option<Arc<dyn Texture<Texel=Float>>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/scene.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub lights: Vec<Arc<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub lights: Vec<Arc<dyn Light>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/scene.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub aggregate: Arc<Composable>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub aggregate: Arc<dyn Composable>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/whitted.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |     camera: Arc<Camera>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     camera: Arc<dyn Camera>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/pt.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |     camera: Arc<Camera>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     camera: Arc<dyn Camera>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/geometry/ray.rs:79:31
[INFO] [stdout]    |
[INFO] [stdout] 79 |             stc: unsafe {mem::uninitialized()},
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/mod.rs:240:15
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl From<Arc<Composable>> for ComponentPointer {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl From<Arc<dyn Composable>> for ComponentPointer {
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/component/bvh.rs:179:18
[INFO] [stdout]     |
[INFO] [stdout] 179 |             mem::uninitialized()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/component/bvh.rs:353:32
[INFO] [stdout]     |
[INFO] [stdout] 353 |             bound: unsafe{mem::uninitialized()},
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/filming/film.rs:211:23
[INFO] [stdout]     |
[INFO] [stdout] 211 |             vec![mem::uninitialized(); (diagonal.x * diagonal.y) as usize]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/sample/strata.rs:172:32
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 vec![std::mem::uninitialized(); nsample]
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/sample/strata.rs:183:32
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 vec![std::mem::uninitialized(); nsample]
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/sample/strata.rs:236:28
[INFO] [stdout]     |
[INFO] [stdout] 236 |             vec![std::mem::uninitialized(); buf.len()]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/mod.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/mod.rs:61:32
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn get_material(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn get_material(&self) -> &dyn Material;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/sample/filters.rs:268:37
[INFO] [stdout]     |
[INFO] [stdout] 268 |             buf: unsafe { vec![mem::uninitialized(); PREC_FILTER_SIZE] },
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/shape.rs:35:38
[INFO] [stdout]    |
[INFO] [stdout] 35 |         lighting_profile: Option<Arc<Texture<Texel=RGBSpectrumf>>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |         lighting_profile: Option<Arc<dyn Texture<Texel=RGBSpectrumf>>>
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/sample/sink.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 |             vec![std::mem::uninitialized(); ndim * nsample]
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/shape.rs:69:28
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/shape.rs:174:32
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn get_material(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn get_material(&self) -> &dyn Material {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/transformed.rs:65:36
[INFO] [stdout]    |
[INFO] [stdout] 65 |     default fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 65 |     default fn as_light(&self) -> &dyn Light {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/transformed.rs:85:28
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/transformed.rs:98:32
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn get_material(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn get_material(&self) -> &dyn Material {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:184:36
[INFO] [stdout]     |
[INFO] [stdout] 184 |     default fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 184 |     default fn as_light(&self) -> &dyn Light {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:204:28
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:217:32
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn get_material(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn get_material(&self) -> &dyn Material {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/texturing/textures/image.rs:631:1
[INFO] [stdout]     |
[INFO] [stdout] 631 | / lazy_static! {
[INFO] [stdout] 632 | |     static ref WEIGHT_LUT: Vec<Float> = {
[INFO] [stdout] 633 | |         let mut v = Vec::with_capacity(WEIGHT_LUT_SIZE);
[INFO] [stdout] 634 | |         for i in 0..WEIGHT_LUT_SIZE {
[INFO] [stdout] ...   |
[INFO] [stdout] 640 | |     };
[INFO] [stdout] 641 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/bsdf.rs:48:45
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn add(&mut self, bxdf: Pointer<'a, Bxdf>) {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn add(&mut self, bxdf: Pointer<'a, dyn Bxdf>) {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` has no effect when applied to an implementation block
[INFO] [stdout]    --> src/lighting/mod.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | #[must_use]
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/bsdf.rs:259:41
[INFO] [stdout]     |
[INFO] [stdout] 259 |     fn add(&mut self, bxdf: Pointer<'a, Bxdf>) {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 259 |     fn add(&mut self, bxdf: Pointer<'a, dyn Bxdf>) {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/bsdf.rs:282:38
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn next(&mut self) -> Option<&'a Bxdf> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn next(&mut self) -> Option<&'a dyn Bxdf> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texturing/textures/image.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |     ) -> Option<Arc<Texture<Texel=RGBSpectrum<TM>>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 142 |     ) -> Option<Arc<dyn Texture<Texel=RGBSpectrum<TM>>>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texturing/textures/image.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 |     ) -> Option<Arc<Texture<Texel=TM>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 197 |     ) -> Option<Arc<dyn Texture<Texel=TM>>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/whitted.rs:32:65
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn new<P: AsRef<Path> + ?Sized>(sampler: S, camera: Arc<Camera>, path: &P) -> WhittedRenderer<S> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn new<P: AsRef<Path> + ?Sized>(sampler: S, camera: Arc<dyn Camera>, path: &P) -> WhittedRenderer<S> {
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/pt.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 |         sampler: S, camera: Arc<Camera>, 
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |         sampler: S, camera: Arc<dyn Camera>, 
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `float_bits_conv` has been stable since 1.20.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | #![feature(float_bits_conv)]
[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/interaction.rs:119:35
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub primitive_hit: Option<&'b Primitive>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub primitive_hit: Option<&'b dyn Primitive>,
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shape/triangle.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |     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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     material: Arc<dyn Material>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shape/triangle.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |     lighting_profile: Option<Arc<Texture<Texel=RGBSpectrumf>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     lighting_profile: Option<Arc<dyn Texture<Texel=RGBSpectrumf>>>,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/mod.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |     Arc(Arc<Composable>),
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 193 |     Arc(Arc<dyn Composable>),
[INFO] [stdout]     |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/shape.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub lighting_profile: Option<Arc<Texture<Texel=RGBSpectrumf>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub lighting_profile: Option<Arc<dyn Texture<Texel=RGBSpectrumf>>>,
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/naive.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub elements: Vec<Arc<Composable>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub elements: Vec<Arc<dyn Composable>>,
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/filming/film.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |     filter: Arc<Filter>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     filter: Arc<dyn Filter>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/filming/film.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |     filter: &'a Filter,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 282 |     filter: &'a dyn Filter,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/bsdf.rs:243:32
[INFO] [stdout]     |
[INFO] [stdout] 243 |     bxdfs: [Option<Pointer<'a, Bxdf>>; 8],
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 243 |     bxdfs: [Option<Pointer<'a, dyn Bxdf>>; 8],
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub kd: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub kd: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub sigma: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub sigma: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub bump: Option<Arc<Texture<Texel=Float>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub bump: Option<Arc<dyn Texture<Texel=Float>>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub diffuse: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub diffuse: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub specular: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub specular: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub roughness: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub roughness: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub bump: Option<Arc<Texture<Texel=Float>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub bump: Option<Arc<dyn Texture<Texel=Float>>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub diffuse: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub diffuse: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub specular: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub specular: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub roughness: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub roughness: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub bump: Option<Arc<Texture<Texel=Float>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub bump: Option<Arc<dyn Texture<Texel=Float>>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub diffuse: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub diffuse: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub specular: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub specular: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub roughness: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub roughness: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub bump: Option<Arc<Texture<Texel=Float>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub bump: Option<Arc<dyn Texture<Texel=Float>>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/scene.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub lights: Vec<Arc<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub lights: Vec<Arc<dyn Light>>,
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/scene.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub aggregate: Arc<Composable>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub aggregate: Arc<dyn Composable>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/whitted.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |     camera: Arc<Camera>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     camera: Arc<dyn Camera>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/pt.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |     camera: Arc<Camera>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     camera: Arc<dyn Camera>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:274:47
[INFO] [stdout]     |
[INFO] [stdout] 274 | impl Composable for TransformedComposable<Arc<Composable>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 274 | impl Composable for TransformedComposable<Arc<dyn Composable>>
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:303:47
[INFO] [stdout]     |
[INFO] [stdout] 303 | impl Composable for TransformedComposable<Arc<Primitive>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 303 | impl Composable for TransformedComposable<Arc<dyn Primitive>>
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:346:42
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl Light for TransformedComposable<Arc<Primitive>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl Light for TransformedComposable<Arc<dyn Primitive>>
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:333:46
[INFO] [stdout]     |
[INFO] [stdout] 333 | impl Primitive for TransformedComposable<Arc<Primitive>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 333 | impl Primitive for TransformedComposable<Arc<dyn Primitive>>
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/triangle.rs:531:28
[INFO] [stdout]     |
[INFO] [stdout] 531 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 531 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/triangle.rs:630:32
[INFO] [stdout]     |
[INFO] [stdout] 630 |     fn get_material(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 630 |     fn get_material(&self) -> &dyn Material {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shape/triangle.rs:84:23
[INFO] [stdout]    |
[INFO] [stdout] 84 |         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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |         material: Arc<dyn Material>, 
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shape/triangle.rs:85:38
[INFO] [stdout]    |
[INFO] [stdout] 85 |         lighting_profile: Option<Arc<Texture<Texel=RGBSpectrumf>>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |         lighting_profile: Option<Arc<dyn Texture<Texel=RGBSpectrumf>>>
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/triangle.rs:123:23
[INFO] [stdout]     |
[INFO] [stdout] 123 |         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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 123 |         material: Arc<dyn Material>, 
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/triangle.rs:124:38
[INFO] [stdout]     |
[INFO] [stdout] 124 |         lighting_profile: Option<Arc<Texture<Texel=RGBSpectrumf>>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 |         lighting_profile: Option<Arc<dyn Texture<Texel=RGBSpectrumf>>>
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/mod.rs:240:15
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl From<Arc<Composable>> for ComponentPointer {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl From<Arc<dyn Composable>> for ComponentPointer {
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/mod.rs:224:28
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/mod.rs:242:22
[INFO] [stdout]     |
[INFO] [stdout] 242 |     fn from(arc: Arc<Composable>) -> ComponentPointer {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 242 |     fn from(arc: Arc<dyn Composable>) -> ComponentPointer {
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/mod.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/mod.rs:61:32
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn get_material(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn get_material(&self) -> &dyn Material;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:298:28
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:328:28
[INFO] [stdout]     |
[INFO] [stdout] 328 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 328 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/shape.rs:35:38
[INFO] [stdout]    |
[INFO] [stdout] 35 |         lighting_profile: Option<Arc<Texture<Texel=RGBSpectrumf>>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |         lighting_profile: Option<Arc<dyn Texture<Texel=RGBSpectrumf>>>
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:341:32
[INFO] [stdout]     |
[INFO] [stdout] 341 |     fn get_material(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 341 |     fn get_material(&self) -> &dyn Material {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/shape.rs:69:28
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/shape.rs:174:32
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn get_material(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn get_material(&self) -> &dyn Material {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/transformed.rs:65:36
[INFO] [stdout]    |
[INFO] [stdout] 65 |     default fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 65 |     default fn as_light(&self) -> &dyn Light {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/transformed.rs:85:28
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/transformed.rs:98:32
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn get_material(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn get_material(&self) -> &dyn Material {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:184:36
[INFO] [stdout]     |
[INFO] [stdout] 184 |     default fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 184 |     default fn as_light(&self) -> &dyn Light {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:204:28
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:217:32
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn get_material(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn get_material(&self) -> &dyn Material {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/naive.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(elements: Vec<Arc<Composable>>) -> Naive {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(elements: Vec<Arc<dyn Composable>>) -> Naive {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/naive.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn from_one(element: Arc<Composable>) -> Naive {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn from_one(element: Arc<dyn Composable>) -> Naive {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/naive.rs:42:43
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn append(&mut self, element: Arc<Composable>) {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn append(&mut self, element: Arc<dyn Composable>) {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/bsdf.rs:48:45
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn add(&mut self, bxdf: Pointer<'a, Bxdf>) {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn add(&mut self, bxdf: Pointer<'a, dyn Bxdf>) {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/bsdf.rs:259:41
[INFO] [stdout]     |
[INFO] [stdout] 259 |     fn add(&mut self, bxdf: Pointer<'a, Bxdf>) {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 259 |     fn add(&mut self, bxdf: Pointer<'a, dyn Bxdf>) {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/bsdf.rs:282:38
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn next(&mut self) -> Option<&'a Bxdf> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn next(&mut self) -> Option<&'a dyn Bxdf> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texturing/textures/image.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |     ) -> Option<Arc<Texture<Texel=RGBSpectrum<TM>>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 142 |     ) -> Option<Arc<dyn Texture<Texel=RGBSpectrum<TM>>>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texturing/textures/image.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 |     ) -> Option<Arc<Texture<Texel=TM>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 197 |     ) -> Option<Arc<dyn Texture<Texel=TM>>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/whitted.rs:32:65
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn new<P: AsRef<Path> + ?Sized>(sampler: S, camera: Arc<Camera>, path: &P) -> WhittedRenderer<S> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn new<P: AsRef<Path> + ?Sized>(sampler: S, camera: Arc<dyn Camera>, path: &P) -> WhittedRenderer<S> {
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/pt.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 |         sampler: S, camera: Arc<Camera>, 
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |         sampler: S, camera: Arc<dyn Camera>, 
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/filming/film.rs:47:29
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn lanczos_default() -> Arc<Filter> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn lanczos_default() -> Arc<dyn Filter> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/filming/film.rs:55:76
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn new(resolution: Point2<usize>, crop_window: BBox2f, filter: Arc<Filter>) -> Film {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn new(resolution: Point2<usize>, crop_window: BBox2f, filter: Arc<dyn Filter>) -> Film {
[INFO] [stdout]    |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:274:47
[INFO] [stdout]     |
[INFO] [stdout] 274 | impl Composable for TransformedComposable<Arc<Composable>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 274 | impl Composable for TransformedComposable<Arc<dyn Composable>>
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:303:47
[INFO] [stdout]     |
[INFO] [stdout] 303 | impl Composable for TransformedComposable<Arc<Primitive>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 303 | impl Composable for TransformedComposable<Arc<dyn Primitive>>
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:346:42
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl Light for TransformedComposable<Arc<Primitive>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 346 | impl Light for TransformedComposable<Arc<dyn Primitive>>
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:333:46
[INFO] [stdout]     |
[INFO] [stdout] 333 | impl Primitive for TransformedComposable<Arc<Primitive>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 333 | impl Primitive for TransformedComposable<Arc<dyn Primitive>>
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/triangle.rs:531:28
[INFO] [stdout]     |
[INFO] [stdout] 531 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 531 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/triangle.rs:630:32
[INFO] [stdout]     |
[INFO] [stdout] 630 |     fn get_material(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 630 |     fn get_material(&self) -> &dyn Material {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shape/triangle.rs:84:23
[INFO] [stdout]    |
[INFO] [stdout] 84 |         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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |         material: Arc<dyn Material>, 
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shape/triangle.rs:85:38
[INFO] [stdout]    |
[INFO] [stdout] 85 |         lighting_profile: Option<Arc<Texture<Texel=RGBSpectrumf>>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |         lighting_profile: Option<Arc<dyn Texture<Texel=RGBSpectrumf>>>
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/triangle.rs:123:23
[INFO] [stdout]     |
[INFO] [stdout] 123 |         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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 123 |         material: Arc<dyn Material>, 
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/triangle.rs:124:38
[INFO] [stdout]     |
[INFO] [stdout] 124 |         lighting_profile: Option<Arc<Texture<Texel=RGBSpectrumf>>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 124 |         lighting_profile: Option<Arc<dyn Texture<Texel=RGBSpectrumf>>>
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/mod.rs:224:28
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/mod.rs:242:22
[INFO] [stdout]     |
[INFO] [stdout] 242 |     fn from(arc: Arc<Composable>) -> ComponentPointer {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 242 |     fn from(arc: Arc<dyn Composable>) -> ComponentPointer {
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:298:28
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:328:28
[INFO] [stdout]     |
[INFO] [stdout] 328 |     fn as_light(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 328 |     fn as_light(&self) -> &dyn Light {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/component/transformed.rs:341:32
[INFO] [stdout]     |
[INFO] [stdout] 341 |     fn get_material(&self) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 341 |     fn get_material(&self) -> &dyn Material {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/naive.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(elements: Vec<Arc<Composable>>) -> Naive {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(elements: Vec<Arc<dyn Composable>>) -> Naive {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/naive.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn from_one(element: Arc<Composable>) -> Naive {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn from_one(element: Arc<dyn Composable>) -> Naive {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/naive.rs:42:43
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn append(&mut self, element: Arc<Composable>) {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn append(&mut self, element: Arc<dyn Composable>) {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/bsdf.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |     type Item = &'a Bxdf;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 281 |     type Item = &'a dyn Bxdf;
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn new(kd: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn new(kd: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |     sigma: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     sigma: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 |     bump: Option<Arc<Texture<Texel=Float>>>) -> Self {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     bump: Option<Arc<dyn Texture<Texel=Float>>>) -> Self {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:28:22
[INFO] [stdout]    |
[INFO] [stdout] 28 |         diffuse: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |         diffuse: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |         specular: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |         specular: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 |         roughness: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |         roughness: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:31:26
[INFO] [stdout]    |
[INFO] [stdout] 31 |         bump: Option<Arc<Texture<Texel=Float>>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |         bump: Option<Arc<dyn Texture<Texel=Float>>>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 |         diffuse: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |         diffuse: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |         specular: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |         specular: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 |         roughness: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |         roughness: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |         bump: Option<Arc<Texture<Texel=Float>>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |         bump: Option<Arc<dyn Texture<Texel=Float>>>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 |         diffuse: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |         diffuse: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |         specular: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |         specular: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 |         roughness: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |         roughness: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |         bump: Option<Arc<Texture<Texel=Float>>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |         bump: Option<Arc<dyn Texture<Texel=Float>>>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/filming/film.rs:47:29
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn lanczos_default() -> Arc<Filter> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn lanczos_default() -> Arc<dyn Filter> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/filming/film.rs:55:76
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn new(resolution: Point2<usize>, crop_window: BBox2f, filter: Arc<Filter>) -> Film {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn new(resolution: Point2<usize>, crop_window: BBox2f, filter: Arc<dyn Filter>) -> Film {
[INFO] [stdout]    |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/scene.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |         lights: Vec<Arc<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |         lights: Vec<Arc<dyn Light>>, 
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/scene.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |         aggregate: Arc<Composable>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |         aggregate: Arc<dyn Composable>
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/scene.rs:54:45
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn get_light(&self, idx: usize) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn get_light(&self, idx: usize) -> &dyn Light {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/scene.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |         light: &Light, ulight: Point2f, uscattering: Point2f,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |         light: &dyn Light, ulight: Point2f, uscattering: Point2f,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/renderer/scene.rs:170:51
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn sample_one_light(&self, u: Float) -> (&Light, Float) {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn sample_one_light(&self, u: Float) -> (&dyn Light, Float) {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/bsdf.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |     type Item = &'a Bxdf;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 281 |     type Item = &'a dyn Bxdf;
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn new(kd: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn new(kd: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |     sigma: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     sigma: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 |     bump: Option<Arc<Texture<Texel=Float>>>) -> Self {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     bump: Option<Arc<dyn Texture<Texel=Float>>>) -> Self {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:28:22
[INFO] [stdout]    |
[INFO] [stdout] 28 |         diffuse: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |         diffuse: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |         specular: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |         specular: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 |         roughness: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |         roughness: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:31:26
[INFO] [stdout]    |
[INFO] [stdout] 31 |         bump: Option<Arc<Texture<Texel=Float>>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |         bump: Option<Arc<dyn Texture<Texel=Float>>>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 |         diffuse: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |         diffuse: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |         specular: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |         specular: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 |         roughness: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |         roughness: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |         bump: Option<Arc<Texture<Texel=Float>>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |         bump: Option<Arc<dyn Texture<Texel=Float>>>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 |         diffuse: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |         diffuse: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |         specular: Arc<Texture<Texel=RGBSpectrumf>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |         specular: Arc<dyn Texture<Texel=RGBSpectrumf>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 |         roughness: Arc<Texture<Texel=Float>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |         roughness: Arc<dyn Texture<Texel=Float>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/translucent.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |         bump: Option<Arc<Texture<Texel=Float>>>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |         bump: Option<Arc<dyn Texture<Texel=Float>>>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/scene.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |         lights: Vec<Arc<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |         lights: Vec<Arc<dyn Light>>, 
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/scene.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |         aggregate: Arc<Composable>
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |         aggregate: Arc<dyn Composable>
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/scene.rs:54:45
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn get_light(&self, idx: usize) -> &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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn get_light(&self, idx: usize) -> &dyn Light {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/renderer/scene.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |         light: &Light, ulight: Point2f, uscattering: Point2f,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |         light: &dyn Light, ulight: Point2f, uscattering: Point2f,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/renderer/scene.rs:170:51
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn sample_one_light(&self, u: Float) -> (&Light, Float) {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn sample_one_light(&self, u: Float) -> (&dyn Light, Float) {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/mod.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut materials: Vec<Arc<Material>> = Vec::with_capacity(mtls.len()+1);
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut materials: Vec<Arc<dyn Material>> = Vec::with_capacity(mtls.len()+1);
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/component/mod.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut materials: Vec<Arc<Material>> = Vec::with_capacity(mtls.len()+1);
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut materials: Vec<Arc<dyn Material>> = Vec::with_capacity(mtls.len()+1);
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type annotations needed
[INFO] [stdout]    --> src/spectrum/mod.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             ptr.as_ref().unwrap()
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #46906 <https://github.com/rust-lang/rust/issues/46906>
[INFO] [stdout]     = note: `#[warn(tyvar_behind_raw_pointer)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type annotations needed
[INFO] [stdout]    --> src/spectrum/mod.rs:170:17
[INFO] [stdout]     |
[INFO] [stdout] 170 |             ptr.as_mut().unwrap()
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #46906 <https://github.com/rust-lang/rust/issues/46906>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type annotations needed
[INFO] [stdout]    --> src/spectrum/mod.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             ptr.as_ref().unwrap()
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #46906 <https://github.com/rust-lang/rust/issues/46906>
[INFO] [stdout]     = note: `#[warn(tyvar_behind_raw_pointer)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type annotations needed
[INFO] [stdout]    --> src/spectrum/mod.rs:170:17
[INFO] [stdout]     |
[INFO] [stdout] 170 |             ptr.as_mut().unwrap()
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #46906 <https://github.com/rust-lang/rust/issues/46906>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/bsdf.rs:289:37
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     let ret: *const Bxdf = &**p;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     let ret: *const dyn Bxdf = &**p;
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/bsdf.rs:289:37
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     let ret: *const Bxdf = &**p;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     let ret: *const dyn Bxdf = &**p;
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/shape/tests.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let (t, si) = sphere.intersect_ray(&ray).unwrap();
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/shape/tests.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         for i in 0..ROUNDS {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/shape/tests.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |             for j in 0..ROUNDS {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/shape/tests.rs:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 if let Some((t, si)) = spheref.intersect_ray(&ray) {
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ShearingTransformCache` does not permit being left uninitialized
[INFO] [stdout]    --> src/geometry/ray.rs:79:26
[INFO] [stdout]     |
[INFO] [stdout] 79  |             stc: unsafe {mem::uninitialized()},
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: in this struct field
[INFO] [stdout]    --> src/geometry/ray.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 |     perm: Permulation,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]    --> src/geometry/ray.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | enum Permulation {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ShearingTransformCache` does not permit being left uninitialized
[INFO] [stdout]    --> src/geometry/ray.rs:79:26
[INFO] [stdout]     |
[INFO] [stdout] 79  |             stc: unsafe {mem::uninitialized()},
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: in this struct field
[INFO] [stdout]    --> src/geometry/ray.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 |     perm: Permulation,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]    --> src/geometry/ray.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | enum Permulation {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `BuildNode<'_>` does not permit being left uninitialized
[INFO] [stdout]    --> src/component/bvh.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |             mem::uninitialized()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this code causes undefined behavior when executed
[INFO] [stdout]     |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: in this struct field
[INFO] [stdout]    --> src/component/bvh.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     bound: BBox3f,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] note: floats must be initialized (in this struct field)
[INFO] [stdout]    --> src/geometry/bbox.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     pub pmin: Point3<T>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `BBox3<f32>` does not permit being left uninitialized
[INFO] [stdout]    --> src/component/bvh.rs:353:27
[INFO] [stdout]     |
[INFO] [stdout] 353 |             bound: unsafe{mem::uninitialized()},
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this code causes undefined behavior when executed
[INFO] [stdout]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: floats must be initialized (in this struct field)
[INFO] [stdout]    --> src/geometry/bbox.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     pub pmin: Point3<T>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `BuildNode<'_>` does not permit being left uninitialized
[INFO] [stdout]    --> src/component/bvh.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |             mem::uninitialized()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this code causes undefined behavior when executed
[INFO] [stdout]     |             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: in this struct field
[INFO] [stdout]    --> src/component/bvh.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     bound: BBox3f,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] note: floats must be initialized (in this struct field)
[INFO] [stdout]    --> src/geometry/bbox.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     pub pmin: Point3<T>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `BBox3<f32>` does not permit being left uninitialized
[INFO] [stdout]    --> src/component/bvh.rs:353:27
[INFO] [stdout]     |
[INFO] [stdout] 353 |             bound: unsafe{mem::uninitialized()},
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this code causes undefined behavior when executed
[INFO] [stdout]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: floats must be initialized (in this struct field)
[INFO] [stdout]    --> src/geometry/bbox.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     pub pmin: Point3<T>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `f32` does not permit being left uninitialized
[INFO] [stdout]    --> src/sample/strata.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 vec![std::mem::uninitialized(); nsample]
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this code causes undefined behavior when executed
[INFO] [stdout]     |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: floats must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `cgmath::Point2<f32>` does not permit being left uninitialized
[INFO] [stdout]    --> src/sample/strata.rs:183:22
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 vec![std::mem::uninitialized(); nsample]
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this code causes undefined behavior when executed
[INFO] [stdout]     |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: floats must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `f32` does not permit being left uninitialized
[INFO] [stdout]    --> src/sample/strata.rs:236:18
[INFO] [stdout]     |
[INFO] [stdout] 236 |             vec![std::mem::uninitialized(); buf.len()]
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this code causes undefined behavior when executed
[INFO] [stdout]     |                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: floats must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `f32` does not permit being left uninitialized
[INFO] [stdout]    --> src/sample/filters.rs:268:32
[INFO] [stdout]     |
[INFO] [stdout] 268 |             buf: unsafe { vec![mem::uninitialized(); PREC_FILTER_SIZE] },
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: floats must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `f32` does not permit being left uninitialized
[INFO] [stdout]    --> src/sample/strata.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 vec![std::mem::uninitialized(); nsample]
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this code causes undefined behavior when executed
[INFO] [stdout]     |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: floats must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `cgmath::Point2<f32>` does not permit being left uninitialized
[INFO] [stdout]    --> src/sample/strata.rs:183:22
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 vec![std::mem::uninitialized(); nsample]
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this code causes undefined behavior when executed
[INFO] [stdout]     |                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: floats must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `f32` does not permit being left uninitialized
[INFO] [stdout]    --> src/sample/strata.rs:236:18
[INFO] [stdout]     |
[INFO] [stdout] 236 |             vec![std::mem::uninitialized(); buf.len()]
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this code causes undefined behavior when executed
[INFO] [stdout]     |                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: floats must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `f32` does not permit being left uninitialized
[INFO] [stdout]    --> src/sample/filters.rs:268:32
[INFO] [stdout]     |
[INFO] [stdout] 268 |             buf: unsafe { vec![mem::uninitialized(); PREC_FILTER_SIZE] },
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this code causes undefined behavior when executed
[INFO] [stdout]     |                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: floats must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 151 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 144 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rayon::initialize`: use `ThreadPoolBuilder::build_global`
[INFO] [stdout]   --> examples/arencli.rs:49:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |         rayon::initialize(rayon::Configuration::new().num_threads(threads)).unwrap();
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `rayon::Configuration`: Use `ThreadPoolBuilder`
[INFO] [stdout]   --> examples/arencli.rs:49:34
[INFO] [stdout]    |
[INFO] [stdout] 49 |         rayon::initialize(rayon::Configuration::new().num_threads(threads)).unwrap();
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/arencli.rs:294:40
[INFO] [stdout]     |
[INFO] [stdout] 294 |         rgbs: &mut HashMap<String, Arc<Texture<Texel=RGBSpectrumf>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 294 |         rgbs: &mut HashMap<String, Arc<dyn Texture<Texel=RGBSpectrumf>>>,
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/arencli.rs:295:41
[INFO] [stdout]     |
[INFO] [stdout] 295 |         grays: &mut HashMap<String, Arc<Texture<Texel=Float>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 295 |         grays: &mut HashMap<String, Arc<dyn Texture<Texel=Float>>>,
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/arencli.rs:298:21
[INFO] [stdout]     |
[INFO] [stdout] 298 |     ) -> Option<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 298 |     ) -> Option<Arc<dyn Material>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/arencli.rs:393:44
[INFO] [stdout]     |
[INFO] [stdout] 393 |         textures: &mut HashMap<String, Arc<Texture<Texel=RGBSpectrumf>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 393 |         textures: &mut HashMap<String, Arc<dyn Texture<Texel=RGBSpectrumf>>>,
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/arencli.rs:395:21
[INFO] [stdout]     |
[INFO] [stdout] 395 |     ) -> Option<Arc<Texture<Texel=RGBSpectrumf>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 395 |     ) -> Option<Arc<dyn Texture<Texel=RGBSpectrumf>>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/arencli.rs:449:44
[INFO] [stdout]     |
[INFO] [stdout] 449 |         textures: &mut HashMap<String, Arc<Texture<Texel=Float>>>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 449 |         textures: &mut HashMap<String, Arc<dyn Texture<Texel=Float>>>,
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/arencli.rs:451:21
[INFO] [stdout]     |
[INFO] [stdout] 451 |     ) -> Option<Arc<Texture<Texel=Float>>> {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 451 |     ) -> Option<Arc<dyn Texture<Texel=Float>>> {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/arencli.rs:496:29
[INFO] [stdout]     |
[INFO] [stdout] 496 |     fn to_arc(&self) -> Arc<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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 496 |     fn to_arc(&self) -> Arc<dyn Light> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/arencli.rs:86:40
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut primitives: HashMap<_, Arc<Composable>> = HashMap::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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut primitives: HashMap<_, Arc<dyn Composable>> = HashMap::new();
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/arencli.rs:136:33
[INFO] [stdout]     |
[INFO] [stdout] 136 |                     let sp: Arc<Composable> = if let Some(transform) = *transform {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 136 |                     let sp: Arc<dyn Composable> = if let Some(transform) = *transform {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> examples/arencli.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |     IOError(std::io::Error),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 66 |     IOError(()),
[INFO] [stdout]    |             ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> examples/arencli.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |     DecodeError(serde_json::error::Error),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 67 |     DecodeError(()),
[INFO] [stdout]    |                 ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.95s
[INFO] running `Command { std: "docker" "inspect" "46362df81f061a48a6bec83213c90f0317ba0594d788d696b76889b04d39efac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "46362df81f061a48a6bec83213c90f0317ba0594d788d696b76889b04d39efac", kill_on_drop: false }`
[INFO] [stdout] 46362df81f061a48a6bec83213c90f0317ba0594d788d696b76889b04d39efac
