[INFO] cloning repository https://github.com/Mokosha/pbrt_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Mokosha/pbrt_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMokosha%2Fpbrt_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMokosha%2Fpbrt_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6ce0c65cebbf706a554aff2397fe5e1a85583181
[INFO] checking Mokosha/pbrt_rust against beta-2021-10-15 for beta-1.56-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMokosha%2Fpbrt_rust" "/workspace/builds/worker-0/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Mokosha/pbrt_rust on toolchain beta-2021-10-15
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Mokosha/pbrt_rust
[INFO] finished tweaking git repo https://github.com/Mokosha/pbrt_rust
[INFO] tweaked toml for git repo https://github.com/Mokosha/pbrt_rust written to /workspace/builds/worker-0/source/Cargo.toml
[INFO] crate git repo https://github.com/Mokosha/pbrt_rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 220fc89994b8812921c71e2a2541d684701f38d965404e7f40296887376babff
[INFO] running `Command { std: "docker" "start" "-a" "220fc89994b8812921c71e2a2541d684701f38d965404e7f40296887376babff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "220fc89994b8812921c71e2a2541d684701f38d965404e7f40296887376babff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "220fc89994b8812921c71e2a2541d684701f38d965404e7f40296887376babff", kill_on_drop: false }`
[INFO] [stdout] 220fc89994b8812921c71e2a2541d684701f38d965404e7f40296887376babff
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e971a4f3d2ec31ff8de89e5f845377be7cb411518fb7ba6f7e62b2cd3137656f
[INFO] running `Command { std: "docker" "start" "-a" "e971a4f3d2ec31ff8de89e5f845377be7cb411518fb7ba6f7e62b2cd3137656f", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Checking libc v0.2.7
[INFO] [stderr]    Compiling gcc v0.3.26
[INFO] [stderr]     Checking rustc-serialize v0.3.24
[INFO] [stderr]     Checking hamming v0.1.3
[INFO] [stderr]     Checking color_quant v1.0.0
[INFO] [stderr]     Checking bitflags v0.3.3
[INFO] [stderr]     Checking lzw v0.9.0
[INFO] [stderr]     Checking primal-estimate v0.2.1
[INFO] [stderr]     Checking inflate v0.1.0
[INFO] [stderr]     Checking byteorder v0.4.2
[INFO] [stderr]     Checking libc v0.1.10
[INFO] [stderr]     Checking bitflags v0.5.0
[INFO] [stderr]     Checking scoped_threadpool v0.1.7
[INFO] [stderr]     Checking primal-bit v0.2.3
[INFO] [stderr]     Checking gif v0.7.0
[INFO] [stderr]     Checking num_cpus v0.2.6
[INFO] [stderr]     Checking rand v0.3.14
[INFO] [stderr]     Checking primal-sieve v0.2.4
[INFO] [stderr]    Compiling miniz-sys v0.1.7
[INFO] [stderr]     Checking flate2 v0.2.13
[INFO] [stderr]     Checking num v0.1.31
[INFO] [stderr]     Checking enum_primitive v0.1.0
[INFO] [stderr]     Checking png v0.4.2
[INFO] [stderr]     Checking primal-check v0.2.2
[INFO] [stderr]     Checking primal v0.2.3
[INFO] [stderr]     Checking image v0.6.1
[INFO] [stderr]     Checking pbrt_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]  --> src/bbox.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn union(&self, &T) -> Self;
[INFO] [stdout]   |                     ^^ help: try naming the parameter or explicitly ignoring it: `_: &T`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(anonymous_parameters)]` on by default
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bsdf/mod.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / bitflags! {
[INFO] [stdout] 23 | |     pub flags BxDFType: u32 {
[INFO] [stdout] 24 | |         const BSDF_REFLECTION = (1 << 0),
[INFO] [stdout] 25 | |         const BSDF_TRANSMISSION = (1 << 1),
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |     }
[INFO] [stdout] 38 | | }
[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/bsdf/mod.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / bitflags! {
[INFO] [stdout] 23 | |     pub flags BxDFType: u32 {
[INFO] [stdout] 24 | |         const BSDF_REFLECTION = (1 << 0),
[INFO] [stdout] 25 | |         const BSDF_TRANSMISSION = (1 << 1),
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |     }
[INFO] [stdout] 38 | | }
[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/bsdf/mod.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / bitflags! {
[INFO] [stdout] 23 | |     pub flags BxDFType: u32 {
[INFO] [stdout] 24 | |         const BSDF_REFLECTION = (1 << 0),
[INFO] [stdout] 25 | |         const BSDF_TRANSMISSION = (1 << 1),
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |     }
[INFO] [stdout] 38 | | }
[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: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/bsdf/mod.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn matches_flags(&self, BxDFType) -> bool;
[INFO] [stdout]    |                             ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: BxDFType`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/bsdf/mod.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn f(&self, &Vector, &Vector) -> Spectrum;
[INFO] [stdout]    |                 ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/bsdf/mod.rs:42:26
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn f(&self, &Vector, &Vector) -> Spectrum;
[INFO] [stdout]    |                          ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/bsdf/mod.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn sample_f(&self, &Vector, f32, f32) -> (Vector, f32, Spectrum);
[INFO] [stdout]    |                        ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/bsdf/mod.rs:43:33
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn sample_f(&self, &Vector, f32, f32) -> (Vector, f32, Spectrum);
[INFO] [stdout]    |                                 ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/bsdf/mod.rs:43:38
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn sample_f(&self, &Vector, f32, f32) -> (Vector, f32, Spectrum);
[INFO] [stdout]    |                                      ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bsdf/mod.rs:67:20
[INFO] [stdout]    |
[INFO] [stdout] 67 |     bxdfs: Vec<Box<BxDF>>
[INFO] [stdout]    |                    ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bsdf/mod.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |     bxdf: Box<BxDF>,
[INFO] [stdout]     |               ^^^^ help: use `dyn`: `dyn BxDF`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bsdf/mod.rs:203:27
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub fn new(input: Box<BxDF>, sc: Spectrum) -> ScaledBxDF {
[INFO] [stdout]     |                           ^^^^ help: use `dyn`: `dyn BxDF`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/intersection.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn intersect(&self, &Ray) -> Option<T>;
[INFO] [stdout]    |                         ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Ray`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/light/mod.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn le(&self, &RayDifferential) -> Spectrum {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &RayDifferential`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/light/mod.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn sample_l(&self, &Point, f32, LightSample, f32)
[INFO] [stdout]    |                        ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Point`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/light/mod.rs:54:32
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn sample_l(&self, &Point, f32, LightSample, f32)
[INFO] [stdout]    |                                ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/light/mod.rs:54:37
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn sample_l(&self, &Point, f32, LightSample, f32)
[INFO] [stdout]    |                                     ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: LightSample`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/light/mod.rs:54:50
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn sample_l(&self, &Point, f32, LightSample, f32)
[INFO] [stdout]    |                                                  ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/light/mod.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn power(&self, &Scene) -> Spectrum;
[INFO] [stdout]    |                     ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Scene`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 |     sigma: Arc<Texture<f32>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     bump_map: Option<Arc<Texture<f32>>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 17 |     k_d: Arc<Texture<Spectrum>>
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(kd: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |                sig: Arc<Texture<f32>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 |                bump_map: Option<Arc<Texture<f32>>>) -> MatteMaterial {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/measured.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 |     bump_map: Option<Arc<Texture<f32>>>
[INFO] [stdout]    |                          ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/measured.rs:25:48
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(filename: String, b: Option<Arc<Texture<f32>>>) -> MeasuredMaterial {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mix.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     scale: Arc<Texture<Spectrum>>
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mix.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |                sc: Arc<Texture<Spectrum>>) -> MixMaterial {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 17 |     k_d: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |     k_s: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 |     roughness: Arc<Texture<f32>>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     bump_map: Option<Arc<Texture<f32>>>
[INFO] [stdout]    |                          ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn new(kd: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 |                ks: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |                rough: Arc<Texture<f32>>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 27 |                bm: Option<Arc<Texture<f32>>>) -> PlasticMaterial {
[INFO] [stdout]    |                               ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 17 |     k_r: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |     sigma_a: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 |     sigma_prime_s: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 |     eta: Arc<Texture<f32>>,
[INFO] [stdout]    |              ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 |     bump_map: Option<Arc<Texture<f32>>>
[INFO] [stdout]    |                          ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:25:37
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(scale: f32, k_r: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:26:29
[INFO] [stdout]    |
[INFO] [stdout] 26 |                sigma_a: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:27:35
[INFO] [stdout]    |
[INFO] [stdout] 27 |                sigma_prime_s: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |                eta: Arc<Texture<f32>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:29:37
[INFO] [stdout]    |
[INFO] [stdout] 29 |                bump_map: Option<Arc<Texture<f32>>>) -> SubsurfaceMaterial {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:90:26
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn matte(kd: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:91:27
[INFO] [stdout]    |
[INFO] [stdout] 91 |                  sig: Arc<Texture<f32>>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:92:39
[INFO] [stdout]    |
[INFO] [stdout] 92 |                  bump_map: Option<Arc<Texture<f32>>>) -> Material {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:96:28
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn plastic(kd: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:97:28
[INFO] [stdout]    |
[INFO] [stdout] 97 |                    ks: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:98:31
[INFO] [stdout]    |
[INFO] [stdout] 98 |                    rough: Arc<Texture<f32>>,
[INFO] [stdout]    |                               ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:99:35
[INFO] [stdout]    |
[INFO] [stdout] 99 |                    bm: Option<Arc<Texture<f32>>>) -> Material {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/mod.rs:103:53
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn measured(filename: String, b: Option<Arc<Texture<f32>>>) -> Material {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/mod.rs:108:26
[INFO] [stdout]     |
[INFO] [stdout] 108 |                  sc: Arc<Texture<Spectrum>>) -> Material {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/mod.rs:112:44
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn subsurface(scale: f32, k_r: Arc<Texture<Spectrum>>,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/mod.rs:113:36
[INFO] [stdout]     |
[INFO] [stdout] 113 |                       sigma_a: Arc<Texture<Spectrum>>,
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/mod.rs:114:42
[INFO] [stdout]     |
[INFO] [stdout] 114 |                       sigma_prime_s: Arc<Texture<Spectrum>>,
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/mod.rs:115:32
[INFO] [stdout]     |
[INFO] [stdout] 115 |                       eta: Arc<Texture<f32>>,
[INFO] [stdout]     |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/mod.rs:116:38
[INFO] [stdout]     |
[INFO] [stdout] 116 |                       bm: Option<Arc<Texture<f32>>>) -> Material {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:264:45
[INFO] [stdout]     |
[INFO] [stdout] 264 |     float_textures: Arc<HashMap<String, Arc<Texture<f32>>>>,
[INFO] [stdout]     |                                             ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:265:48
[INFO] [stdout]     |
[INFO] [stdout] 265 |     spectrum_textures: Arc<HashMap<String, Arc<Texture<Spectrum>>>>,
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:270:54
[INFO] [stdout]     |
[INFO] [stdout] 270 | fn find_texture<T>(textures: Arc<HashMap<String, Arc<Texture<T>>>>,
[INFO] [stdout]     |                                                      ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:271:39
[INFO] [stdout]     |
[INFO] [stdout] 271 |                    name: &str) -> Arc<Texture<T>> {
[INFO] [stdout]     |                                       ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:273:41
[INFO] [stdout]     |
[INFO] [stdout] 273 |         Some(tex) => tex.clone() as Arc<Texture<T>>,
[INFO] [stdout]     |                                         ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:280:44
[INFO] [stdout]     |
[INFO] [stdout] 280 |                ft: Arc<HashMap<String, Arc<Texture<f32>>>>,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:281:44
[INFO] [stdout]     |
[INFO] [stdout] 281 |                st: Arc<HashMap<String, Arc<Texture<Spectrum>>>>)
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:292:40
[INFO] [stdout]     |
[INFO] [stdout] 292 | ...                   -> Arc<Texture<Spectrum>> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:296:56
[INFO] [stdout]     |
[INFO] [stdout] 296 |             Arc::new(ConstantTexture::new(val)) as Arc<Texture<Spectrum>>
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:301:55
[INFO] [stdout]     |
[INFO] [stdout] 301 | ...                   -> Option<Arc<Texture<Spectrum>>> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:307:37
[INFO] [stdout]     |
[INFO] [stdout] 307 | ...                   -> Arc<Texture<f32>> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:311:56
[INFO] [stdout]     |
[INFO] [stdout] 311 |             Arc::new(ConstantTexture::new(val)) as Arc<Texture<f32>>
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:316:52
[INFO] [stdout]     |
[INFO] [stdout] 316 | ...                   -> Option<Arc<Texture<f32>>> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]  --> src/renderer.rs:9:26
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn render(&mut self, &scene::Scene);
[INFO] [stdout]   |                          ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &scene::Scene`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |         &self, &'a scene::Scene, &ray::RayDifferential,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a scene::Scene`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 |         &self, &'a scene::Scene, &ray::RayDifferential,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &ray::RayDifferential`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |         &Sample, &mut RNG) -> (Spectrum, Option<Intersection>, Spectrum);
[INFO] [stdout]    |         ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Sample`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 |         &Sample, &mut RNG) -> (Spectrum, Option<Intersection>, Spectrum);
[INFO] [stdout]    |                  ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut RNG`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |         &self, &scene::Scene, &ray::RayDifferential,
[INFO] [stdout]    |                ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &scene::Scene`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:22:31
[INFO] [stdout]    |
[INFO] [stdout] 22 |         &self, &scene::Scene, &ray::RayDifferential,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &ray::RayDifferential`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         &Sample, &mut RNG) -> Spectrum;
[INFO] [stdout]    |         ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Sample`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |         &Sample, &mut RNG) -> Spectrum;
[INFO] [stdout]    |                  ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut RNG`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/sampler_renderer.rs:197:47
[INFO] [stdout]     |
[INFO] [stdout] 197 |                 let accum = |acc, light: &Arc<Light>| acc + light.le(ray);
[INFO] [stdout]     |                                               ^^^^^ help: use `dyn`: `dyn Light`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/shape/mesh.rs:270:15
[INFO] [stdout]     |
[INFO] [stdout] 270 |             0 ... 2 => &(self.mesh.p[self.v[i]]),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/mesh.rs:284:22
[INFO] [stdout]     |
[INFO] [stdout] 284 |     atex: Option<Arc<Texture<f32>>>
[INFO] [stdout]     |                      ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/mesh.rs:301:58
[INFO] [stdout]     |
[INFO] [stdout] 301 |                uv: Option<&[f32]>, _atex: Option<Arc<Box<Texture<f32>>>>)
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/mesh.rs:312:50
[INFO] [stdout]     |
[INFO] [stdout] 312 |             atex: _atex.map(|t| t.clone() as Arc<Texture<f32>>)
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/mod.rs:188:48
[INFO] [stdout]     |
[INFO] [stdout] 188 |                          _atex: Option<Arc<Box<Texture<f32>>>>) -> Shape {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spectrum.rs:631:22
[INFO] [stdout]     |
[INFO] [stdout] 631 |                     0...29 => cs.get(index).unwrap(),
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spectrum.rs:638:22
[INFO] [stdout]     |
[INFO] [stdout] 638 |                     0...2 => cs.get(index).unwrap(),
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]  --> src/bbox.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn union(&self, &T) -> Self;
[INFO] [stdout]   |                     ^^ help: try naming the parameter or explicitly ignoring it: `_: &T`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(anonymous_parameters)]` on by default
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spectrum.rs:651:22
[INFO] [stdout]     |
[INFO] [stdout] 651 |                     0...29 => cs.get_mut(index).unwrap(),
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spectrum.rs:658:22
[INFO] [stdout]     |
[INFO] [stdout] 658 |                     0...2 => cs.get_mut(index).unwrap(),
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 |     lights : Vec<Arc<Light>>,
[INFO] [stdout]    |                      ^^^^^ help: use `dyn`: `dyn Light`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 |     volume_region : Option<Arc<VolumeRegion>>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:33:37
[INFO] [stdout]    |
[INFO] [stdout] 33 |                     lights: Vec<Arc<Light>>,
[INFO] [stdout]    |                                     ^^^^^ help: use `dyn`: `dyn Light`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:34:47
[INFO] [stdout]    |
[INFO] [stdout] 34 |                     volume_region: Option<Arc<VolumeRegion>>) -> Scene {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:42:37
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn lights(&self) -> Vec<Arc<Light>> {
[INFO] [stdout]    |                                     ^^^^^ help: use `dyn`: `dyn Light`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bsdf/mod.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / bitflags! {
[INFO] [stdout] 23 | |     pub flags BxDFType: u32 {
[INFO] [stdout] 24 | |         const BSDF_REFLECTION = (1 << 0),
[INFO] [stdout] 25 | |         const BSDF_TRANSMISSION = (1 << 1),
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |     }
[INFO] [stdout] 38 | | }
[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: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |     mapping: Box<TextureMapping2D>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     tex1: Arc<Texture<T>>,
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 |     tex2: Arc<Texture<T>>,
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(mapping: Box<TextureMapping2D>, t1: Arc<Texture<T>>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bsdf/mod.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / bitflags! {
[INFO] [stdout] 23 | |     pub flags BxDFType: u32 {
[INFO] [stdout] 24 | |         const BSDF_REFLECTION = (1 << 0),
[INFO] [stdout] 25 | |         const BSDF_TRANSMISSION = (1 << 1),
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |     }
[INFO] [stdout] 38 | | }
[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/bsdf/mod.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / bitflags! {
[INFO] [stdout] 23 | |     pub flags BxDFType: u32 {
[INFO] [stdout] 24 | |         const BSDF_REFLECTION = (1 << 0),
[INFO] [stdout] 25 | |         const BSDF_TRANSMISSION = (1 << 1),
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |     }
[INFO] [stdout] 38 | | }
[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: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:25:56
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(mapping: Box<TextureMapping2D>, t1: Arc<Texture<T>>,
[INFO] [stdout]    |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |                t2: Arc<Texture<T>>) -> CheckerboardTexture<T> {
[INFO] [stdout]    |                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:31:41
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn new_antialiased(mapping: Box<TextureMapping2D>, t1: Arc<Texture<T>>,
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:31:68
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn new_antialiased(mapping: Box<TextureMapping2D>, t1: Arc<Texture<T>>,
[INFO] [stdout]    |                                                                    ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:32:36
[INFO] [stdout]    |
[INFO] [stdout] 32 | ...                   t2: Arc<Texture<T>>) -> CheckerboardTexture<T> {
[INFO] [stdout]    |                               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:97:18
[INFO] [stdout]    |
[INFO] [stdout] 97 |     mapping: Box<TextureMapping3D>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:98:15
[INFO] [stdout]    |
[INFO] [stdout] 98 |     tex1: Arc<Texture<T>>,
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:99:15
[INFO] [stdout]    |
[INFO] [stdout] 99 |     tex2: Arc<Texture<T>>,
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/checkerboard.rs:103:29
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn new(mapping: Box<TextureMapping3D>, t1: Arc<Texture<T>>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/checkerboard.rs:103:56
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn new(mapping: Box<TextureMapping3D>, t1: Arc<Texture<T>>,
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/checkerboard.rs:104:24
[INFO] [stdout]     |
[INFO] [stdout] 104 |                t2: Arc<Texture<T>>) -> Checkerboard3DTexture<T> {
[INFO] [stdout]     |                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mapping2d.rs:27:64
[INFO] [stdout]    |
[INFO] [stdout] 27 |     impl<U> TextureMapping2DBase for U where U: Deref<Target = TextureMapping2D> {
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/texture/mapping2d.rs:37:19
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn map(&self, &DifferentialGeometry) ->
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &DifferentialGeometry`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mapping3d.rs:20:64
[INFO] [stdout]    |
[INFO] [stdout] 20 |     impl<U> TextureMapping3DBase for U where U: Deref<Target = TextureMapping3D> {
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mix.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     tex1: Arc<Texture<T>>,
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mix.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     tex2: Arc<Texture<T>>,
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mix.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |     amount: Arc<Texture<f32>>
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mix.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(t1: Arc<Texture<T>>, t2: Arc<Texture<T>>,
[INFO] [stdout]    |                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mix.rs:16:45
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(t1: Arc<Texture<T>>, t2: Arc<Texture<T>>,
[INFO] [stdout]    |                                             ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mix.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 |                amt: Arc<Texture<f32>>) -> MixTexture<T> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/bilerp.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 |     mapping: Arc<TextureMapping2D>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/imagemap.rs:420:18
[INFO] [stdout]     |
[INFO] [stdout] 420 |     mapping: Box<TextureMapping2D>
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/bsdf/mod.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn matches_flags(&self, BxDFType) -> bool;
[INFO] [stdout]    |                             ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: BxDFType`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/imagemap.rs:510:12
[INFO] [stdout]     |
[INFO] [stdout] 510 |     m: Box<TextureMapping2D>, filename: &P, do_trilinear: bool, max_aniso: f32,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/imagemap.rs:521:12
[INFO] [stdout]     |
[INFO] [stdout] 521 |     m: Box<TextureMapping2D>, filename: &P, do_trilinear: bool, max_aniso: f32,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/bsdf/mod.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn f(&self, &Vector, &Vector) -> Spectrum;
[INFO] [stdout]    |                 ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/bsdf/mod.rs:42:26
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn f(&self, &Vector, &Vector) -> Spectrum;
[INFO] [stdout]    |                          ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/bsdf/mod.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn sample_f(&self, &Vector, f32, f32) -> (Vector, f32, Spectrum);
[INFO] [stdout]    |                        ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/uv.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 |     mapping: Box<TextureMapping2D>
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/uv.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(_mapping: Box<TextureMapping2D>) -> UVTexture {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/bsdf/mod.rs:43:33
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn sample_f(&self, &Vector, f32, f32) -> (Vector, f32, Spectrum);
[INFO] [stdout]    |                                 ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/bsdf/mod.rs:43:38
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn sample_f(&self, &Vector, f32, f32) -> (Vector, f32, Spectrum);
[INFO] [stdout]    |                                      ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bsdf/mod.rs:67:20
[INFO] [stdout]    |
[INFO] [stdout] 67 |     bxdfs: Vec<Box<BxDF>>
[INFO] [stdout]    |                    ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bsdf/mod.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |     bxdf: Box<BxDF>,
[INFO] [stdout]     |               ^^^^ help: use `dyn`: `dyn BxDF`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bsdf/mod.rs:203:27
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub fn new(input: Box<BxDF>, sc: Spectrum) -> ScaledBxDF {
[INFO] [stdout]     |                           ^^^^ help: use `dyn`: `dyn BxDF`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/intersection.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn intersect(&self, &Ray) -> Option<T>;
[INFO] [stdout]    |                         ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Ray`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/light/mod.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn le(&self, &RayDifferential) -> Spectrum {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &RayDifferential`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/light/mod.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn sample_l(&self, &Point, f32, LightSample, f32)
[INFO] [stdout]    |                        ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Point`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/dots.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 |     mapping: Box<TextureMapping2D>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/dots.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |     inside_dot: Arc<Texture<T>>,
[INFO] [stdout]    |                     ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/dots.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 |     outside_dot: Arc<Texture<T>>
[INFO] [stdout]    |                      ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/dots.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(mapping: Box<TextureMapping2D>, t1: Arc<Texture<T>>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/dots.rs:17:56
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(mapping: Box<TextureMapping2D>, t1: Arc<Texture<T>>,
[INFO] [stdout]    |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/dots.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |                t2: Arc<Texture<T>>) -> DotsTexture<T> {
[INFO] [stdout]    |                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/light/mod.rs:54:32
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn sample_l(&self, &Point, f32, LightSample, f32)
[INFO] [stdout]    |                                ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/light/mod.rs:54:37
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn sample_l(&self, &Point, f32, LightSample, f32)
[INFO] [stdout]    |                                     ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: LightSample`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/fbm.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 |     mapping: Box<TextureMapping3D>
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/fbm.rs:16:51
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(oct: i32, roughness: f32, map: Box<TextureMapping3D>) -> FBmTexture {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/light/mod.rs:54:50
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn sample_l(&self, &Point, f32, LightSample, f32)
[INFO] [stdout]    |                                                  ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/light/mod.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn power(&self, &Scene) -> Spectrum;
[INFO] [stdout]    |                     ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Scene`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/fbm.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 32 |     mapping: Box<TextureMapping3D>
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/fbm.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn new(oct: i32, roughness: f32, map: Box<TextureMapping3D>)
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 |     sigma: Arc<Texture<f32>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     bump_map: Option<Arc<Texture<f32>>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 17 |     k_d: Arc<Texture<Spectrum>>
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(kd: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/texture/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 |         fn eval(&self, &DifferentialGeometry) -> T;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &DifferentialGeometry`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mod.rs:27:61
[INFO] [stdout]    |
[INFO] [stdout] 27 |     impl<U, T> TextureBase<T> for U where U: Deref<Target = Texture<T>> {
[INFO] [stdout]    |                                                             ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |                sig: Arc<Texture<f32>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 |                bump_map: Option<Arc<Texture<f32>>>) -> MatteMaterial {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/texture/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn evaluate(&self, &DifferentialGeometry) -> T;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &DifferentialGeometry`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mod.rs:64:15
[INFO] [stdout]    |
[INFO] [stdout] 64 |     tex1: Arc<Texture<T>>,
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/measured.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 |     bump_map: Option<Arc<Texture<f32>>>
[INFO] [stdout]    |                          ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/measured.rs:25:48
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(filename: String, b: Option<Arc<Texture<f32>>>) -> MeasuredMaterial {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mix.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     scale: Arc<Texture<Spectrum>>
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mod.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |     tex2: Arc<Texture<U>>
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<U>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mod.rs:69:24
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn new(t1: Arc<Texture<T>>, t2: Arc<Texture<U>>) -> ScaleTexture<T, U> {
[INFO] [stdout]    |                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mix.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |                sc: Arc<Texture<Spectrum>>) -> MixMaterial {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 17 |     k_d: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mod.rs:69:45
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn new(t1: Arc<Texture<T>>, t2: Arc<Texture<U>>) -> ScaleTexture<T, U> {
[INFO] [stdout]    |                                             ^^^^^^^^^^ help: use `dyn`: `dyn Texture<U>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/transform/matrix4x4.rs:261:15
[INFO] [stdout]     |
[INFO] [stdout] 261 |             0 ... 3 => &self.m[i],
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |     k_s: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 |     roughness: Arc<Texture<f32>>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/transform/matrix4x4.rs:270:15
[INFO] [stdout]     |
[INFO] [stdout] 270 |             0 ... 3 => &mut self.m[i],
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     bump_map: Option<Arc<Texture<f32>>>
[INFO] [stdout]    |                          ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn new(kd: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]    --> src/transform/transform.rs:189:18
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn xf(&self, T) -> T;
[INFO] [stdout]     |                  ^ help: try naming the parameter or explicitly ignoring it: `_: T`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/transform/transform.rs:317:15
[INFO] [stdout]     |
[INFO] [stdout] 317 |             0 ... 3 => &self.m[i],
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/transform/transform.rs:326:15
[INFO] [stdout]     |
[INFO] [stdout] 326 |             0 ... 3 => &mut self.m[i],
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 |                ks: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |                rough: Arc<Texture<f32>>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/utils/kdtree.rs:35:23
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn run(&mut self, &Point, &NodeData, f32, &mut f32);
[INFO] [stdout]    |                       ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Point`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/utils/kdtree.rs:35:31
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn run(&mut self, &Point, &NodeData, f32, &mut f32);
[INFO] [stdout]    |                               ^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &NodeData`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/utils/kdtree.rs:35:42
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn run(&mut self, &Point, &NodeData, f32, &mut f32);
[INFO] [stdout]    |                                          ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 27 |                bm: Option<Arc<Texture<f32>>>) -> PlasticMaterial {
[INFO] [stdout]    |                               ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 17 |     k_r: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |     sigma_a: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 |     sigma_prime_s: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 |     eta: Arc<Texture<f32>>,
[INFO] [stdout]    |              ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 |     bump_map: Option<Arc<Texture<f32>>>
[INFO] [stdout]    |                          ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:25:37
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(scale: f32, k_r: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:26:29
[INFO] [stdout]    |
[INFO] [stdout] 26 |                sigma_a: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:27:35
[INFO] [stdout]    |
[INFO] [stdout] 27 |                sigma_prime_s: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |                eta: Arc<Texture<f32>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/subsurface.rs:29:37
[INFO] [stdout]    |
[INFO] [stdout] 29 |                bump_map: Option<Arc<Texture<f32>>>) -> SubsurfaceMaterial {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:90:26
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn matte(kd: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:91:27
[INFO] [stdout]    |
[INFO] [stdout] 91 |                  sig: Arc<Texture<f32>>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/utils/kdtree.rs:35:47
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn run(&mut self, &Point, &NodeData, f32, &mut f32);
[INFO] [stdout]    |                                               ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:92:39
[INFO] [stdout]    |
[INFO] [stdout] 92 |                  bump_map: Option<Arc<Texture<f32>>>) -> Material {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:96:28
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn plastic(kd: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:97:28
[INFO] [stdout]    |
[INFO] [stdout] 97 |                    ks: Arc<Texture<Spectrum>>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/volume/aggregate.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 |     regions: Vec<Arc<VolumeRegion>>,
[INFO] [stdout]    |                      ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/volume/aggregate.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(r: Vec<Arc<VolumeRegion>>) -> AggregateVolumeRegion {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:98:31
[INFO] [stdout]    |
[INFO] [stdout] 98 |                    rough: Arc<Texture<f32>>,
[INFO] [stdout]    |                               ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:99:35
[INFO] [stdout]    |
[INFO] [stdout] 99 |                    bm: Option<Arc<Texture<f32>>>) -> Material {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/density/mod.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 |         fn density(&self, Point) -> f32;
[INFO] [stdout]    |                           ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Point`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:22:27
[INFO] [stdout]    |
[INFO] [stdout] 22 |         fn sigma_a(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                           ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Point`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:22:35
[INFO] [stdout]    |
[INFO] [stdout] 22 |         fn sigma_a(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                                   ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/mod.rs:103:53
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn measured(filename: String, b: Option<Arc<Texture<f32>>>) -> Material {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/mod.rs:108:26
[INFO] [stdout]     |
[INFO] [stdout] 108 |                  sc: Arc<Texture<Spectrum>>) -> Material {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/mod.rs:112:44
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn subsurface(scale: f32, k_r: Arc<Texture<Spectrum>>,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/mod.rs:113:36
[INFO] [stdout]     |
[INFO] [stdout] 113 |                       sigma_a: Arc<Texture<Spectrum>>,
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/mod.rs:114:42
[INFO] [stdout]     |
[INFO] [stdout] 114 |                       sigma_prime_s: Arc<Texture<Spectrum>>,
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:22:44
[INFO] [stdout]    |
[INFO] [stdout] 22 |         fn sigma_a(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                                            ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/mod.rs:115:32
[INFO] [stdout]     |
[INFO] [stdout] 115 |                       eta: Arc<Texture<f32>>,
[INFO] [stdout]     |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 |         fn sigma_s(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                           ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Point`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material/mod.rs:116:38
[INFO] [stdout]     |
[INFO] [stdout] 116 |                       bm: Option<Arc<Texture<f32>>>) -> Material {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 |         fn sigma_s(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                                   ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:23:44
[INFO] [stdout]    |
[INFO] [stdout] 23 |         fn sigma_s(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                                            ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 |         fn l_ve(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                        ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Point`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 |         fn l_ve(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                                ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:264:45
[INFO] [stdout]     |
[INFO] [stdout] 264 |     float_textures: Arc<HashMap<String, Arc<Texture<f32>>>>,
[INFO] [stdout]     |                                             ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:24:41
[INFO] [stdout]    |
[INFO] [stdout] 24 |         fn l_ve(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                                         ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |         fn p(&self, &Point, &Vector, &Vector, f32) -> f32;
[INFO] [stdout]    |                     ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Point`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:265:48
[INFO] [stdout]     |
[INFO] [stdout] 265 |     spectrum_textures: Arc<HashMap<String, Arc<Texture<Spectrum>>>>,
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:270:54
[INFO] [stdout]     |
[INFO] [stdout] 270 | fn find_texture<T>(textures: Arc<HashMap<String, Arc<Texture<T>>>>,
[INFO] [stdout]     |                                                      ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |         fn p(&self, &Point, &Vector, &Vector, f32) -> f32;
[INFO] [stdout]    |                             ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:271:39
[INFO] [stdout]     |
[INFO] [stdout] 271 |                    name: &str) -> Arc<Texture<T>> {
[INFO] [stdout]     |                                       ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:273:41
[INFO] [stdout]     |
[INFO] [stdout] 273 |         Some(tex) => tex.clone() as Arc<Texture<T>>,
[INFO] [stdout]     |                                         ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:280:44
[INFO] [stdout]     |
[INFO] [stdout] 280 |                ft: Arc<HashMap<String, Arc<Texture<f32>>>>,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:281:44
[INFO] [stdout]     |
[INFO] [stdout] 281 |                st: Arc<HashMap<String, Arc<Texture<Spectrum>>>>)
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:292:40
[INFO] [stdout]     |
[INFO] [stdout] 292 | ...                   -> Arc<Texture<Spectrum>> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:296:56
[INFO] [stdout]     |
[INFO] [stdout] 296 |             Arc::new(ConstantTexture::new(val)) as Arc<Texture<Spectrum>>
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:301:55
[INFO] [stdout]     |
[INFO] [stdout] 301 | ...                   -> Option<Arc<Texture<Spectrum>>> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:307:37
[INFO] [stdout]     |
[INFO] [stdout] 307 | ...                   -> Arc<Texture<f32>> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:311:56
[INFO] [stdout]     |
[INFO] [stdout] 311 |             Arc::new(ConstantTexture::new(val)) as Arc<Texture<f32>>
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/params.rs:316:52
[INFO] [stdout]     |
[INFO] [stdout] 316 | ...                   -> Option<Arc<Texture<f32>>> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]  --> src/renderer.rs:9:26
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn render(&mut self, &scene::Scene);
[INFO] [stdout]   |                          ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &scene::Scene`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |         &self, &'a scene::Scene, &ray::RayDifferential,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a scene::Scene`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 |         &self, &'a scene::Scene, &ray::RayDifferential,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &ray::RayDifferential`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |         &Sample, &mut RNG) -> (Spectrum, Option<Intersection>, Spectrum);
[INFO] [stdout]    |         ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Sample`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 |         &Sample, &mut RNG) -> (Spectrum, Option<Intersection>, Spectrum);
[INFO] [stdout]    |                  ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut RNG`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |         &self, &scene::Scene, &ray::RayDifferential,
[INFO] [stdout]    |                ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &scene::Scene`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:22:31
[INFO] [stdout]    |
[INFO] [stdout] 22 |         &self, &scene::Scene, &ray::RayDifferential,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &ray::RayDifferential`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:25:38
[INFO] [stdout]    |
[INFO] [stdout] 25 |         fn p(&self, &Point, &Vector, &Vector, f32) -> f32;
[INFO] [stdout]    |                                      ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:25:47
[INFO] [stdout]    |
[INFO] [stdout] 25 |         fn p(&self, &Point, &Vector, &Vector, f32) -> f32;
[INFO] [stdout]    |                                               ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:26:23
[INFO] [stdout]    |
[INFO] [stdout] 26 |         fn tau(&self, &Ray, f32, f32) -> Spectrum;
[INFO] [stdout]    |                       ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Ray`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         &Sample, &mut RNG) -> Spectrum;
[INFO] [stdout]    |         ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Sample`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/renderer.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |         &Sample, &mut RNG) -> Spectrum;
[INFO] [stdout]    |                  ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut RNG`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/sampler_renderer.rs:197:47
[INFO] [stdout]     |
[INFO] [stdout] 197 |                 let accum = |acc, light: &Arc<Light>| acc + light.le(ray);
[INFO] [stdout]     |                                               ^^^^^ help: use `dyn`: `dyn Light`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/shape/mesh.rs:270:15
[INFO] [stdout]     |
[INFO] [stdout] 270 |             0 ... 2 => &(self.mesh.p[self.v[i]]),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/mesh.rs:284:22
[INFO] [stdout]     |
[INFO] [stdout] 284 |     atex: Option<Arc<Texture<f32>>>
[INFO] [stdout]     |                      ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/mesh.rs:301:58
[INFO] [stdout]     |
[INFO] [stdout] 301 |                uv: Option<&[f32]>, _atex: Option<Arc<Box<Texture<f32>>>>)
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/mesh.rs:312:50
[INFO] [stdout]     |
[INFO] [stdout] 312 |             atex: _atex.map(|t| t.clone() as Arc<Texture<f32>>)
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shape/mod.rs:188:48
[INFO] [stdout]     |
[INFO] [stdout] 188 |                          _atex: Option<Arc<Box<Texture<f32>>>>) -> Shape {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spectrum.rs:631:22
[INFO] [stdout]     |
[INFO] [stdout] 631 |                     0...29 => cs.get(index).unwrap(),
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:26:29
[INFO] [stdout]    |
[INFO] [stdout] 26 |         fn tau(&self, &Ray, f32, f32) -> Spectrum;
[INFO] [stdout]    |                             ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:26:34
[INFO] [stdout]    |
[INFO] [stdout] 26 |         fn tau(&self, &Ray, f32, f32) -> Spectrum;
[INFO] [stdout]    |                                  ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spectrum.rs:638:22
[INFO] [stdout]     |
[INFO] [stdout] 638 |                     0...2 => cs.get(index).unwrap(),
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spectrum.rs:651:22
[INFO] [stdout]     |
[INFO] [stdout] 651 |                     0...29 => cs.get_mut(index).unwrap(),
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spectrum.rs:658:22
[INFO] [stdout]     |
[INFO] [stdout] 658 |                     0...2 => cs.get_mut(index).unwrap(),
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 |     lights : Vec<Arc<Light>>,
[INFO] [stdout]    |                      ^^^^^ help: use `dyn`: `dyn Light`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 |     volume_region : Option<Arc<VolumeRegion>>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:33:37
[INFO] [stdout]    |
[INFO] [stdout] 33 |                     lights: Vec<Arc<Light>>,
[INFO] [stdout]    |                                     ^^^^^ help: use `dyn`: `dyn Light`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:34:47
[INFO] [stdout]    |
[INFO] [stdout] 34 |                     volume_region: Option<Arc<VolumeRegion>>) -> Scene {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:42:37
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn lights(&self) -> Vec<Arc<Light>> {
[INFO] [stdout]    |                                     ^^^^^ help: use `dyn`: `dyn Light`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |     mapping: Box<TextureMapping2D>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     tex1: Arc<Texture<T>>,
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 |     tex2: Arc<Texture<T>>,
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(mapping: Box<TextureMapping2D>, t1: Arc<Texture<T>>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:25:56
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(mapping: Box<TextureMapping2D>, t1: Arc<Texture<T>>,
[INFO] [stdout]    |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |                t2: Arc<Texture<T>>) -> CheckerboardTexture<T> {
[INFO] [stdout]    |                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:31:41
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn new_antialiased(mapping: Box<TextureMapping2D>, t1: Arc<Texture<T>>,
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:31:68
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn new_antialiased(mapping: Box<TextureMapping2D>, t1: Arc<Texture<T>>,
[INFO] [stdout]    |                                                                    ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:32:36
[INFO] [stdout]    |
[INFO] [stdout] 32 | ...                   t2: Arc<Texture<T>>) -> CheckerboardTexture<T> {
[INFO] [stdout]    |                               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:97:18
[INFO] [stdout]    |
[INFO] [stdout] 97 |     mapping: Box<TextureMapping3D>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:98:15
[INFO] [stdout]    |
[INFO] [stdout] 98 |     tex1: Arc<Texture<T>>,
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/checkerboard.rs:99:15
[INFO] [stdout]    |
[INFO] [stdout] 99 |     tex2: Arc<Texture<T>>,
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/checkerboard.rs:103:29
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn new(mapping: Box<TextureMapping3D>, t1: Arc<Texture<T>>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/checkerboard.rs:103:56
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn new(mapping: Box<TextureMapping3D>, t1: Arc<Texture<T>>,
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/checkerboard.rs:104:24
[INFO] [stdout]     |
[INFO] [stdout] 104 |                t2: Arc<Texture<T>>) -> Checkerboard3DTexture<T> {
[INFO] [stdout]     |                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/checkerboard.rs:132:66
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let tex1 = Arc::new(ConstantTexture::new(1.0f32)) as Arc<Texture<f32>>;
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/checkerboard.rs:133:66
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let tex2 = Arc::new(ConstantTexture::new(0.0f32)) as Arc<Texture<f32>>;
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/checkerboard.rs:150:66
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let tex1 = Arc::new(ConstantTexture::new(1.0f32)) as Arc<Texture<f32>>;
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/checkerboard.rs:151:66
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let tex2 = Arc::new(ConstantTexture::new(0.0f32)) as Arc<Texture<f32>>;
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/checkerboard.rs:171:66
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let tex1 = Arc::new(ConstantTexture::new(1.0f32)) as Arc<Texture<f32>>;
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/checkerboard.rs:172:66
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let tex2 = Arc::new(ConstantTexture::new(0.0f32)) as Arc<Texture<f32>>;
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mapping2d.rs:27:64
[INFO] [stdout]    |
[INFO] [stdout] 27 |     impl<U> TextureMapping2DBase for U where U: Deref<Target = TextureMapping2D> {
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/texture/mapping2d.rs:37:19
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn map(&self, &DifferentialGeometry) ->
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &DifferentialGeometry`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mapping3d.rs:20:64
[INFO] [stdout]    |
[INFO] [stdout] 20 |     impl<U> TextureMapping3DBase for U where U: Deref<Target = TextureMapping3D> {
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mix.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     tex1: Arc<Texture<T>>,
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mix.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     tex2: Arc<Texture<T>>,
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mix.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |     amount: Arc<Texture<f32>>
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mix.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(t1: Arc<Texture<T>>, t2: Arc<Texture<T>>,
[INFO] [stdout]    |                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mix.rs:16:45
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(t1: Arc<Texture<T>>, t2: Arc<Texture<T>>,
[INFO] [stdout]    |                                             ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mix.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 |                amt: Arc<Texture<f32>>) -> MixTexture<T> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mix.rs:38:56
[INFO] [stdout]    |
[INFO] [stdout] 38 |             Vector::new_with(1.0, -2.0, 15.0))) as Arc<Texture<Vector>>;
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Vector>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mix.rs:40:54
[INFO] [stdout]    |
[INFO] [stdout] 40 |             Vector::new_with(1.0, 2.0, 3.0))) as Arc<Texture<Vector>>;
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Vector>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mix.rs:41:66
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let amt = Arc::new(ConstantTexture::new(0.75f32)) as Arc<Texture<f32>>;
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/bilerp.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 |     mapping: Arc<TextureMapping2D>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/imagemap.rs:420:18
[INFO] [stdout]     |
[INFO] [stdout] 420 |     mapping: Box<TextureMapping2D>
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/imagemap.rs:510:12
[INFO] [stdout]     |
[INFO] [stdout] 510 |     m: Box<TextureMapping2D>, filename: &P, do_trilinear: bool, max_aniso: f32,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/texture/imagemap.rs:521:12
[INFO] [stdout]     |
[INFO] [stdout] 521 |     m: Box<TextureMapping2D>, filename: &P, do_trilinear: bool, max_aniso: f32,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/uv.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 |     mapping: Box<TextureMapping2D>
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/uv.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(_mapping: Box<TextureMapping2D>) -> UVTexture {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/dots.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 |     mapping: Box<TextureMapping2D>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/dots.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |     inside_dot: Arc<Texture<T>>,
[INFO] [stdout]    |                     ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/dots.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 |     outside_dot: Arc<Texture<T>>
[INFO] [stdout]    |                      ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/dots.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(mapping: Box<TextureMapping2D>, t1: Arc<Texture<T>>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/dots.rs:17:56
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(mapping: Box<TextureMapping2D>, t1: Arc<Texture<T>>,
[INFO] [stdout]    |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/dots.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |                t2: Arc<Texture<T>>) -> DotsTexture<T> {
[INFO] [stdout]    |                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/fbm.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 |     mapping: Box<TextureMapping3D>
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/fbm.rs:16:51
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(oct: i32, roughness: f32, map: Box<TextureMapping3D>) -> FBmTexture {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/fbm.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 32 |     mapping: Box<TextureMapping3D>
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/fbm.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn new(oct: i32, roughness: f32, map: Box<TextureMapping3D>)
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/texture/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 |         fn eval(&self, &DifferentialGeometry) -> T;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &DifferentialGeometry`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mod.rs:27:61
[INFO] [stdout]    |
[INFO] [stdout] 27 |     impl<U, T> TextureBase<T> for U where U: Deref<Target = Texture<T>> {
[INFO] [stdout]    |                                                             ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/texture/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn evaluate(&self, &DifferentialGeometry) -> T;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &DifferentialGeometry`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mod.rs:64:15
[INFO] [stdout]    |
[INFO] [stdout] 64 |     tex1: Arc<Texture<T>>,
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mod.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |     tex2: Arc<Texture<U>>
[INFO] [stdout]    |               ^^^^^^^^^^ help: use `dyn`: `dyn Texture<U>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mod.rs:69:24
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn new(t1: Arc<Texture<T>>, t2: Arc<Texture<U>>) -> ScaleTexture<T, U> {
[INFO] [stdout]    |                        ^^^^^^^^^^ help: use `dyn`: `dyn Texture<T>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mod.rs:69:45
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn new(t1: Arc<Texture<T>>, t2: Arc<Texture<U>>) -> ScaleTexture<T, U> {
[INFO] [stdout]    |                                             ^^^^^^^^^^ help: use `dyn`: `dyn Texture<U>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mod.rs:94:66
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let tex1 = Arc::new(ConstantTexture::new(2.0f32)) as Arc<Texture<f32>>;
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/primitive/mod.rs:31:57
[INFO] [stdout]    |
[INFO] [stdout] 31 | static NEXT_PRIM_ID: AtomicUsize = ::std::sync::atomic::ATOMIC_USIZE_INIT;
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture/mod.rs:96:20
[INFO] [stdout]    |
[INFO] [stdout] 96 |             as Arc<Texture<Vector>>;
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Vector>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/transform/matrix4x4.rs:261:15
[INFO] [stdout]     |
[INFO] [stdout] 261 |             0 ... 3 => &self.m[i],
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/transform/matrix4x4.rs:270:15
[INFO] [stdout]     |
[INFO] [stdout] 270 |             0 ... 3 => &mut self.m[i],
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/shape/mod.rs:41:58
[INFO] [stdout]    |
[INFO] [stdout] 41 | static NEXT_SHAPE_ID: AtomicUsize = ::std::sync::atomic::ATOMIC_USIZE_INIT;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/texture/imagemap.rs:410:1
[INFO] [stdout]     |
[INFO] [stdout] 410 | / lazy_static! {
[INFO] [stdout] 411 | |     static ref FLOAT_TEXTURES: Mutex<TextureCache<f32>> =
[INFO] [stdout] 412 | |         Mutex::new(TextureCache::new());
[INFO] [stdout] 413 | |     static ref SPECTRUM_TEXTURES: Mutex<TextureCache<Spectrum>> =
[INFO] [stdout] 414 | |         Mutex::new(TextureCache::new());
[INFO] [stdout] 415 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/texture/imagemap.rs:410:1
[INFO] [stdout]     |
[INFO] [stdout] 410 | / lazy_static! {
[INFO] [stdout] 411 | |     static ref FLOAT_TEXTURES: Mutex<TextureCache<f32>> =
[INFO] [stdout] 412 | |         Mutex::new(TextureCache::new());
[INFO] [stdout] 413 | |     static ref SPECTRUM_TEXTURES: Mutex<TextureCache<Spectrum>> =
[INFO] [stdout] 414 | |         Mutex::new(TextureCache::new());
[INFO] [stdout] 415 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]    --> src/transform/transform.rs:189:18
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn xf(&self, T) -> T;
[INFO] [stdout]     |                  ^ help: try naming the parameter or explicitly ignoring it: `_: T`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/transform/transform.rs:317:15
[INFO] [stdout]     |
[INFO] [stdout] 317 |             0 ... 3 => &self.m[i],
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/transform/transform.rs:326:15
[INFO] [stdout]     |
[INFO] [stdout] 326 |             0 ... 3 => &mut self.m[i],
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/utils/kdtree.rs:35:23
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn run(&mut self, &Point, &NodeData, f32, &mut f32);
[INFO] [stdout]    |                       ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Point`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/utils/kdtree.rs:35:31
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn run(&mut self, &Point, &NodeData, f32, &mut f32);
[INFO] [stdout]    |                               ^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &NodeData`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/utils/kdtree.rs:35:42
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn run(&mut self, &Point, &NodeData, f32, &mut f32);
[INFO] [stdout]    |                                          ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/utils/kdtree.rs:35:47
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn run(&mut self, &Point, &NodeData, f32, &mut f32);
[INFO] [stdout]    |                                               ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/volume/aggregate.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 |     regions: Vec<Arc<VolumeRegion>>,
[INFO] [stdout]    |                      ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/volume/aggregate.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(r: Vec<Arc<VolumeRegion>>) -> AggregateVolumeRegion {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/density/mod.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 |         fn density(&self, Point) -> f32;
[INFO] [stdout]    |                           ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Point`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:22:27
[INFO] [stdout]    |
[INFO] [stdout] 22 |         fn sigma_a(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                           ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Point`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:22:35
[INFO] [stdout]    |
[INFO] [stdout] 22 |         fn sigma_a(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                                   ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:22:44
[INFO] [stdout]    |
[INFO] [stdout] 22 |         fn sigma_a(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                                            ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 |         fn sigma_s(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                           ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Point`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 |         fn sigma_s(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                                   ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:23:44
[INFO] [stdout]    |
[INFO] [stdout] 23 |         fn sigma_s(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                                            ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 |         fn l_ve(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                        ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Point`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 |         fn l_ve(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                                ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:24:41
[INFO] [stdout]    |
[INFO] [stdout] 24 |         fn l_ve(&self, &Point, &Vector, f32) -> Spectrum;
[INFO] [stdout]    |                                         ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |         fn p(&self, &Point, &Vector, &Vector, f32) -> f32;
[INFO] [stdout]    |                     ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Point`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |         fn p(&self, &Point, &Vector, &Vector, f32) -> f32;
[INFO] [stdout]    |                             ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:25:38
[INFO] [stdout]    |
[INFO] [stdout] 25 |         fn p(&self, &Point, &Vector, &Vector, f32) -> f32;
[INFO] [stdout]    |                                      ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Vector`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:25:47
[INFO] [stdout]    |
[INFO] [stdout] 25 |         fn p(&self, &Point, &Vector, &Vector, f32) -> f32;
[INFO] [stdout]    |                                               ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:26:23
[INFO] [stdout]    |
[INFO] [stdout] 26 |         fn tau(&self, &Ray, f32, f32) -> Spectrum;
[INFO] [stdout]    |                       ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Ray`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:26:29
[INFO] [stdout]    |
[INFO] [stdout] 26 |         fn tau(&self, &Ray, f32, f32) -> Spectrum;
[INFO] [stdout]    |                             ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition.
[INFO] [stdout]   --> src/volume/mod.rs:26:34
[INFO] [stdout]    |
[INFO] [stdout] 26 |         fn tau(&self, &Ray, f32, f32) -> Spectrum;
[INFO] [stdout]    |                                  ^^^ help: try naming the parameter or explicitly ignoring it: `_: f32`
[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 #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/primitive/mod.rs:31:57
[INFO] [stdout]    |
[INFO] [stdout] 31 | static NEXT_PRIM_ID: AtomicUsize = ::std::sync::atomic::ATOMIC_USIZE_INIT;
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/shape/mod.rs:41:58
[INFO] [stdout]    |
[INFO] [stdout] 41 | static NEXT_SHAPE_ID: AtomicUsize = ::std::sync::atomic::ATOMIC_USIZE_INIT;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/texture/imagemap.rs:410:1
[INFO] [stdout]     |
[INFO] [stdout] 410 | / lazy_static! {
[INFO] [stdout] 411 | |     static ref FLOAT_TEXTURES: Mutex<TextureCache<f32>> =
[INFO] [stdout] 412 | |         Mutex::new(TextureCache::new());
[INFO] [stdout] 413 | |     static ref SPECTRUM_TEXTURES: Mutex<TextureCache<Spectrum>> =
[INFO] [stdout] 414 | |         Mutex::new(TextureCache::new());
[INFO] [stdout] 415 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/texture/imagemap.rs:410:1
[INFO] [stdout]     |
[INFO] [stdout] 410 | / lazy_static! {
[INFO] [stdout] 411 | |     static ref FLOAT_TEXTURES: Mutex<TextureCache<f32>> =
[INFO] [stdout] 412 | |         Mutex::new(TextureCache::new());
[INFO] [stdout] 413 | |     static ref SPECTRUM_TEXTURES: Mutex<TextureCache<Spectrum>> =
[INFO] [stdout] 414 | |         Mutex::new(TextureCache::new());
[INFO] [stdout] 415 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/bbox.rs:100:26
[INFO] [stdout]     |
[INFO] [stdout] 100 |             self.p_min.x.lerp(&self.p_max.x, tx),
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bbox.rs:100:31
[INFO] [stdout]     |
[INFO] [stdout] 100 |             self.p_min.x.lerp(&self.p_max.x, tx),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 100 -             self.p_min.x.lerp(&self.p_max.x, tx),
[INFO] [stdout] 100 +             self.p_min.x.lerp(self.p_max.x, tx),
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/bbox.rs:101:26
[INFO] [stdout]     |
[INFO] [stdout] 101 |             self.p_min.y.lerp(&self.p_max.y, ty),
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bbox.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |             self.p_min.y.lerp(&self.p_max.y, ty),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 101 -             self.p_min.y.lerp(&self.p_max.y, ty),
[INFO] [stdout] 101 +             self.p_min.y.lerp(self.p_max.y, ty),
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/bbox.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 |             self.p_min.z.lerp(&self.p_max.z, tz))
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bbox.rs:102:31
[INFO] [stdout]     |
[INFO] [stdout] 102 |             self.p_min.z.lerp(&self.p_max.z, tz))
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 102 -             self.p_min.z.lerp(&self.p_max.z, tz))
[INFO] [stdout] 102 +             self.p_min.z.lerp(self.p_max.z, tz))
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bsdf/measured.rs:169:90
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let remap = |v: f32, mx: f32, cnt: usize| { (((v / mx) * (cnt as f32)) as usize).clamp(0, cnt - 1) };
[INFO] [stdout]     |                                                                                          ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `usize`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let remap = |v: f32, mx: f32, cnt: usize| { Clamp::clamp((((v / mx) * (cnt as f32)) as usize), 0, cnt - 1) };
[INFO] [stdout]     |                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let remap = |v: f32, mx: f32, cnt: usize| { Ord::clamp((((v / mx) * (cnt as f32)) as usize), 0, cnt - 1) };
[INFO] [stdout]     |                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/camera/mod.rs:208:47
[INFO] [stdout]     |
[INFO] [stdout] 208 |         ray.set_time(self.base().shutter_open.lerp(&self.base().shutter_close, sample.time));
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/camera/mod.rs:208:52
[INFO] [stdout]     |
[INFO] [stdout] 208 |         ray.set_time(self.base().shutter_open.lerp(&self.base().shutter_close, sample.time));
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 208 -         ray.set_time(self.base().shutter_open.lerp(&self.base().shutter_close, sample.time));
[INFO] [stdout] 208 +         ray.set_time(self.base().shutter_open.lerp(self.base().shutter_close, sample.time));
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/camera/mod.rs:269:50
[INFO] [stdout]     |
[INFO] [stdout] 269 |         rd.ray.set_time(self.base().shutter_open.lerp(&self.base().shutter_close, sample.time));
[INFO] [stdout]     |                                                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/camera/mod.rs:269:55
[INFO] [stdout]     |
[INFO] [stdout] 269 |         rd.ray.set_time(self.base().shutter_open.lerp(&self.base().shutter_close, sample.time));
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 269 -         rd.ray.set_time(self.base().shutter_open.lerp(&self.base().shutter_close, sample.time));
[INFO] [stdout] 269 +         rd.ray.set_time(self.base().shutter_open.lerp(self.base().shutter_close, sample.time));
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/primitive/aggregates/grid.rs:115:58
[INFO] [stdout]     |
[INFO] [stdout] 115 |             ((delta[0] * voxels_per_unit_dist) as usize).clamp(1, 64),
[INFO] [stdout]     |                                                          ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `usize`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Clamp::clamp(((delta[0] * voxels_per_unit_dist) as usize), 1, 64),
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Ord::clamp(((delta[0] * voxels_per_unit_dist) as usize), 1, 64),
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/primitive/aggregates/grid.rs:116:58
[INFO] [stdout]     |
[INFO] [stdout] 116 |             ((delta[1] * voxels_per_unit_dist) as usize).clamp(1, 64),
[INFO] [stdout]     |                                                          ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `usize`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 116 |             Clamp::clamp(((delta[1] * voxels_per_unit_dist) as usize), 1, 64),
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 116 |             Ord::clamp(((delta[1] * voxels_per_unit_dist) as usize), 1, 64),
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/primitive/aggregates/grid.rs:117:58
[INFO] [stdout]     |
[INFO] [stdout] 117 |             ((delta[2] * voxels_per_unit_dist) as usize).clamp(1, 64)];
[INFO] [stdout]     |                                                          ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `usize`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 117 |             Clamp::clamp(((delta[2] * voxels_per_unit_dist) as usize), 1, 64)];
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 117 |             Ord::clamp(((delta[2] * voxels_per_unit_dist) as usize), 1, 64)];
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/primitive/aggregates/grid.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout] 190 |             .clamp(0, self.num_voxels[axis] - 1)
[INFO] [stdout]     |              ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `usize`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 189 |         Clamp::clamp((((p[axis] - self.bounds.p_min[axis]) * self.inv_width[axis]) as usize), 0, self.num_voxels[axis] - 1)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 189 |         Ord::clamp((((p[axis] - self.bounds.p_min[axis]) * self.inv_width[axis]) as usize), 0, self.num_voxels[axis] - 1)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/bbox.rs:100:26
[INFO] [stdout]     |
[INFO] [stdout] 100 |             self.p_min.x.lerp(&self.p_max.x, tx),
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bbox.rs:100:31
[INFO] [stdout]     |
[INFO] [stdout] 100 |             self.p_min.x.lerp(&self.p_max.x, tx),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 100 -             self.p_min.x.lerp(&self.p_max.x, tx),
[INFO] [stdout] 100 +             self.p_min.x.lerp(self.p_max.x, tx),
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/bbox.rs:101:26
[INFO] [stdout]     |
[INFO] [stdout] 101 |             self.p_min.y.lerp(&self.p_max.y, ty),
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bbox.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |             self.p_min.y.lerp(&self.p_max.y, ty),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 101 -             self.p_min.y.lerp(&self.p_max.y, ty),
[INFO] [stdout] 101 +             self.p_min.y.lerp(self.p_max.y, ty),
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/bbox.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 |             self.p_min.z.lerp(&self.p_max.z, tz))
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bbox.rs:102:31
[INFO] [stdout]     |
[INFO] [stdout] 102 |             self.p_min.z.lerp(&self.p_max.z, tz))
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 102 -             self.p_min.z.lerp(&self.p_max.z, tz))
[INFO] [stdout] 102 +             self.p_min.z.lerp(self.p_max.z, tz))
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bsdf/measured.rs:169:90
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let remap = |v: f32, mx: f32, cnt: usize| { (((v / mx) * (cnt as f32)) as usize).clamp(0, cnt - 1) };
[INFO] [stdout]     |                                                                                          ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `usize`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let remap = |v: f32, mx: f32, cnt: usize| { utils::Clamp::clamp((((v / mx) * (cnt as f32)) as usize), 0, cnt - 1) };
[INFO] [stdout]     |                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let remap = |v: f32, mx: f32, cnt: usize| { Ord::clamp((((v / mx) * (cnt as f32)) as usize), 0, cnt - 1) };
[INFO] [stdout]     |                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/base.rs:42:31
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let new_x_start = psx.lerp(&pex, tx0) as i32;
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/base.rs:42:36
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let new_x_start = psx.lerp(&pex, tx0) as i32;
[INFO] [stdout]    |                                    ^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 42 -         let new_x_start = psx.lerp(&pex, tx0) as i32;
[INFO] [stdout] 42 +         let new_x_start = psx.lerp(pex, tx0) as i32;
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/base.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let new_x_end = psx.lerp(&pex, tx1) as i32;
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/base.rs:43:34
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let new_x_end = psx.lerp(&pex, tx1) as i32;
[INFO] [stdout]    |                                  ^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 43 -         let new_x_end = psx.lerp(&pex, tx1) as i32;
[INFO] [stdout] 43 +         let new_x_end = psx.lerp(pex, tx1) as i32;
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/base.rs:44:31
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let new_y_start = psy.lerp(&pey, ty0) as i32;
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/base.rs:44:36
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let new_y_start = psy.lerp(&pey, ty0) as i32;
[INFO] [stdout]    |                                    ^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 44 -         let new_y_start = psy.lerp(&pey, ty0) as i32;
[INFO] [stdout] 44 +         let new_y_start = psy.lerp(pey, ty0) as i32;
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/base.rs:45:29
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let new_y_end = psy.lerp(&pey, ty1) as i32;
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/base.rs:45:34
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let new_y_end = psy.lerp(&pey, ty1) as i32;
[INFO] [stdout]    |                                  ^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 45 -         let new_y_end = psy.lerp(&pey, ty1) as i32;
[INFO] [stdout] 45 +         let new_y_end = psy.lerp(pey, ty1) as i32;
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/halton.rs:68:18
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 .lerp(&((self.base.x_pixel_start as f32) + lerp_delta), u);
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/halton.rs:68:23
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 .lerp(&((self.base.x_pixel_start as f32) + lerp_delta), u);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 68 -                 .lerp(&((self.base.x_pixel_start as f32) + lerp_delta), u);
[INFO] [stdout] 68 +                 .lerp(((self.base.x_pixel_start as f32) + lerp_delta), u);
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/halton.rs:70:18
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 .lerp(&((self.base.y_pixel_start as f32) + lerp_delta), v);
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/halton.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 .lerp(&((self.base.y_pixel_start as f32) + lerp_delta), v);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 70 -                 .lerp(&((self.base.y_pixel_start as f32) + lerp_delta), v);
[INFO] [stdout] 70 +                 .lerp(((self.base.y_pixel_start as f32) + lerp_delta), v);
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/halton.rs:82:44
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let t = self.base.shutter_open.lerp(
[INFO] [stdout]    |                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/halton.rs:83:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 &self.base.shutter_close,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 83 -                 &self.base.shutter_close,
[INFO] [stdout] 83 +                 self.base.shutter_close,
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/stratified.rs:91:44
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let t = self.base.shutter_open.lerp(
[INFO] [stdout]    |                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/stratified.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 &self.base.shutter_close, time_samples[i]);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 92 -                 &self.base.shutter_close, time_samples[i]);
[INFO] [stdout] 92 +                 self.base.shutter_close, time_samples[i]);
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/camera/mod.rs:208:47
[INFO] [stdout]     |
[INFO] [stdout] 208 |         ray.set_time(self.base().shutter_open.lerp(&self.base().shutter_close, sample.time));
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/camera/mod.rs:208:52
[INFO] [stdout]     |
[INFO] [stdout] 208 |         ray.set_time(self.base().shutter_open.lerp(&self.base().shutter_close, sample.time));
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 208 -         ray.set_time(self.base().shutter_open.lerp(&self.base().shutter_close, sample.time));
[INFO] [stdout] 208 +         ray.set_time(self.base().shutter_open.lerp(self.base().shutter_close, sample.time));
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/camera/mod.rs:269:50
[INFO] [stdout]     |
[INFO] [stdout] 269 |         rd.ray.set_time(self.base().shutter_open.lerp(&self.base().shutter_close, sample.time));
[INFO] [stdout]     |                                                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/camera/mod.rs:269:55
[INFO] [stdout]     |
[INFO] [stdout] 269 |         rd.ray.set_time(self.base().shutter_open.lerp(&self.base().shutter_close, sample.time));
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 269 -         rd.ray.set_time(self.base().shutter_open.lerp(&self.base().shutter_close, sample.time));
[INFO] [stdout] 269 +         rd.ray.set_time(self.base().shutter_open.lerp(self.base().shutter_close, sample.time));
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/sampler/utils.rs:137:30
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let t = shutter_open.lerp(&shutter_close, time_samples[i]);
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/sampler/utils.rs:137:35
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let t = shutter_open.lerp(&shutter_close, time_samples[i]);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 137 -         let t = shutter_open.lerp(&shutter_close, time_samples[i]);
[INFO] [stdout] 137 +         let t = shutter_open.lerp(shutter_close, time_samples[i]);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/primitive/aggregates/grid.rs:115:58
[INFO] [stdout]     |
[INFO] [stdout] 115 |             ((delta[0] * voxels_per_unit_dist) as usize).clamp(1, 64),
[INFO] [stdout]     |                                                          ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `usize`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 115 |             utils::Clamp::clamp(((delta[0] * voxels_per_unit_dist) as usize), 1, 64),
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Ord::clamp(((delta[0] * voxels_per_unit_dist) as usize), 1, 64),
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/primitive/aggregates/grid.rs:116:58
[INFO] [stdout]     |
[INFO] [stdout] 116 |             ((delta[1] * voxels_per_unit_dist) as usize).clamp(1, 64),
[INFO] [stdout]     |                                                          ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `usize`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 116 |             utils::Clamp::clamp(((delta[1] * voxels_per_unit_dist) as usize), 1, 64),
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 116 |             Ord::clamp(((delta[1] * voxels_per_unit_dist) as usize), 1, 64),
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/primitive/aggregates/grid.rs:117:58
[INFO] [stdout]     |
[INFO] [stdout] 117 |             ((delta[2] * voxels_per_unit_dist) as usize).clamp(1, 64)];
[INFO] [stdout]     |                                                          ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `usize`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 117 |             utils::Clamp::clamp(((delta[2] * voxels_per_unit_dist) as usize), 1, 64)];
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 117 |             Ord::clamp(((delta[2] * voxels_per_unit_dist) as usize), 1, 64)];
[INFO] [stdout]     |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/primitive/aggregates/grid.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout] 190 |             .clamp(0, self.num_voxels[axis] - 1)
[INFO] [stdout]     |              ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `usize`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 189 |         utils::Clamp::clamp((((p[axis] - self.bounds.p_min[axis]) * self.inv_width[axis]) as usize), 0, self.num_voxels[axis] - 1)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 189 |         Ord::clamp((((p[axis] - self.bounds.p_min[axis]) * self.inv_width[axis]) as usize), 0, self.num_voxels[axis] - 1)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/base.rs:42:31
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let new_x_start = psx.lerp(&pex, tx0) as i32;
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/base.rs:42:36
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let new_x_start = psx.lerp(&pex, tx0) as i32;
[INFO] [stdout]    |                                    ^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 42 -         let new_x_start = psx.lerp(&pex, tx0) as i32;
[INFO] [stdout] 42 +         let new_x_start = psx.lerp(pex, tx0) as i32;
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/base.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let new_x_end = psx.lerp(&pex, tx1) as i32;
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/base.rs:43:34
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let new_x_end = psx.lerp(&pex, tx1) as i32;
[INFO] [stdout]    |                                  ^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 43 -         let new_x_end = psx.lerp(&pex, tx1) as i32;
[INFO] [stdout] 43 +         let new_x_end = psx.lerp(pex, tx1) as i32;
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/base.rs:44:31
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let new_y_start = psy.lerp(&pey, ty0) as i32;
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/base.rs:44:36
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let new_y_start = psy.lerp(&pey, ty0) as i32;
[INFO] [stdout]    |                                    ^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 44 -         let new_y_start = psy.lerp(&pey, ty0) as i32;
[INFO] [stdout] 44 +         let new_y_start = psy.lerp(pey, ty0) as i32;
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/base.rs:45:29
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let new_y_end = psy.lerp(&pey, ty1) as i32;
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/base.rs:45:34
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let new_y_end = psy.lerp(&pey, ty1) as i32;
[INFO] [stdout]    |                                  ^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 45 -         let new_y_end = psy.lerp(&pey, ty1) as i32;
[INFO] [stdout] 45 +         let new_y_end = psy.lerp(pey, ty1) as i32;
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/halton.rs:68:18
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 .lerp(&((self.base.x_pixel_start as f32) + lerp_delta), u);
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/halton.rs:68:23
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 .lerp(&((self.base.x_pixel_start as f32) + lerp_delta), u);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 68 -                 .lerp(&((self.base.x_pixel_start as f32) + lerp_delta), u);
[INFO] [stdout] 68 +                 .lerp(((self.base.x_pixel_start as f32) + lerp_delta), u);
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/halton.rs:70:18
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 .lerp(&((self.base.y_pixel_start as f32) + lerp_delta), v);
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/halton.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 .lerp(&((self.base.y_pixel_start as f32) + lerp_delta), v);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 70 -                 .lerp(&((self.base.y_pixel_start as f32) + lerp_delta), v);
[INFO] [stdout] 70 +                 .lerp(((self.base.y_pixel_start as f32) + lerp_delta), v);
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/halton.rs:82:44
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let t = self.base.shutter_open.lerp(
[INFO] [stdout]    |                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/halton.rs:83:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 &self.base.shutter_close,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 83 -                 &self.base.shutter_close,
[INFO] [stdout] 83 +                 self.base.shutter_close,
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/spectrum.rs:89:25
[INFO] [stdout]    |
[INFO] [stdout] 89 |             seg_start_v.lerp(&seg_end_v, t)
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/spectrum.rs:89:30
[INFO] [stdout]    |
[INFO] [stdout] 89 |             seg_start_v.lerp(&seg_end_v, t)
[INFO] [stdout]    |                              ^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 89 -             seg_start_v.lerp(&seg_end_v, t)
[INFO] [stdout] 89 +             seg_start_v.lerp(seg_end_v, t)
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/sampler/stratified.rs:91:44
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let t = self.base.shutter_open.lerp(
[INFO] [stdout]    |                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sampler/stratified.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 &self.base.shutter_close, time_samples[i]);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 92 -                 &self.base.shutter_close, time_samples[i]);
[INFO] [stdout] 92 +                 self.base.shutter_close, time_samples[i]);
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/sampler/utils.rs:137:30
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let t = shutter_open.lerp(&shutter_close, time_samples[i]);
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/sampler/utils.rs:137:35
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let t = shutter_open.lerp(&shutter_close, time_samples[i]);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 137 -         let t = shutter_open.lerp(&shutter_close, time_samples[i]);
[INFO] [stdout] 137 +         let t = shutter_open.lerp(shutter_close, time_samples[i]);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/spectrum.rs:407:32
[INFO] [stdout]     |
[INFO] [stdout] 407 |             let lambda0 = minl.lerp(&maxl, (i as f32) / ns);
[INFO] [stdout]     |                                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/spectrum.rs:407:37
[INFO] [stdout]     |
[INFO] [stdout] 407 |             let lambda0 = minl.lerp(&maxl, (i as f32) / ns);
[INFO] [stdout]     |                                     ^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 407 -             let lambda0 = minl.lerp(&maxl, (i as f32) / ns);
[INFO] [stdout] 407 +             let lambda0 = minl.lerp(maxl, (i as f32) / ns);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/spectrum.rs:408:32
[INFO] [stdout]     |
[INFO] [stdout] 408 |             let lambda1 = minl.lerp(&maxl, ((i + 1) as f32) / ns);
[INFO] [stdout]     |                                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/spectrum.rs:408:37
[INFO] [stdout]     |
[INFO] [stdout] 408 |             let lambda1 = minl.lerp(&maxl, ((i + 1) as f32) / ns);
[INFO] [stdout]     |                                     ^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 408 -             let lambda1 = minl.lerp(&maxl, ((i + 1) as f32) / ns);
[INFO] [stdout] 408 +             let lambda1 = minl.lerp(maxl, ((i + 1) as f32) / ns);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/texture/imagemap.rs:86:36
[INFO] [stdout]    |
[INFO] [stdout] 86 |             ImageWrap::Clamp => ft.clamp(0, (dim-1) as i32),
[INFO] [stdout]    |                                    ^^^^^ multiple `clamp` found
[INFO] [stdout]    |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `Clamp` for the type `T`
[INFO] [stdout]   --> src/utils/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 86 |             ImageWrap::Clamp => Clamp::clamp(ft, 0, (dim-1) as i32),
[INFO] [stdout]    |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 86 |             ImageWrap::Clamp => Ord::clamp(ft, 0, (dim-1) as i32),
[INFO] [stdout]    |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/texture/imagemap.rs:149:33
[INFO] [stdout]     |
[INFO] [stdout] 149 |         ImageWrap::Clamp => (_s.clamp(0, (level.width() - 1) as i32),
[INFO] [stdout]     |                                 ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 149 |         ImageWrap::Clamp => (Clamp::clamp(_s, 0, (level.width() - 1) as i32),
[INFO] [stdout]     |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 149 |         ImageWrap::Clamp => (Ord::clamp(_s, 0, (level.width() - 1) as i32),
[INFO] [stdout]     |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/texture/imagemap.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 | ...                   _t.clamp(0, (level.height() - 1) as i32)),
[INFO] [stdout]     |                          ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 150 |                              Clamp::clamp(_t, 0, (level.height() - 1) as i32)),
[INFO] [stdout]     |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 150 |                              Ord::clamp(_t, 0, (level.height() - 1) as i32)),
[INFO] [stdout]     |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/texture/imagemap.rs:241:28
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let level = _level.clamp(0, self.levels() - 1);
[INFO] [stdout]     |                            ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `usize`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let level = Clamp::clamp(_level, 0, self.levels() - 1);
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let level = Ord::clamp(_level, 0, self.levels() - 1);
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]   --> src/spectrum.rs:89:25
[INFO] [stdout]    |
[INFO] [stdout] 89 |             seg_start_v.lerp(&seg_end_v, t)
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/spectrum.rs:89:30
[INFO] [stdout]    |
[INFO] [stdout] 89 |             seg_start_v.lerp(&seg_end_v, t)
[INFO] [stdout]    |                              ^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]    |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 89 -             seg_start_v.lerp(&seg_end_v, t)
[INFO] [stdout] 89 +             seg_start_v.lerp(seg_end_v, t)
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/spectrum.rs:407:32
[INFO] [stdout]     |
[INFO] [stdout] 407 |             let lambda0 = minl.lerp(&maxl, (i as f32) / ns);
[INFO] [stdout]     |                                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/spectrum.rs:407:37
[INFO] [stdout]     |
[INFO] [stdout] 407 |             let lambda0 = minl.lerp(&maxl, (i as f32) / ns);
[INFO] [stdout]     |                                     ^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 407 -             let lambda0 = minl.lerp(&maxl, (i as f32) / ns);
[INFO] [stdout] 407 +             let lambda0 = minl.lerp(maxl, (i as f32) / ns);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/spectrum.rs:408:32
[INFO] [stdout]     |
[INFO] [stdout] 408 |             let lambda1 = minl.lerp(&maxl, ((i + 1) as f32) / ns);
[INFO] [stdout]     |                                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/spectrum.rs:408:37
[INFO] [stdout]     |
[INFO] [stdout] 408 |             let lambda1 = minl.lerp(&maxl, ((i + 1) as f32) / ns);
[INFO] [stdout]     |                                     ^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 408 -             let lambda1 = minl.lerp(&maxl, ((i + 1) as f32) / ns);
[INFO] [stdout] 408 +             let lambda1 = minl.lerp(maxl, ((i + 1) as f32) / ns);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/transform/animated.rs:237:37
[INFO] [stdout]     |
[INFO] [stdout] 237 |             let t = self.start_time.lerp(&self.end_time,
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/transform/animated.rs:237:42
[INFO] [stdout]     |
[INFO] [stdout] 237 |             let t = self.start_time.lerp(&self.end_time,
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 237 -             let t = self.start_time.lerp(&self.end_time,
[INFO] [stdout] 237 +             let t = self.start_time.lerp(self.end_time,
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/texture/imagemap.rs:86:36
[INFO] [stdout]    |
[INFO] [stdout] 86 |             ImageWrap::Clamp => ft.clamp(0, (dim-1) as i32),
[INFO] [stdout]    |                                    ^^^^^ multiple `clamp` found
[INFO] [stdout]    |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]   --> src/utils/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 86 |             ImageWrap::Clamp => utils::Clamp::clamp(ft, 0, (dim-1) as i32),
[INFO] [stdout]    |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 86 |             ImageWrap::Clamp => Ord::clamp(ft, 0, (dim-1) as i32),
[INFO] [stdout]    |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/texture/imagemap.rs:149:33
[INFO] [stdout]     |
[INFO] [stdout] 149 |         ImageWrap::Clamp => (_s.clamp(0, (level.width() - 1) as i32),
[INFO] [stdout]     |                                 ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 149 |         ImageWrap::Clamp => (utils::Clamp::clamp(_s, 0, (level.width() - 1) as i32),
[INFO] [stdout]     |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 149 |         ImageWrap::Clamp => (Ord::clamp(_s, 0, (level.width() - 1) as i32),
[INFO] [stdout]     |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/texture/imagemap.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 | ...                   _t.clamp(0, (level.height() - 1) as i32)),
[INFO] [stdout]     |                          ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 150 |                              utils::Clamp::clamp(_t, 0, (level.height() - 1) as i32)),
[INFO] [stdout]     |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 150 |                              Ord::clamp(_t, 0, (level.height() - 1) as i32)),
[INFO] [stdout]     |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/texture/imagemap.rs:241:28
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let level = _level.clamp(0, self.levels() - 1);
[INFO] [stdout]     |                            ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `usize`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let level = utils::Clamp::clamp(_level, 0, self.levels() - 1);
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let level = Ord::clamp(_level, 0, self.levels() - 1);
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/volume/density/volume_grid.rs:47:20
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let x = _x.clamp(0, (self.nx - 1) as i32) as usize;
[INFO] [stdout]    |                    ^^^^^ multiple `clamp` found
[INFO] [stdout]    |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `Clamp` for the type `T`
[INFO] [stdout]   --> src/utils/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let x = Clamp::clamp(_x, 0, (self.nx - 1) as i32) as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let x = Ord::clamp(_x, 0, (self.nx - 1) as i32) as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/volume/density/volume_grid.rs:48:20
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let y = _y.clamp(0, (self.ny - 1) as i32) as usize;
[INFO] [stdout]    |                    ^^^^^ multiple `clamp` found
[INFO] [stdout]    |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `Clamp` for the type `T`
[INFO] [stdout]   --> src/utils/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let y = Clamp::clamp(_y, 0, (self.ny - 1) as i32) as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let y = Ord::clamp(_y, 0, (self.ny - 1) as i32) as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/volume/density/volume_grid.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let z = _z.clamp(0, (self.nz - 1) as i32) as usize;
[INFO] [stdout]    |                    ^^^^^ multiple `clamp` found
[INFO] [stdout]    |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `Clamp` for the type `T`
[INFO] [stdout]   --> src/utils/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let z = Clamp::clamp(_z, 0, (self.nz - 1) as i32) as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let z = Ord::clamp(_z, 0, (self.nz - 1) as i32) as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/transform/animated.rs:237:37
[INFO] [stdout]     |
[INFO] [stdout] 237 |             let t = self.start_time.lerp(&self.end_time,
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/transform/animated.rs:237:42
[INFO] [stdout]     |
[INFO] [stdout] 237 |             let t = self.start_time.lerp(&self.end_time,
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 237 -             let t = self.start_time.lerp(&self.end_time,
[INFO] [stdout] 237 +             let t = self.start_time.lerp(self.end_time,
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/volume/density/volume_grid.rs:47:20
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let x = _x.clamp(0, (self.nx - 1) as i32) as usize;
[INFO] [stdout]    |                    ^^^^^ multiple `clamp` found
[INFO] [stdout]    |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]   --> src/utils/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let x = utils::Clamp::clamp(_x, 0, (self.nx - 1) as i32) as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let x = Ord::clamp(_x, 0, (self.nx - 1) as i32) as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/volume/density/volume_grid.rs:48:20
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let y = _y.clamp(0, (self.ny - 1) as i32) as usize;
[INFO] [stdout]    |                    ^^^^^ multiple `clamp` found
[INFO] [stdout]    |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]   --> src/utils/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let y = utils::Clamp::clamp(_y, 0, (self.ny - 1) as i32) as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let y = Ord::clamp(_y, 0, (self.ny - 1) as i32) as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/volume/density/volume_grid.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let z = _z.clamp(0, (self.nz - 1) as i32) as usize;
[INFO] [stdout]    |                    ^^^^^ multiple `clamp` found
[INFO] [stdout]    |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]   --> src/utils/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let z = utils::Clamp::clamp(_z, 0, (self.nz - 1) as i32) as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let z = Ord::clamp(_z, 0, (self.nz - 1) as i32) as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 48 previous errors; 178 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0034, E0308, E0658.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pbrt_rust` due to 49 previous errors; 178 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:243:25
[INFO] [stdout]     |
[INFO] [stdout] 243 |         assert_eq!(0f32.lerp(&1f32, 0f32), 0f32);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:243:30
[INFO] [stdout]     |
[INFO] [stdout] 243 |         assert_eq!(0f32.lerp(&1f32, 0f32), 0f32);
[INFO] [stdout]     |                              ^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 243 -         assert_eq!(0f32.lerp(&1f32, 0f32), 0f32);
[INFO] [stdout] 243 +         assert_eq!(0f32.lerp(1f32, 0f32), 0f32);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:244:25
[INFO] [stdout]     |
[INFO] [stdout] 244 |         assert_eq!(0f32.lerp(&1f32, 1f32), 1f32);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:244:30
[INFO] [stdout]     |
[INFO] [stdout] 244 |         assert_eq!(0f32.lerp(&1f32, 1f32), 1f32);
[INFO] [stdout]     |                              ^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 244 -         assert_eq!(0f32.lerp(&1f32, 1f32), 1f32);
[INFO] [stdout] 244 +         assert_eq!(0f32.lerp(1f32, 1f32), 1f32);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:245:25
[INFO] [stdout]     |
[INFO] [stdout] 245 |         assert_eq!(0f32.lerp(&1f32, 0.1f32), 0.1f32);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:245:30
[INFO] [stdout]     |
[INFO] [stdout] 245 |         assert_eq!(0f32.lerp(&1f32, 0.1f32), 0.1f32);
[INFO] [stdout]     |                              ^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 245 -         assert_eq!(0f32.lerp(&1f32, 0.1f32), 0.1f32);
[INFO] [stdout] 245 +         assert_eq!(0f32.lerp(1f32, 0.1f32), 0.1f32);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:247:25
[INFO] [stdout]     |
[INFO] [stdout] 247 |         assert_eq!(1f32.lerp(&0f32, 0f32), 1f32);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:247:30
[INFO] [stdout]     |
[INFO] [stdout] 247 |         assert_eq!(1f32.lerp(&0f32, 0f32), 1f32);
[INFO] [stdout]     |                              ^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 247 -         assert_eq!(1f32.lerp(&0f32, 0f32), 1f32);
[INFO] [stdout] 247 +         assert_eq!(1f32.lerp(0f32, 0f32), 1f32);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:248:25
[INFO] [stdout]     |
[INFO] [stdout] 248 |         assert_eq!(1f32.lerp(&0f32, 1f32), 0f32);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:248:30
[INFO] [stdout]     |
[INFO] [stdout] 248 |         assert_eq!(1f32.lerp(&0f32, 1f32), 0f32);
[INFO] [stdout]     |                              ^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 248 -         assert_eq!(1f32.lerp(&0f32, 1f32), 0f32);
[INFO] [stdout] 248 +         assert_eq!(1f32.lerp(0f32, 1f32), 0f32);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:249:25
[INFO] [stdout]     |
[INFO] [stdout] 249 |         assert_eq!(1f32.lerp(&0f32, 0.1f32), 0.9f32);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:249:30
[INFO] [stdout]     |
[INFO] [stdout] 249 |         assert_eq!(1f32.lerp(&0f32, 0.1f32), 0.9f32);
[INFO] [stdout]     |                              ^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 249 -         assert_eq!(1f32.lerp(&0f32, 0.1f32), 0.9f32);
[INFO] [stdout] 249 +         assert_eq!(1f32.lerp(0f32, 0.1f32), 0.9f32);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:251:25
[INFO] [stdout]     |
[INFO] [stdout] 251 |         assert_eq!(1f32.lerp(&1f32, 0f32), 1f32);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:251:30
[INFO] [stdout]     |
[INFO] [stdout] 251 |         assert_eq!(1f32.lerp(&1f32, 0f32), 1f32);
[INFO] [stdout]     |                              ^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 251 -         assert_eq!(1f32.lerp(&1f32, 0f32), 1f32);
[INFO] [stdout] 251 +         assert_eq!(1f32.lerp(1f32, 0f32), 1f32);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:252:25
[INFO] [stdout]     |
[INFO] [stdout] 252 |         assert_eq!(0f32.lerp(&0f32, 1f32), 0f32);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:252:30
[INFO] [stdout]     |
[INFO] [stdout] 252 |         assert_eq!(0f32.lerp(&0f32, 1f32), 0f32);
[INFO] [stdout]     |                              ^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 252 -         assert_eq!(0f32.lerp(&0f32, 1f32), 0f32);
[INFO] [stdout] 252 +         assert_eq!(0f32.lerp(0f32, 1f32), 0f32);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:254:27
[INFO] [stdout]     |
[INFO] [stdout] 254 |         assert_eq!(0.1f32.lerp(&0.2f32, 0.1f32), 0.11f32);
[INFO] [stdout]     |                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:254:32
[INFO] [stdout]     |
[INFO] [stdout] 254 |         assert_eq!(0.1f32.lerp(&0.2f32, 0.1f32), 0.11f32);
[INFO] [stdout]     |                                ^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 254 -         assert_eq!(0.1f32.lerp(&0.2f32, 0.1f32), 0.11f32);
[INFO] [stdout] 254 +         assert_eq!(0.1f32.lerp(0.2f32, 0.1f32), 0.11f32);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:255:27
[INFO] [stdout]     |
[INFO] [stdout] 255 |         assert_eq!(0.1f32.lerp(&0.2f32, 1f32), 0.2f32);
[INFO] [stdout]     |                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:255:32
[INFO] [stdout]     |
[INFO] [stdout] 255 |         assert_eq!(0.1f32.lerp(&0.2f32, 1f32), 0.2f32);
[INFO] [stdout]     |                                ^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 255 -         assert_eq!(0.1f32.lerp(&0.2f32, 1f32), 0.2f32);
[INFO] [stdout] 255 +         assert_eq!(0.1f32.lerp(0.2f32, 1f32), 0.2f32);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:257:26
[INFO] [stdout]     |
[INFO] [stdout] 257 |         assert!(f32::NAN.lerp(&0.2f32, 1f32).is_nan());
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:257:31
[INFO] [stdout]     |
[INFO] [stdout] 257 |         assert!(f32::NAN.lerp(&0.2f32, 1f32).is_nan());
[INFO] [stdout]     |                               ^^^^^^^ expected `f32`, found `&f32`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 257 -         assert!(f32::NAN.lerp(&0.2f32, 1f32).is_nan());
[INFO] [stdout] 257 +         assert!(f32::NAN.lerp(0.2f32, 1f32).is_nan());
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:261:25
[INFO] [stdout]     |
[INFO] [stdout] 261 |         assert_eq!(0f64.lerp(&1f64, 0f64), 0f64);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:261:30
[INFO] [stdout]     |
[INFO] [stdout] 261 |         assert_eq!(0f64.lerp(&1f64, 0f64), 0f64);
[INFO] [stdout]     |                              ^^^^^ expected `f64`, found `&f64`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 261 -         assert_eq!(0f64.lerp(&1f64, 0f64), 0f64);
[INFO] [stdout] 261 +         assert_eq!(0f64.lerp(1f64, 0f64), 0f64);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:262:25
[INFO] [stdout]     |
[INFO] [stdout] 262 |         assert_eq!(0f64.lerp(&1f64, 1f64), 1f64);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:262:30
[INFO] [stdout]     |
[INFO] [stdout] 262 |         assert_eq!(0f64.lerp(&1f64, 1f64), 1f64);
[INFO] [stdout]     |                              ^^^^^ expected `f64`, found `&f64`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 262 -         assert_eq!(0f64.lerp(&1f64, 1f64), 1f64);
[INFO] [stdout] 262 +         assert_eq!(0f64.lerp(1f64, 1f64), 1f64);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:263:25
[INFO] [stdout]     |
[INFO] [stdout] 263 |         assert_eq!(0f64.lerp(&1f64, 0.1f64), 0.1f64);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:263:30
[INFO] [stdout]     |
[INFO] [stdout] 263 |         assert_eq!(0f64.lerp(&1f64, 0.1f64), 0.1f64);
[INFO] [stdout]     |                              ^^^^^ expected `f64`, found `&f64`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 263 -         assert_eq!(0f64.lerp(&1f64, 0.1f64), 0.1f64);
[INFO] [stdout] 263 +         assert_eq!(0f64.lerp(1f64, 0.1f64), 0.1f64);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:265:25
[INFO] [stdout]     |
[INFO] [stdout] 265 |         assert_eq!(1f64.lerp(&0f64, 0f64), 1f64);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:265:30
[INFO] [stdout]     |
[INFO] [stdout] 265 |         assert_eq!(1f64.lerp(&0f64, 0f64), 1f64);
[INFO] [stdout]     |                              ^^^^^ expected `f64`, found `&f64`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 265 -         assert_eq!(1f64.lerp(&0f64, 0f64), 1f64);
[INFO] [stdout] 265 +         assert_eq!(1f64.lerp(0f64, 0f64), 1f64);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:266:25
[INFO] [stdout]     |
[INFO] [stdout] 266 |         assert_eq!(1f64.lerp(&0f64, 1f64), 0f64);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:266:30
[INFO] [stdout]     |
[INFO] [stdout] 266 |         assert_eq!(1f64.lerp(&0f64, 1f64), 0f64);
[INFO] [stdout]     |                              ^^^^^ expected `f64`, found `&f64`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 266 -         assert_eq!(1f64.lerp(&0f64, 1f64), 0f64);
[INFO] [stdout] 266 +         assert_eq!(1f64.lerp(0f64, 1f64), 0f64);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:267:25
[INFO] [stdout]     |
[INFO] [stdout] 267 |         assert_eq!(1f64.lerp(&0f64, 0.1f64), 0.9f64);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:267:30
[INFO] [stdout]     |
[INFO] [stdout] 267 |         assert_eq!(1f64.lerp(&0f64, 0.1f64), 0.9f64);
[INFO] [stdout]     |                              ^^^^^ expected `f64`, found `&f64`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 267 -         assert_eq!(1f64.lerp(&0f64, 0.1f64), 0.9f64);
[INFO] [stdout] 267 +         assert_eq!(1f64.lerp(0f64, 0.1f64), 0.9f64);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:269:25
[INFO] [stdout]     |
[INFO] [stdout] 269 |         assert_eq!(1f64.lerp(&1f64, 0f64), 1f64);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:269:30
[INFO] [stdout]     |
[INFO] [stdout] 269 |         assert_eq!(1f64.lerp(&1f64, 0f64), 1f64);
[INFO] [stdout]     |                              ^^^^^ expected `f64`, found `&f64`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 269 -         assert_eq!(1f64.lerp(&1f64, 0f64), 1f64);
[INFO] [stdout] 269 +         assert_eq!(1f64.lerp(1f64, 0f64), 1f64);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:270:25
[INFO] [stdout]     |
[INFO] [stdout] 270 |         assert_eq!(0f64.lerp(&0f64, 1f64), 0f64);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:270:30
[INFO] [stdout]     |
[INFO] [stdout] 270 |         assert_eq!(0f64.lerp(&0f64, 1f64), 0f64);
[INFO] [stdout]     |                              ^^^^^ expected `f64`, found `&f64`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 270 -         assert_eq!(0f64.lerp(&0f64, 1f64), 0f64);
[INFO] [stdout] 270 +         assert_eq!(0f64.lerp(0f64, 1f64), 0f64);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:272:25
[INFO] [stdout]     |
[INFO] [stdout] 272 |         assert!((0.1f64.lerp(&0.2f64, 0.1f64) - 0.11f64).abs() < 1e-6);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:272:30
[INFO] [stdout]     |
[INFO] [stdout] 272 |         assert!((0.1f64.lerp(&0.2f64, 0.1f64) - 0.11f64).abs() < 1e-6);
[INFO] [stdout]     |                              ^^^^^^^ expected `f64`, found `&f64`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 272 -         assert!((0.1f64.lerp(&0.2f64, 0.1f64) - 0.11f64).abs() < 1e-6);
[INFO] [stdout] 272 +         assert!((0.1f64.lerp(0.2f64, 0.1f64) - 0.11f64).abs() < 1e-6);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:273:25
[INFO] [stdout]     |
[INFO] [stdout] 273 |         assert!((0.1f64.lerp(&0.2f64, 1f64) - 0.2f64).abs() < 1e-6);
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:273:30
[INFO] [stdout]     |
[INFO] [stdout] 273 |         assert!((0.1f64.lerp(&0.2f64, 1f64) - 0.2f64).abs() < 1e-6);
[INFO] [stdout]     |                              ^^^^^^^ expected `f64`, found `&f64`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 273 -         assert!((0.1f64.lerp(&0.2f64, 1f64) - 0.2f64).abs() < 1e-6);
[INFO] [stdout] 273 +         assert!((0.1f64.lerp(0.2f64, 1f64) - 0.2f64).abs() < 1e-6);
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature 'float_interpolation'
[INFO] [stdout]    --> src/utils/mod.rs:275:26
[INFO] [stdout]     |
[INFO] [stdout] 275 |         assert!(f64::NAN.lerp(&0.2f64, 1f64).is_nan());
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #86269 <https://github.com/rust-lang/rust/issues/86269> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/utils/mod.rs:275:31
[INFO] [stdout]     |
[INFO] [stdout] 275 |         assert!(f64::NAN.lerp(&0.2f64, 1f64).is_nan());
[INFO] [stdout]     |                               ^^^^^^^ expected `f64`, found `&f64`
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 275 -         assert!(f64::NAN.lerp(&0.2f64, 1f64).is_nan());
[INFO] [stdout] 275 +         assert!(f64::NAN.lerp(0.2f64, 1f64).is_nan());
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:302:24
[INFO] [stdout]     |
[INFO] [stdout] 302 |         assert_eq!(0i8.clamp(1i8, 2i8), 1i8);
[INFO] [stdout]     |                        ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i8`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 302 |         assert_eq!(utils::Clamp::clamp(0i8, 1i8, 2i8), 1i8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 302 |         assert_eq!(Ord::clamp(0i8, 1i8, 2i8), 1i8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:303:24
[INFO] [stdout]     |
[INFO] [stdout] 303 |         assert_eq!(1i8.clamp(1i8, 2i8), 1i8);
[INFO] [stdout]     |                        ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i8`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 303 |         assert_eq!(utils::Clamp::clamp(1i8, 1i8, 2i8), 1i8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 303 |         assert_eq!(Ord::clamp(1i8, 1i8, 2i8), 1i8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:304:24
[INFO] [stdout]     |
[INFO] [stdout] 304 |         assert_eq!(2i8.clamp(1i8, 3i8), 2i8);
[INFO] [stdout]     |                        ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i8`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 304 |         assert_eq!(utils::Clamp::clamp(2i8, 1i8, 3i8), 2i8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 304 |         assert_eq!(Ord::clamp(2i8, 1i8, 3i8), 2i8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:305:24
[INFO] [stdout]     |
[INFO] [stdout] 305 |         assert_eq!(2i8.clamp(1i8, 2i8), 2i8);
[INFO] [stdout]     |                        ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i8`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 305 |         assert_eq!(utils::Clamp::clamp(2i8, 1i8, 2i8), 2i8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 305 |         assert_eq!(Ord::clamp(2i8, 1i8, 2i8), 2i8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:306:24
[INFO] [stdout]     |
[INFO] [stdout] 306 |         assert_eq!(3i8.clamp(1i8, 2i8), 2i8);
[INFO] [stdout]     |                        ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i8`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 306 |         assert_eq!(utils::Clamp::clamp(3i8, 1i8, 2i8), 2i8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 306 |         assert_eq!(Ord::clamp(3i8, 1i8, 2i8), 2i8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:308:25
[INFO] [stdout]     |
[INFO] [stdout] 308 |         assert_eq!(0i16.clamp(1i16, 2i16), 1i16);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i16`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 308 |         assert_eq!(utils::Clamp::clamp(0i16, 1i16, 2i16), 1i16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 308 |         assert_eq!(Ord::clamp(0i16, 1i16, 2i16), 1i16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:309:25
[INFO] [stdout]     |
[INFO] [stdout] 309 |         assert_eq!(1i16.clamp(1i16, 2i16), 1i16);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i16`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 309 |         assert_eq!(utils::Clamp::clamp(1i16, 1i16, 2i16), 1i16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 309 |         assert_eq!(Ord::clamp(1i16, 1i16, 2i16), 1i16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:310:25
[INFO] [stdout]     |
[INFO] [stdout] 310 |         assert_eq!(2i16.clamp(1i16, 3i16), 2i16);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i16`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 310 |         assert_eq!(utils::Clamp::clamp(2i16, 1i16, 3i16), 2i16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 310 |         assert_eq!(Ord::clamp(2i16, 1i16, 3i16), 2i16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:311:25
[INFO] [stdout]     |
[INFO] [stdout] 311 |         assert_eq!(2i16.clamp(1i16, 2i16), 2i16);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i16`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 311 |         assert_eq!(utils::Clamp::clamp(2i16, 1i16, 2i16), 2i16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 311 |         assert_eq!(Ord::clamp(2i16, 1i16, 2i16), 2i16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:312:25
[INFO] [stdout]     |
[INFO] [stdout] 312 |         assert_eq!(3i16.clamp(1i16, 2i16), 2i16);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i16`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 312 |         assert_eq!(utils::Clamp::clamp(3i16, 1i16, 2i16), 2i16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 312 |         assert_eq!(Ord::clamp(3i16, 1i16, 2i16), 2i16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:314:25
[INFO] [stdout]     |
[INFO] [stdout] 314 |         assert_eq!(0i32.clamp(1i32, 2i32), 1i32);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 314 |         assert_eq!(utils::Clamp::clamp(0i32, 1i32, 2i32), 1i32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 314 |         assert_eq!(Ord::clamp(0i32, 1i32, 2i32), 1i32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:315:25
[INFO] [stdout]     |
[INFO] [stdout] 315 |         assert_eq!(1i32.clamp(1i32, 2i32), 1i32);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 315 |         assert_eq!(utils::Clamp::clamp(1i32, 1i32, 2i32), 1i32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 315 |         assert_eq!(Ord::clamp(1i32, 1i32, 2i32), 1i32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:316:25
[INFO] [stdout]     |
[INFO] [stdout] 316 |         assert_eq!(2i32.clamp(1i32, 3i32), 2i32);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 316 |         assert_eq!(utils::Clamp::clamp(2i32, 1i32, 3i32), 2i32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 316 |         assert_eq!(Ord::clamp(2i32, 1i32, 3i32), 2i32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:317:25
[INFO] [stdout]     |
[INFO] [stdout] 317 |         assert_eq!(2i32.clamp(1i32, 2i32), 2i32);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 317 |         assert_eq!(utils::Clamp::clamp(2i32, 1i32, 2i32), 2i32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 317 |         assert_eq!(Ord::clamp(2i32, 1i32, 2i32), 2i32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:318:25
[INFO] [stdout]     |
[INFO] [stdout] 318 |         assert_eq!(3i32.clamp(1i32, 2i32), 2i32);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 318 |         assert_eq!(utils::Clamp::clamp(3i32, 1i32, 2i32), 2i32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 318 |         assert_eq!(Ord::clamp(3i32, 1i32, 2i32), 2i32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:320:25
[INFO] [stdout]     |
[INFO] [stdout] 320 |         assert_eq!(0i64.clamp(1i64, 2i64), 1i64);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i64`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 320 |         assert_eq!(utils::Clamp::clamp(0i64, 1i64, 2i64), 1i64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 320 |         assert_eq!(Ord::clamp(0i64, 1i64, 2i64), 1i64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:321:25
[INFO] [stdout]     |
[INFO] [stdout] 321 |         assert_eq!(1i64.clamp(1i64, 2i64), 1i64);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i64`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 321 |         assert_eq!(utils::Clamp::clamp(1i64, 1i64, 2i64), 1i64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 321 |         assert_eq!(Ord::clamp(1i64, 1i64, 2i64), 1i64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:322:25
[INFO] [stdout]     |
[INFO] [stdout] 322 |         assert_eq!(2i64.clamp(1i64, 3i64), 2i64);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i64`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 322 |         assert_eq!(utils::Clamp::clamp(2i64, 1i64, 3i64), 2i64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 322 |         assert_eq!(Ord::clamp(2i64, 1i64, 3i64), 2i64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:323:25
[INFO] [stdout]     |
[INFO] [stdout] 323 |         assert_eq!(2i64.clamp(1i64, 2i64), 2i64);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i64`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 323 |         assert_eq!(utils::Clamp::clamp(2i64, 1i64, 2i64), 2i64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 323 |         assert_eq!(Ord::clamp(2i64, 1i64, 2i64), 2i64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:324:25
[INFO] [stdout]     |
[INFO] [stdout] 324 |         assert_eq!(3i64.clamp(1i64, 2i64), 2i64);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `i64`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 324 |         assert_eq!(utils::Clamp::clamp(3i64, 1i64, 2i64), 2i64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 324 |         assert_eq!(Ord::clamp(3i64, 1i64, 2i64), 2i64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:326:24
[INFO] [stdout]     |
[INFO] [stdout] 326 |         assert_eq!(0u8.clamp(1u8, 2u8), 1u8);
[INFO] [stdout]     |                        ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u8`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 326 |         assert_eq!(utils::Clamp::clamp(0u8, 1u8, 2u8), 1u8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 326 |         assert_eq!(Ord::clamp(0u8, 1u8, 2u8), 1u8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:327:24
[INFO] [stdout]     |
[INFO] [stdout] 327 |         assert_eq!(1u8.clamp(1u8, 2u8), 1u8);
[INFO] [stdout]     |                        ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u8`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 327 |         assert_eq!(utils::Clamp::clamp(1u8, 1u8, 2u8), 1u8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 327 |         assert_eq!(Ord::clamp(1u8, 1u8, 2u8), 1u8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:328:24
[INFO] [stdout]     |
[INFO] [stdout] 328 |         assert_eq!(2u8.clamp(1u8, 3u8), 2u8);
[INFO] [stdout]     |                        ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u8`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 328 |         assert_eq!(utils::Clamp::clamp(2u8, 1u8, 3u8), 2u8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 328 |         assert_eq!(Ord::clamp(2u8, 1u8, 3u8), 2u8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:329:24
[INFO] [stdout]     |
[INFO] [stdout] 329 |         assert_eq!(2u8.clamp(1u8, 2u8), 2u8);
[INFO] [stdout]     |                        ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u8`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 329 |         assert_eq!(utils::Clamp::clamp(2u8, 1u8, 2u8), 2u8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 329 |         assert_eq!(Ord::clamp(2u8, 1u8, 2u8), 2u8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:330:24
[INFO] [stdout]     |
[INFO] [stdout] 330 |         assert_eq!(3u8.clamp(1u8, 2u8), 2u8);
[INFO] [stdout]     |                        ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u8`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 330 |         assert_eq!(utils::Clamp::clamp(3u8, 1u8, 2u8), 2u8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 330 |         assert_eq!(Ord::clamp(3u8, 1u8, 2u8), 2u8);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:332:25
[INFO] [stdout]     |
[INFO] [stdout] 332 |         assert_eq!(0u16.clamp(1u16, 2u16), 1u16);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u16`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 332 |         assert_eq!(utils::Clamp::clamp(0u16, 1u16, 2u16), 1u16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 332 |         assert_eq!(Ord::clamp(0u16, 1u16, 2u16), 1u16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:333:25
[INFO] [stdout]     |
[INFO] [stdout] 333 |         assert_eq!(1u16.clamp(1u16, 2u16), 1u16);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u16`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 333 |         assert_eq!(utils::Clamp::clamp(1u16, 1u16, 2u16), 1u16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 333 |         assert_eq!(Ord::clamp(1u16, 1u16, 2u16), 1u16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:334:25
[INFO] [stdout]     |
[INFO] [stdout] 334 |         assert_eq!(2u16.clamp(1u16, 3u16), 2u16);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u16`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 334 |         assert_eq!(utils::Clamp::clamp(2u16, 1u16, 3u16), 2u16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 334 |         assert_eq!(Ord::clamp(2u16, 1u16, 3u16), 2u16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:335:25
[INFO] [stdout]     |
[INFO] [stdout] 335 |         assert_eq!(2u16.clamp(1u16, 2u16), 2u16);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u16`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 335 |         assert_eq!(utils::Clamp::clamp(2u16, 1u16, 2u16), 2u16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 335 |         assert_eq!(Ord::clamp(2u16, 1u16, 2u16), 2u16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:336:25
[INFO] [stdout]     |
[INFO] [stdout] 336 |         assert_eq!(3u16.clamp(1u16, 2u16), 2u16);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u16`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 336 |         assert_eq!(utils::Clamp::clamp(3u16, 1u16, 2u16), 2u16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 336 |         assert_eq!(Ord::clamp(3u16, 1u16, 2u16), 2u16);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:338:25
[INFO] [stdout]     |
[INFO] [stdout] 338 |         assert_eq!(0u32.clamp(1u32, 2u32), 1u32);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 338 |         assert_eq!(utils::Clamp::clamp(0u32, 1u32, 2u32), 1u32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 338 |         assert_eq!(Ord::clamp(0u32, 1u32, 2u32), 1u32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:339:25
[INFO] [stdout]     |
[INFO] [stdout] 339 |         assert_eq!(1u32.clamp(1u32, 2u32), 1u32);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 339 |         assert_eq!(utils::Clamp::clamp(1u32, 1u32, 2u32), 1u32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 339 |         assert_eq!(Ord::clamp(1u32, 1u32, 2u32), 1u32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:340:25
[INFO] [stdout]     |
[INFO] [stdout] 340 |         assert_eq!(2u32.clamp(1u32, 3u32), 2u32);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 340 |         assert_eq!(utils::Clamp::clamp(2u32, 1u32, 3u32), 2u32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 340 |         assert_eq!(Ord::clamp(2u32, 1u32, 3u32), 2u32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:341:25
[INFO] [stdout]     |
[INFO] [stdout] 341 |         assert_eq!(2u32.clamp(1u32, 2u32), 2u32);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 341 |         assert_eq!(utils::Clamp::clamp(2u32, 1u32, 2u32), 2u32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 341 |         assert_eq!(Ord::clamp(2u32, 1u32, 2u32), 2u32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:342:25
[INFO] [stdout]     |
[INFO] [stdout] 342 |         assert_eq!(3u32.clamp(1u32, 2u32), 2u32);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u32`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 342 |         assert_eq!(utils::Clamp::clamp(3u32, 1u32, 2u32), 2u32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 342 |         assert_eq!(Ord::clamp(3u32, 1u32, 2u32), 2u32);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:344:25
[INFO] [stdout]     |
[INFO] [stdout] 344 |         assert_eq!(0u64.clamp(1u64, 2u64), 1u64);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u64`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 344 |         assert_eq!(utils::Clamp::clamp(0u64, 1u64, 2u64), 1u64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 344 |         assert_eq!(Ord::clamp(0u64, 1u64, 2u64), 1u64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:345:25
[INFO] [stdout]     |
[INFO] [stdout] 345 |         assert_eq!(1u64.clamp(1u64, 2u64), 1u64);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u64`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 345 |         assert_eq!(utils::Clamp::clamp(1u64, 1u64, 2u64), 1u64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 345 |         assert_eq!(Ord::clamp(1u64, 1u64, 2u64), 1u64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:346:25
[INFO] [stdout]     |
[INFO] [stdout] 346 |         assert_eq!(2u64.clamp(1u64, 3u64), 2u64);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u64`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 346 |         assert_eq!(utils::Clamp::clamp(2u64, 1u64, 3u64), 2u64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 346 |         assert_eq!(Ord::clamp(2u64, 1u64, 3u64), 2u64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:347:25
[INFO] [stdout]     |
[INFO] [stdout] 347 |         assert_eq!(2u64.clamp(1u64, 2u64), 2u64);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u64`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 347 |         assert_eq!(utils::Clamp::clamp(2u64, 1u64, 2u64), 2u64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 347 |         assert_eq!(Ord::clamp(2u64, 1u64, 2u64), 2u64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/utils/mod.rs:348:25
[INFO] [stdout]     |
[INFO] [stdout] 348 |         assert_eq!(3u64.clamp(1u64, 2u64), 2u64);
[INFO] [stdout]     |                         ^^^^^ multiple `clamp` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl of the trait `utils::Clamp` for the type `T`
[INFO] [stdout]    --> src/utils/mod.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout] 36  |     fn clamp(self, a: Self, b: Self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Ord` for the type `u64`
[INFO] [stdout] help: disambiguate the associated function for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 348 |         assert_eq!(utils::Clamp::clamp(3u64, 1u64, 2u64), 2u64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] help: disambiguate the associated function for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 348 |         assert_eq!(Ord::clamp(3u64, 1u64, 2u64), 2u64);
[INFO] [stdout]     |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 132 previous errors; 189 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] [stdout] Some errors have detailed explanations: E0034, E0308, E0658.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e971a4f3d2ec31ff8de89e5f845377be7cb411518fb7ba6f7e62b2cd3137656f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e971a4f3d2ec31ff8de89e5f845377be7cb411518fb7ba6f7e62b2cd3137656f", kill_on_drop: false }`
[INFO] [stdout] e971a4f3d2ec31ff8de89e5f845377be7cb411518fb7ba6f7e62b2cd3137656f
