[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-2020-07-24 for pr-75494-beta
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMokosha%2Fpbrt_rust" "/workspace/builds/worker-8/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Mokosha/pbrt_rust on toolchain beta-2020-07-24
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-07-24" "read-manifest" "--manifest-path" "Cargo.toml", 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-8/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-2020-07-24" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 826aa06ff79100705c2dae8e138013b59d6d004b7f158154c1c52693a5b2ef49
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "826aa06ff79100705c2dae8e138013b59d6d004b7f158154c1c52693a5b2ef49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "826aa06ff79100705c2dae8e138013b59d6d004b7f158154c1c52693a5b2ef49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "826aa06ff79100705c2dae8e138013b59d6d004b7f158154c1c52693a5b2ef49", kill_on_drop: false }`
[INFO] [stdout] 826aa06ff79100705c2dae8e138013b59d6d004b7f158154c1c52693a5b2ef49
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d3aa0d9db8629a741d5132e2a0f9363015dc6304c9a7745883f937b24cc5470b
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "d3aa0d9db8629a741d5132e2a0f9363015dc6304c9a7745883f937b24cc5470b", kill_on_drop: false }`
[INFO] [stderr]     Checking libc v0.2.7
[INFO] [stderr]    Compiling gcc v0.3.26
[INFO] [stderr]     Checking bitflags v0.3.3
[INFO] [stderr]     Checking lzw v0.9.0
[INFO] [stderr]     Checking inflate v0.1.0
[INFO] [stderr]     Checking libc v0.1.10
[INFO] [stderr]     Checking glob v0.2.11
[INFO] [stderr]     Checking byteorder v0.4.2
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking primal-bit v0.2.3
[INFO] [stderr]     Checking primal-sieve v0.2.4
[INFO] [stderr]     Checking gif v0.7.0
[INFO] [stderr]     Checking num_cpus v0.2.6
[INFO] [stderr]     Checking rand v0.3.14
[INFO] [stderr]    Compiling miniz-sys v0.1.7
[INFO] [stderr]     Checking num v0.1.31
[INFO] [stderr]     Checking flate2 v0.2.13
[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: use of deprecated item '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 a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item '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 a macro (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/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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::atomic::ATOMIC_USIZE_INIT': the `new` function is now preferred
[INFO] [stdout]   --> src/primitive/mod.rs:31:36
[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 item: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::atomic::ATOMIC_USIZE_INIT': the `new` function is now preferred
[INFO] [stdout]   --> src/shape/mod.rs:41:37
[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 item: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item '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 a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item '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 a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item '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 a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item '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 a macro (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/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] 
[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] 
[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] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/bsdf/utils.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 |         (vx / sintheta).clamp(-1.0, 1.0)
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[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] 
[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] 
[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] 
[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] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/bsdf/utils.rs:27:25
[INFO] [stdout]    |
[INFO] [stdout] 27 |         (vy / sintheta).clamp(-1.0, 1.0)
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/bsdf/fresnel.rs:68:31
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 let ci = cosi.clamp(-1.0, 1.0);
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]     |                                                                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[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] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/camera/film.rs:24:47
[INFO] [stdout]    |
[INFO] [stdout] 24 |             (255.0 * p.powf(1.0 / 2.2) + 0.5).clamp(0.0, 255.0) as u8
[INFO] [stdout]    |                                               ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/geometry/vector.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |     v.z.clamp(-1.0, 1.0).acos()
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::atomic::ATOMIC_USIZE_INIT': the `new` function is now preferred
[INFO] [stdout]   --> src/primitive/mod.rs:31:36
[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 item: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::atomic::ATOMIC_USIZE_INIT': the `new` function is now preferred
[INFO] [stdout]   --> src/shape/mod.rs:41:37
[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 item: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/material/matte.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let sig = self.sigma.evaluate(&dgs).clamp(0.0, 90.0);
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item '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 a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item '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 a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]     |                                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]     |                                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]     |                                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/primitive/aggregates/grid.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout] 190 |             .clamp(0, self.num_voxels[axis] - 1)
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/quaternion.rs:36:36
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let thetap = cos_theta.clamp(-1f32, 1f32).acos() * t;
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/shape/cylinder.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |             phi_max: pm.clamp(0.0, 360.0).as_radians()
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/shape/disk.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 |             phi_max: t_max.clamp(0.0, 360.0).as_radians()
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/bsdf/utils.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 |         (vx / sintheta).clamp(-1.0, 1.0)
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/bsdf/utils.rs:27:25
[INFO] [stdout]    |
[INFO] [stdout] 27 |         (vy / sintheta).clamp(-1.0, 1.0)
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/bsdf/fresnel.rs:68:31
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 let ci = cosi.clamp(-1.0, 1.0);
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/shape/sphere.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let zmin = z0.min(z1).clamp(-rad, rad);
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/shape/sphere.rs:33:31
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let zmax = z0.max(z1).clamp(-rad, rad);
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/shape/sphere.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |             phi_max: pm.clamp(0.0, 360.0).as_radians()
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]     |                                                                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/shape/sphere.rs:149:45
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let theta = (p_hit.z / self.radius).clamp(-1.0, 1.0).acos();
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/spectrum.rs:621:30
[INFO] [stdout]     |
[INFO] [stdout] 621 |         self.transform(|x| x.clamp(a, b))
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/camera/film.rs:24:47
[INFO] [stdout]    |
[INFO] [stdout] 24 |             (255.0 * p.powf(1.0 / 2.2) + 0.5).clamp(0.0, 255.0) as u8
[INFO] [stdout]    |                                               ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/texture/imagemap.rs:86:36
[INFO] [stdout]    |
[INFO] [stdout] 86 |             ImageWrap::Clamp => ft.clamp(0, (dim-1) as i32),
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/texture/imagemap.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 | ...                   _t.clamp(0, (level.height() - 1) as i32)),
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/texture/imagemap.rs:241:28
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let level = _level.clamp(0, self.levels() - 1);
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/texture/noise.rs:109:43
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let v = ((value - min) / (max - min)).clamp(0.0, 1.0);
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/texture/noise.rs:117:45
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let foctaves = (-1.0 - 0.5 * s2.log2()).clamp(0.0, max_octaves as f32);
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/texture/noise.rs:134:45
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let foctaves = (-1.0 - 0.5 * s2.log2()).clamp(0.0, max_octaves as f32);
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/geometry/vector.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |     v.z.clamp(-1.0, 1.0).acos()
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]    |                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]    |                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]    |                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/material/matte.rs:44:45
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let sig = self.sigma.evaluate(&dgs).clamp(0.0, 90.0);
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]     |                                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]     |                                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]     |                                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/primitive/aggregates/grid.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout] 190 |             .clamp(0, self.num_voxels[axis] - 1)
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/quaternion.rs:36:36
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let thetap = cos_theta.clamp(-1f32, 1f32).acos() * t;
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/shape/cylinder.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |             phi_max: pm.clamp(0.0, 360.0).as_radians()
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/shape/disk.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 |             phi_max: t_max.clamp(0.0, 360.0).as_radians()
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/shape/sphere.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let zmin = z0.min(z1).clamp(-rad, rad);
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/shape/sphere.rs:33:31
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let zmax = z0.max(z1).clamp(-rad, rad);
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/shape/sphere.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |             phi_max: pm.clamp(0.0, 360.0).as_radians()
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/shape/sphere.rs:149:45
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let theta = (p_hit.z / self.radius).clamp(-1.0, 1.0).acos();
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/spectrum.rs:621:30
[INFO] [stdout]     |
[INFO] [stdout] 621 |         self.transform(|x| x.clamp(a, b))
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/texture/imagemap.rs:86:36
[INFO] [stdout]    |
[INFO] [stdout] 86 |             ImageWrap::Clamp => ft.clamp(0, (dim-1) as i32),
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/texture/imagemap.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 | ...                   _t.clamp(0, (level.height() - 1) as i32)),
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/texture/imagemap.rs:241:28
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let level = _level.clamp(0, self.levels() - 1);
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/texture/noise.rs:109:43
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let v = ((value - min) / (max - min)).clamp(0.0, 1.0);
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/texture/noise.rs:117:45
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let foctaves = (-1.0 - 0.5 * s2.log2()).clamp(0.0, max_octaves as f32);
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/texture/noise.rs:134:45
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let foctaves = (-1.0 - 0.5 * s2.log2()).clamp(0.0, max_octaves as f32);
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 158 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/main.rs:67:37
[INFO] [stdout]    |
[INFO] [stdout] 67 | const START_TRANSFORM_BITS: usize = (1 << 0);
[INFO] [stdout]    |                                     ^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/main.rs:68:35
[INFO] [stdout]    |
[INFO] [stdout] 68 | const END_TRANSFORM_BITS: usize = (1 << 1);
[INFO] [stdout]    |                                   ^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/main.rs:69:35
[INFO] [stdout]    |
[INFO] [stdout] 69 | const ALL_TRANSFORM_BITS: usize = ((1 << MAX_TRANSFORMS) - 1);
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/main.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 |             0...1 => &self.t[index],
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/main.rs:107:14
[INFO] [stdout]     |
[INFO] [stdout] 107 |             0...1 => &mut self.t[index],
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:143:21
[INFO] [stdout]     |
[INFO] [stdout] 143 |     lights: Vec<Arc<Light>>,
[INFO] [stdout]     |                     ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:150:29
[INFO] [stdout]     |
[INFO] [stdout] 150 |     volume_regions: Vec<Arc<VolumeRegion>>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:194:36
[INFO] [stdout]     |
[INFO] [stdout] 194 |     fn make_renderer(&self) -> Arc<Renderer> {
[INFO] [stdout]     |                                    ^^^^^^^^ help: use `dyn`: `dyn Renderer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:204:28
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 let b: Arc<VolumeRegion> =
[INFO] [stdout]     |                            ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:229:45
[INFO] [stdout]     |
[INFO] [stdout] 229 |     float_textures: Arc<HashMap<String, Arc<Texture<f32>>>>,
[INFO] [stdout]     |                                             ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:230:48
[INFO] [stdout]     |
[INFO] [stdout] 230 |     spectrum_textures: Arc<HashMap<String, Arc<Texture<Spectrum>>>>,
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:270:57
[INFO] [stdout]     |
[INFO] [stdout] 270 |     fn float_textures(&self) -> Arc<HashMap<String, Arc<Texture<f32>>>> {
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:274:60
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn spectrum_textures(&self) -> Arc<HashMap<String, Arc<Texture<Spectrum>>>> {
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:534:94
[INFO] [stdout]     |
[INFO] [stdout] 534 | fn make_float_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc<Texture<f32>> {
[INFO] [stdout]     |                                                                                              ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:541:94
[INFO] [stdout]     |
[INFO] [stdout] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc<Texture<Spectrum>> {
[INFO] [stdout]     |                                                                                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:558:81
[INFO] [stdout]     |
[INFO] [stdout] 558 | fn make_light(name: &str, light_to_world: &Transform, params: &ParamSet) -> Arc<Light> {
[INFO] [stdout]     |                                                                                 ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/main.rs:67:37
[INFO] [stdout]    |
[INFO] [stdout] 67 | const START_TRANSFORM_BITS: usize = (1 << 0);
[INFO] [stdout]    |                                     ^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/main.rs:68:35
[INFO] [stdout]    |
[INFO] [stdout] 68 | const END_TRANSFORM_BITS: usize = (1 << 1);
[INFO] [stdout]    |                                   ^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/main.rs:69:35
[INFO] [stdout]    |
[INFO] [stdout] 69 | const ALL_TRANSFORM_BITS: usize = ((1 << MAX_TRANSFORMS) - 1);
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/main.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 |             0...1 => &self.t[index],
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/main.rs:107:14
[INFO] [stdout]     |
[INFO] [stdout] 107 |             0...1 => &mut self.t[index],
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:143:21
[INFO] [stdout]     |
[INFO] [stdout] 143 |     lights: Vec<Arc<Light>>,
[INFO] [stdout]     |                     ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (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/main.rs:150:29
[INFO] [stdout]     |
[INFO] [stdout] 150 |     volume_regions: Vec<Arc<VolumeRegion>>,
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:194:36
[INFO] [stdout]     |
[INFO] [stdout] 194 |     fn make_renderer(&self) -> Arc<Renderer> {
[INFO] [stdout]     |                                    ^^^^^^^^ help: use `dyn`: `dyn Renderer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:204:28
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 let b: Arc<VolumeRegion> =
[INFO] [stdout]     |                            ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:229:45
[INFO] [stdout]     |
[INFO] [stdout] 229 |     float_textures: Arc<HashMap<String, Arc<Texture<f32>>>>,
[INFO] [stdout]     |                                             ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:230:48
[INFO] [stdout]     |
[INFO] [stdout] 230 |     spectrum_textures: Arc<HashMap<String, Arc<Texture<Spectrum>>>>,
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:270:57
[INFO] [stdout]     |
[INFO] [stdout] 270 |     fn float_textures(&self) -> Arc<HashMap<String, Arc<Texture<f32>>>> {
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (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/main.rs:274:60
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn spectrum_textures(&self) -> Arc<HashMap<String, Arc<Texture<Spectrum>>>> {
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:534:94
[INFO] [stdout]     |
[INFO] [stdout] 534 | fn make_float_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc<Texture<f32>> {
[INFO] [stdout]     |                                                                                              ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<f32>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:541:94
[INFO] [stdout]     |
[INFO] [stdout] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc<Texture<Spectrum>> {
[INFO] [stdout]     |                                                                                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture<Spectrum>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (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/main.rs:558:81
[INFO] [stdout]     |
[INFO] [stdout] 558 | fn make_light(name: &str, light_to_world: &Transform, params: &ParamSet) -> Arc<Light> {
[INFO] [stdout]     |                                                                                 ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:282:25
[INFO] [stdout]     |
[INFO] [stdout] 282 |         assert_eq!(0f32.clamp(1f32, 2f32), 1f32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stdout]    --> src/main.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | / lazy_static! {
[INFO] [stdout] 280 | |     pub static ref PBRT_OPTIONS: Mutex<Options> =
[INFO] [stdout] 281 | |         Mutex::new(Options::new());
[INFO] [stdout] 282 | |     static ref CURRENT_API_STATE: Mutex<usize> =
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |         Mutex::new(Vec::new());
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:283:25
[INFO] [stdout]     |
[INFO] [stdout] 283 |         assert_eq!(1f32.clamp(1f32, 2f32), 1f32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:284:27
[INFO] [stdout]     |
[INFO] [stdout] 284 |         assert_eq!(1.5f32.clamp(1f32, 2f32), 1.5f32);
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:285:25
[INFO] [stdout]     |
[INFO] [stdout] 285 |         assert_eq!(2f32.clamp(1f32, 2f32), 2f32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:286:25
[INFO] [stdout]     |
[INFO] [stdout] 286 |         assert_eq!(3f32.clamp(1f32, 2f32), 2f32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:288:25
[INFO] [stdout]     |
[INFO] [stdout] 288 |         assert_eq!(0f32.clamp(1f32, f32::NAN), 1f32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:289:25
[INFO] [stdout]     |
[INFO] [stdout] 289 |         assert_eq!(0f32.clamp(f32::NAN, 1f32), 0f32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:290:26
[INFO] [stdout]     |
[INFO] [stdout] 290 |         assert!(f32::NAN.clamp(1f32, 2f32).is_nan()); // can't un-nan
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:292:25
[INFO] [stdout]     |
[INFO] [stdout] 292 |         assert_eq!(0f64.clamp(1f64, 2f64), 1f64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:293:25
[INFO] [stdout]     |
[INFO] [stdout] 293 |         assert_eq!(1f64.clamp(1f64, 2f64), 1f64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:294:27
[INFO] [stdout]     |
[INFO] [stdout] 294 |         assert_eq!(1.5f64.clamp(1f64, 2f64), 1.5f64);
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:295:25
[INFO] [stdout]     |
[INFO] [stdout] 295 |         assert_eq!(2f64.clamp(1f64, 2f64), 2f64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:296:25
[INFO] [stdout]     |
[INFO] [stdout] 296 |         assert_eq!(3f64.clamp(1f64, 2f64), 2f64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:298:25
[INFO] [stdout]     |
[INFO] [stdout] 298 |         assert_eq!(0f64.clamp(1f64, f64::NAN), 1f64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:299:25
[INFO] [stdout]     |
[INFO] [stdout] 299 |         assert_eq!(0f64.clamp(f64::NAN, 1f64), 0f64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:300:26
[INFO] [stdout]     |
[INFO] [stdout] 300 |         assert!(f64::NAN.clamp(1f64, 2f64).is_nan()); // can't un-nan
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:302:24
[INFO] [stdout]     |
[INFO] [stdout] 302 |         assert_eq!(0i8.clamp(1i8, 2i8), 1i8);
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:303:24
[INFO] [stdout]     |
[INFO] [stdout] 303 |         assert_eq!(1i8.clamp(1i8, 2i8), 1i8);
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:304:24
[INFO] [stdout]     |
[INFO] [stdout] 304 |         assert_eq!(2i8.clamp(1i8, 3i8), 2i8);
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:305:24
[INFO] [stdout]     |
[INFO] [stdout] 305 |         assert_eq!(2i8.clamp(1i8, 2i8), 2i8);
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:306:24
[INFO] [stdout]     |
[INFO] [stdout] 306 |         assert_eq!(3i8.clamp(1i8, 2i8), 2i8);
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:308:25
[INFO] [stdout]     |
[INFO] [stdout] 308 |         assert_eq!(0i16.clamp(1i16, 2i16), 1i16);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:309:25
[INFO] [stdout]     |
[INFO] [stdout] 309 |         assert_eq!(1i16.clamp(1i16, 2i16), 1i16);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:310:25
[INFO] [stdout]     |
[INFO] [stdout] 310 |         assert_eq!(2i16.clamp(1i16, 3i16), 2i16);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:311:25
[INFO] [stdout]     |
[INFO] [stdout] 311 |         assert_eq!(2i16.clamp(1i16, 2i16), 2i16);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:312:25
[INFO] [stdout]     |
[INFO] [stdout] 312 |         assert_eq!(3i16.clamp(1i16, 2i16), 2i16);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:314:25
[INFO] [stdout]     |
[INFO] [stdout] 314 |         assert_eq!(0i32.clamp(1i32, 2i32), 1i32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:315:25
[INFO] [stdout]     |
[INFO] [stdout] 315 |         assert_eq!(1i32.clamp(1i32, 2i32), 1i32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:316:25
[INFO] [stdout]     |
[INFO] [stdout] 316 |         assert_eq!(2i32.clamp(1i32, 3i32), 2i32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:317:25
[INFO] [stdout]     |
[INFO] [stdout] 317 |         assert_eq!(2i32.clamp(1i32, 2i32), 2i32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:318:25
[INFO] [stdout]     |
[INFO] [stdout] 318 |         assert_eq!(3i32.clamp(1i32, 2i32), 2i32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:320:25
[INFO] [stdout]     |
[INFO] [stdout] 320 |         assert_eq!(0i64.clamp(1i64, 2i64), 1i64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:321:25
[INFO] [stdout]     |
[INFO] [stdout] 321 |         assert_eq!(1i64.clamp(1i64, 2i64), 1i64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:322:25
[INFO] [stdout]     |
[INFO] [stdout] 322 |         assert_eq!(2i64.clamp(1i64, 3i64), 2i64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:323:25
[INFO] [stdout]     |
[INFO] [stdout] 323 |         assert_eq!(2i64.clamp(1i64, 2i64), 2i64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:324:25
[INFO] [stdout]     |
[INFO] [stdout] 324 |         assert_eq!(3i64.clamp(1i64, 2i64), 2i64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:326:24
[INFO] [stdout]     |
[INFO] [stdout] 326 |         assert_eq!(0u8.clamp(1u8, 2u8), 1u8);
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:327:24
[INFO] [stdout]     |
[INFO] [stdout] 327 |         assert_eq!(1u8.clamp(1u8, 2u8), 1u8);
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:328:24
[INFO] [stdout]     |
[INFO] [stdout] 328 |         assert_eq!(2u8.clamp(1u8, 3u8), 2u8);
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:329:24
[INFO] [stdout]     |
[INFO] [stdout] 329 |         assert_eq!(2u8.clamp(1u8, 2u8), 2u8);
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:330:24
[INFO] [stdout]     |
[INFO] [stdout] 330 |         assert_eq!(3u8.clamp(1u8, 2u8), 2u8);
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:332:25
[INFO] [stdout]     |
[INFO] [stdout] 332 |         assert_eq!(0u16.clamp(1u16, 2u16), 1u16);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:333:25
[INFO] [stdout]     |
[INFO] [stdout] 333 |         assert_eq!(1u16.clamp(1u16, 2u16), 1u16);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:334:25
[INFO] [stdout]     |
[INFO] [stdout] 334 |         assert_eq!(2u16.clamp(1u16, 3u16), 2u16);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:335:25
[INFO] [stdout]     |
[INFO] [stdout] 335 |         assert_eq!(2u16.clamp(1u16, 2u16), 2u16);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:336:25
[INFO] [stdout]     |
[INFO] [stdout] 336 |         assert_eq!(3u16.clamp(1u16, 2u16), 2u16);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:338:25
[INFO] [stdout]     |
[INFO] [stdout] 338 |         assert_eq!(0u32.clamp(1u32, 2u32), 1u32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:339:25
[INFO] [stdout]     |
[INFO] [stdout] 339 |         assert_eq!(1u32.clamp(1u32, 2u32), 1u32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:340:25
[INFO] [stdout]     |
[INFO] [stdout] 340 |         assert_eq!(2u32.clamp(1u32, 3u32), 2u32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:341:25
[INFO] [stdout]     |
[INFO] [stdout] 341 |         assert_eq!(2u32.clamp(1u32, 2u32), 2u32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:342:25
[INFO] [stdout]     |
[INFO] [stdout] 342 |         assert_eq!(3u32.clamp(1u32, 2u32), 2u32);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:344:25
[INFO] [stdout]     |
[INFO] [stdout] 344 |         assert_eq!(0u64.clamp(1u64, 2u64), 1u64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:345:25
[INFO] [stdout]     |
[INFO] [stdout] 345 |         assert_eq!(1u64.clamp(1u64, 2u64), 1u64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:346:25
[INFO] [stdout]     |
[INFO] [stdout] 346 |         assert_eq!(2u64.clamp(1u64, 3u64), 2u64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:347:25
[INFO] [stdout]     |
[INFO] [stdout] 347 |         assert_eq!(2u64.clamp(1u64, 2u64), 2u64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]    --> src/utils/mod.rs:348:25
[INFO] [stdout]     |
[INFO] [stdout] 348 |         assert_eq!(3u64.clamp(1u64, 2u64), 2u64);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]     = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]     = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tex_to_world`
[INFO] [stdout]    --> src/main.rs:534:38
[INFO] [stdout]     |
[INFO] [stdout] 534 | fn make_float_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc<Texture<f32>> {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tex_to_world`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tex_to_world`
[INFO] [stdout]    --> src/main.rs:541:38
[INFO] [stdout]     |
[INFO] [stdout] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc<Texture<Spectrum>> {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tex_to_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/main.rs:541:64
[INFO] [stdout]     |
[INFO] [stdout] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc<Texture<Spectrum>> {
[INFO] [stdout]     |                                                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/main.rs:571:20
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_to_world`
[INFO] [stdout]    --> src/main.rs:571:32
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_to_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/main.rs:571:60
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shape`
[INFO] [stdout]    --> src/main.rs:572:20
[INFO] [stdout]     |
[INFO] [stdout] 572 |                    shape: Shape) -> AreaLight {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/main.rs:591:21
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn make_accelerator(name: &str, prims: &Vec<Arc<Primitive>>, params: &ParamSet) -> Arc<Primitive> {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prims`
[INFO] [stdout]    --> src/main.rs:591:33
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn make_accelerator(name: &str, prims: &Vec<Arc<Primitive>>, params: &ParamSet) -> Arc<Primitive> {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_prims`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/main.rs:591:62
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn make_accelerator(name: &str, prims: &Vec<Arc<Primitive>>, params: &ParamSet) -> Arc<Primitive> {
[INFO] [stdout]     |                                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `animated_world_to_instance`
[INFO] [stdout]    --> src/main.rs:784:9
[INFO] [stdout]     |
[INFO] [stdout] 784 |     let animated_world_to_instance =
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_animated_world_to_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tex_to_world`
[INFO] [stdout]    --> src/main.rs:534:38
[INFO] [stdout]     |
[INFO] [stdout] 534 | fn make_float_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc<Texture<f32>> {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tex_to_world`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tex_to_world`
[INFO] [stdout]    --> src/main.rs:541:38
[INFO] [stdout]     |
[INFO] [stdout] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc<Texture<Spectrum>> {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tex_to_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/main.rs:541:64
[INFO] [stdout]     |
[INFO] [stdout] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc<Texture<Spectrum>> {
[INFO] [stdout]     |                                                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/main.rs:571:20
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_to_world`
[INFO] [stdout]    --> src/main.rs:571:32
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_to_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/main.rs:571:60
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shape`
[INFO] [stdout]    --> src/main.rs:572:20
[INFO] [stdout]     |
[INFO] [stdout] 572 |                    shape: Shape) -> AreaLight {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/main.rs:591:21
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn make_accelerator(name: &str, prims: &Vec<Arc<Primitive>>, params: &ParamSet) -> Arc<Primitive> {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prims`
[INFO] [stdout]    --> src/main.rs:591:33
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn make_accelerator(name: &str, prims: &Vec<Arc<Primitive>>, params: &ParamSet) -> Arc<Primitive> {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_prims`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/main.rs:591:62
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn make_accelerator(name: &str, prims: &Vec<Arc<Primitive>>, params: &ParamSet) -> Arc<Primitive> {
[INFO] [stdout]     |                                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `animated_world_to_instance`
[INFO] [stdout]    --> src/main.rs:784:9
[INFO] [stdout]     |
[INFO] [stdout] 784 |     let animated_world_to_instance =
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_animated_world_to_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]    |                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]    |                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[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]    |                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `START_TRANSFORM_BITS`
[INFO] [stdout]   --> src/main.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | const START_TRANSFORM_BITS: usize = (1 << 0);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `END_TRANSFORM_BITS`
[INFO] [stdout]   --> src/main.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | const END_TRANSFORM_BITS: usize = (1 << 1);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_animated`
[INFO] [stdout]   --> src/main.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn is_animated(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `inverse`
[INFO] [stdout]   --> src/main.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn inverse(ts: &TransformSet) -> TransformSet {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `make_renderer`
[INFO] [stdout]    --> src/main.rs:194:8
[INFO] [stdout]     |
[INFO] [stdout] 194 |     fn make_renderer(&self) -> Arc<Renderer> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `make_scene`
[INFO] [stdout]    --> src/main.rs:198:8
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn make_scene(&mut self) -> Scene {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `create_material`
[INFO] [stdout]    --> src/main.rs:256:8
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn create_material(&self, params: &ParamSet) -> Arc<Material> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `float_textures`
[INFO] [stdout]    --> src/main.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 270 |     fn float_textures(&self) -> Arc<HashMap<String, Arc<Texture<f32>>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `spectrum_textures`
[INFO] [stdout]    --> src/main.rs:274:8
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn spectrum_textures(&self) -> Arc<HashMap<String, Arc<Texture<Spectrum>>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `for_active_transforms`
[INFO] [stdout]    --> src/main.rs:306:4
[INFO] [stdout]     |
[INFO] [stdout] 306 | fn for_active_transforms<T: Fn(&mut Transform)>(f: T) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_attribute_begin`
[INFO] [stdout]    --> src/main.rs:355:4
[INFO] [stdout]     |
[INFO] [stdout] 355 | fn pbrt_attribute_begin() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_attribute_end`
[INFO] [stdout]    --> src/main.rs:365:4
[INFO] [stdout]     |
[INFO] [stdout] 365 | fn pbrt_attribute_end() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_transform_begin`
[INFO] [stdout]    --> src/main.rs:378:4
[INFO] [stdout]     |
[INFO] [stdout] 378 | fn pbrt_transform_begin() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_transform_end`
[INFO] [stdout]    --> src/main.rs:384:4
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn pbrt_transform_end() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_identity`
[INFO] [stdout]    --> src/main.rs:393:4
[INFO] [stdout]     |
[INFO] [stdout] 393 | fn pbrt_identity() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_translate`
[INFO] [stdout]    --> src/main.rs:400:4
[INFO] [stdout]     |
[INFO] [stdout] 400 | fn pbrt_translate(dx: f32, dy: f32, dz: f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_rotate`
[INFO] [stdout]    --> src/main.rs:407:4
[INFO] [stdout]     |
[INFO] [stdout] 407 | fn pbrt_rotate(angle: f32, ax: f32, ay: f32, az: f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_scale`
[INFO] [stdout]    --> src/main.rs:414:4
[INFO] [stdout]     |
[INFO] [stdout] 414 | fn pbrt_scale(sx: f32, sy: f32, sz: f32) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_lookat`
[INFO] [stdout]    --> src/main.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn pbrt_lookat(ex: f32, ey: f32, ez: f32,
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_concat_transform`
[INFO] [stdout]    --> src/main.rs:433:4
[INFO] [stdout]     |
[INFO] [stdout] 433 | fn pbrt_concat_transform(xf: [f32; 16]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_transform`
[INFO] [stdout]    --> src/main.rs:444:4
[INFO] [stdout]     |
[INFO] [stdout] 444 | fn pbrt_transform(xf: [f32; 16]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_coordinate_system`
[INFO] [stdout]    --> src/main.rs:455:4
[INFO] [stdout]     |
[INFO] [stdout] 455 | fn pbrt_coordinate_system(name: String) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_coord_sys_transform`
[INFO] [stdout]    --> src/main.rs:461:4
[INFO] [stdout]     |
[INFO] [stdout] 461 | fn pbrt_coord_sys_transform(name: String) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_active_transform_all`
[INFO] [stdout]    --> src/main.rs:470:4
[INFO] [stdout]     |
[INFO] [stdout] 470 | fn pbrt_active_transform_all() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_active_transform_end_time`
[INFO] [stdout]    --> src/main.rs:474:4
[INFO] [stdout]     |
[INFO] [stdout] 474 | fn pbrt_active_transform_end_time() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_active_transform_start_time`
[INFO] [stdout]    --> src/main.rs:478:4
[INFO] [stdout]     |
[INFO] [stdout] 478 | fn pbrt_active_transform_start_time() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_transform_times`
[INFO] [stdout]    --> src/main.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn pbrt_transform_times(start: f32, end: f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_pixel_filter`
[INFO] [stdout]    --> src/main.rs:488:4
[INFO] [stdout]     |
[INFO] [stdout] 488 | fn pbrt_pixel_filter(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_sampler`
[INFO] [stdout]    --> src/main.rs:494:4
[INFO] [stdout]     |
[INFO] [stdout] 494 | fn pbrt_sampler(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_accelerator`
[INFO] [stdout]    --> src/main.rs:500:4
[INFO] [stdout]     |
[INFO] [stdout] 500 | fn pbrt_accelerator(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_surf_integrator`
[INFO] [stdout]    --> src/main.rs:506:4
[INFO] [stdout]     |
[INFO] [stdout] 506 | fn pbrt_surf_integrator(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_vol_integrator`
[INFO] [stdout]    --> src/main.rs:512:4
[INFO] [stdout]     |
[INFO] [stdout] 512 | fn pbrt_vol_integrator(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_renderer`
[INFO] [stdout]    --> src/main.rs:518:4
[INFO] [stdout]     |
[INFO] [stdout] 518 | fn pbrt_renderer(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_camera`
[INFO] [stdout]    --> src/main.rs:524:4
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn pbrt_camera(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_float_texture`
[INFO] [stdout]    --> src/main.rs:534:4
[INFO] [stdout]     |
[INFO] [stdout] 534 | fn make_float_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc<Texture<f32>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_color_texture`
[INFO] [stdout]    --> src/main.rs:541:4
[INFO] [stdout]     |
[INFO] [stdout] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc<Texture<Spectrum>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_material`
[INFO] [stdout]    --> src/main.rs:548:4
[INFO] [stdout]     |
[INFO] [stdout] 548 | fn make_material(name: &String, _tex_to_world: &Transform, params: TextureParams) -> Material {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_light`
[INFO] [stdout]    --> src/main.rs:558:4
[INFO] [stdout]     |
[INFO] [stdout] 558 | fn make_light(name: &str, light_to_world: &Transform, params: &ParamSet) -> Arc<Light> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_area_light`
[INFO] [stdout]    --> src/main.rs:571:4
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_shape`
[INFO] [stdout]    --> src/main.rs:576:4
[INFO] [stdout]     |
[INFO] [stdout] 576 | fn make_shape(name: &str, obj_to_world: Transform, world_to_obj: Transform,
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_accelerator`
[INFO] [stdout]    --> src/main.rs:591:4
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn make_accelerator(name: &str, prims: &Vec<Arc<Primitive>>, params: &ParamSet) -> Arc<Primitive> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_make_named_material`
[INFO] [stdout]    --> src/main.rs:595:4
[INFO] [stdout]     |
[INFO] [stdout] 595 | fn pbrt_make_named_material(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_material`
[INFO] [stdout]    --> src/main.rs:611:4
[INFO] [stdout]     |
[INFO] [stdout] 611 | fn pbrt_material(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_texture`
[INFO] [stdout]    --> src/main.rs:618:4
[INFO] [stdout]     |
[INFO] [stdout] 618 | fn pbrt_texture(name: &String, ty: &String, texname: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_light_source`
[INFO] [stdout]    --> src/main.rs:646:4
[INFO] [stdout]     |
[INFO] [stdout] 646 | fn pbrt_light_source(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_area_light_source`
[INFO] [stdout]    --> src/main.rs:653:4
[INFO] [stdout]     |
[INFO] [stdout] 653 | fn pbrt_area_light_source(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_shape`
[INFO] [stdout]    --> src/main.rs:659:4
[INFO] [stdout]     |
[INFO] [stdout] 659 | fn pbrt_shape(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_object_begin`
[INFO] [stdout]    --> src/main.rs:739:4
[INFO] [stdout]     |
[INFO] [stdout] 739 | fn pbrt_object_begin(name: String) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_object_end`
[INFO] [stdout]    --> src/main.rs:750:4
[INFO] [stdout]     |
[INFO] [stdout] 750 | fn pbrt_object_end() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_object_instance`
[INFO] [stdout]    --> src/main.rs:760:4
[INFO] [stdout]     |
[INFO] [stdout] 760 | fn pbrt_object_instance(name: &String) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_world_begin`
[INFO] [stdout]    --> src/main.rs:790:4
[INFO] [stdout]     |
[INFO] [stdout] 790 | fn pbrt_world_begin() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_world_end`
[INFO] [stdout]    --> src/main.rs:799:4
[INFO] [stdout]     |
[INFO] [stdout] 799 | fn pbrt_world_end() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `START_TRANSFORM_BITS`
[INFO] [stdout]   --> src/main.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | const START_TRANSFORM_BITS: usize = (1 << 0);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `END_TRANSFORM_BITS`
[INFO] [stdout]   --> src/main.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | const END_TRANSFORM_BITS: usize = (1 << 1);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_animated`
[INFO] [stdout]   --> src/main.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn is_animated(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `inverse`
[INFO] [stdout]   --> src/main.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn inverse(ts: &TransformSet) -> TransformSet {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `make_renderer`
[INFO] [stdout]    --> src/main.rs:194:8
[INFO] [stdout]     |
[INFO] [stdout] 194 |     fn make_renderer(&self) -> Arc<Renderer> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `make_scene`
[INFO] [stdout]    --> src/main.rs:198:8
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn make_scene(&mut self) -> Scene {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `create_material`
[INFO] [stdout]    --> src/main.rs:256:8
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn create_material(&self, params: &ParamSet) -> Arc<Material> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `float_textures`
[INFO] [stdout]    --> src/main.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 270 |     fn float_textures(&self) -> Arc<HashMap<String, Arc<Texture<f32>>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `spectrum_textures`
[INFO] [stdout]    --> src/main.rs:274:8
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn spectrum_textures(&self) -> Arc<HashMap<String, Arc<Texture<Spectrum>>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `for_active_transforms`
[INFO] [stdout]    --> src/main.rs:306:4
[INFO] [stdout]     |
[INFO] [stdout] 306 | fn for_active_transforms<T: Fn(&mut Transform)>(f: T) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_attribute_begin`
[INFO] [stdout]    --> src/main.rs:355:4
[INFO] [stdout]     |
[INFO] [stdout] 355 | fn pbrt_attribute_begin() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_attribute_end`
[INFO] [stdout]    --> src/main.rs:365:4
[INFO] [stdout]     |
[INFO] [stdout] 365 | fn pbrt_attribute_end() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_transform_begin`
[INFO] [stdout]    --> src/main.rs:378:4
[INFO] [stdout]     |
[INFO] [stdout] 378 | fn pbrt_transform_begin() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_transform_end`
[INFO] [stdout]    --> src/main.rs:384:4
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn pbrt_transform_end() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_identity`
[INFO] [stdout]    --> src/main.rs:393:4
[INFO] [stdout]     |
[INFO] [stdout] 393 | fn pbrt_identity() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_translate`
[INFO] [stdout]    --> src/main.rs:400:4
[INFO] [stdout]     |
[INFO] [stdout] 400 | fn pbrt_translate(dx: f32, dy: f32, dz: f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_rotate`
[INFO] [stdout]    --> src/main.rs:407:4
[INFO] [stdout]     |
[INFO] [stdout] 407 | fn pbrt_rotate(angle: f32, ax: f32, ay: f32, az: f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_scale`
[INFO] [stdout]    --> src/main.rs:414:4
[INFO] [stdout]     |
[INFO] [stdout] 414 | fn pbrt_scale(sx: f32, sy: f32, sz: f32) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_lookat`
[INFO] [stdout]    --> src/main.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn pbrt_lookat(ex: f32, ey: f32, ez: f32,
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_concat_transform`
[INFO] [stdout]    --> src/main.rs:433:4
[INFO] [stdout]     |
[INFO] [stdout] 433 | fn pbrt_concat_transform(xf: [f32; 16]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_transform`
[INFO] [stdout]    --> src/main.rs:444:4
[INFO] [stdout]     |
[INFO] [stdout] 444 | fn pbrt_transform(xf: [f32; 16]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_coordinate_system`
[INFO] [stdout]    --> src/main.rs:455:4
[INFO] [stdout]     |
[INFO] [stdout] 455 | fn pbrt_coordinate_system(name: String) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_coord_sys_transform`
[INFO] [stdout]    --> src/main.rs:461:4
[INFO] [stdout]     |
[INFO] [stdout] 461 | fn pbrt_coord_sys_transform(name: String) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_active_transform_all`
[INFO] [stdout]    --> src/main.rs:470:4
[INFO] [stdout]     |
[INFO] [stdout] 470 | fn pbrt_active_transform_all() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_active_transform_end_time`
[INFO] [stdout]    --> src/main.rs:474:4
[INFO] [stdout]     |
[INFO] [stdout] 474 | fn pbrt_active_transform_end_time() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_active_transform_start_time`
[INFO] [stdout]    --> src/main.rs:478:4
[INFO] [stdout]     |
[INFO] [stdout] 478 | fn pbrt_active_transform_start_time() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_transform_times`
[INFO] [stdout]    --> src/main.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn pbrt_transform_times(start: f32, end: f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_pixel_filter`
[INFO] [stdout]    --> src/main.rs:488:4
[INFO] [stdout]     |
[INFO] [stdout] 488 | fn pbrt_pixel_filter(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_sampler`
[INFO] [stdout]    --> src/main.rs:494:4
[INFO] [stdout]     |
[INFO] [stdout] 494 | fn pbrt_sampler(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_accelerator`
[INFO] [stdout]    --> src/main.rs:500:4
[INFO] [stdout]     |
[INFO] [stdout] 500 | fn pbrt_accelerator(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_surf_integrator`
[INFO] [stdout]    --> src/main.rs:506:4
[INFO] [stdout]     |
[INFO] [stdout] 506 | fn pbrt_surf_integrator(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_vol_integrator`
[INFO] [stdout]    --> src/main.rs:512:4
[INFO] [stdout]     |
[INFO] [stdout] 512 | fn pbrt_vol_integrator(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_renderer`
[INFO] [stdout]    --> src/main.rs:518:4
[INFO] [stdout]     |
[INFO] [stdout] 518 | fn pbrt_renderer(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_camera`
[INFO] [stdout]    --> src/main.rs:524:4
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn pbrt_camera(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_float_texture`
[INFO] [stdout]    --> src/main.rs:534:4
[INFO] [stdout]     |
[INFO] [stdout] 534 | fn make_float_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc<Texture<f32>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_color_texture`
[INFO] [stdout]    --> src/main.rs:541:4
[INFO] [stdout]     |
[INFO] [stdout] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc<Texture<Spectrum>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_material`
[INFO] [stdout]    --> src/main.rs:548:4
[INFO] [stdout]     |
[INFO] [stdout] 548 | fn make_material(name: &String, _tex_to_world: &Transform, params: TextureParams) -> Material {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_light`
[INFO] [stdout]    --> src/main.rs:558:4
[INFO] [stdout]     |
[INFO] [stdout] 558 | fn make_light(name: &str, light_to_world: &Transform, params: &ParamSet) -> Arc<Light> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_area_light`
[INFO] [stdout]    --> src/main.rs:571:4
[INFO] [stdout]     |
[INFO] [stdout] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_shape`
[INFO] [stdout]    --> src/main.rs:576:4
[INFO] [stdout]     |
[INFO] [stdout] 576 | fn make_shape(name: &str, obj_to_world: Transform, world_to_obj: Transform,
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_accelerator`
[INFO] [stdout]    --> src/main.rs:591:4
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn make_accelerator(name: &str, prims: &Vec<Arc<Primitive>>, params: &ParamSet) -> Arc<Primitive> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_make_named_material`
[INFO] [stdout]    --> src/main.rs:595:4
[INFO] [stdout]     |
[INFO] [stdout] 595 | fn pbrt_make_named_material(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_material`
[INFO] [stdout]    --> src/main.rs:611:4
[INFO] [stdout]     |
[INFO] [stdout] 611 | fn pbrt_material(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_texture`
[INFO] [stdout]    --> src/main.rs:618:4
[INFO] [stdout]     |
[INFO] [stdout] 618 | fn pbrt_texture(name: &String, ty: &String, texname: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_light_source`
[INFO] [stdout]    --> src/main.rs:646:4
[INFO] [stdout]     |
[INFO] [stdout] 646 | fn pbrt_light_source(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_area_light_source`
[INFO] [stdout]    --> src/main.rs:653:4
[INFO] [stdout]     |
[INFO] [stdout] 653 | fn pbrt_area_light_source(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_shape`
[INFO] [stdout]    --> src/main.rs:659:4
[INFO] [stdout]     |
[INFO] [stdout] 659 | fn pbrt_shape(name: &String, params: &ParamSet) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_object_begin`
[INFO] [stdout]    --> src/main.rs:739:4
[INFO] [stdout]     |
[INFO] [stdout] 739 | fn pbrt_object_begin(name: String) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_object_end`
[INFO] [stdout]    --> src/main.rs:750:4
[INFO] [stdout]     |
[INFO] [stdout] 750 | fn pbrt_object_end() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_object_instance`
[INFO] [stdout]    --> src/main.rs:760:4
[INFO] [stdout]     |
[INFO] [stdout] 760 | fn pbrt_object_instance(name: &String) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_world_begin`
[INFO] [stdout]    --> src/main.rs:790:4
[INFO] [stdout]     |
[INFO] [stdout] 790 | fn pbrt_world_begin() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `pbrt_world_end`
[INFO] [stdout]    --> src/main.rs:799:4
[INFO] [stdout]     |
[INFO] [stdout] 799 | fn pbrt_world_end() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 89 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 89 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stdout]    --> src/montecarlo.rs:178:55
[INFO] [stdout]     |
[INFO] [stdout] 178 |         for (x, y) in result.into_iter().zip(expected.into_iter().map(|x| *x)) {
[INFO] [stdout]     |                                                       ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stdout]    --> src/montecarlo.rs:188:57
[INFO] [stdout]     |
[INFO] [stdout] 188 |         for (x, y) in result5.into_iter().zip(expected5.into_iter().map(|x| *x)) {
[INFO] [stdout]     |                                                         ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 227 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 21.25s
[INFO] running `Command { std: "docker" "inspect" "d3aa0d9db8629a741d5132e2a0f9363015dc6304c9a7745883f937b24cc5470b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3aa0d9db8629a741d5132e2a0f9363015dc6304c9a7745883f937b24cc5470b", kill_on_drop: false }`
[INFO] [stdout] d3aa0d9db8629a741d5132e2a0f9363015dc6304c9a7745883f937b24cc5470b
