[INFO] updating cached repository https://github.com/Mokosha/pbrt_rust [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 6ce0c65cebbf706a554aff2397fe5e1a85583181 [INFO] checking Mokosha/pbrt_rust against master#45d050cde277b22a755847338f2acc2c7b834141 for pr-71393 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMokosha%2Fpbrt_rust" "/workspace/builds/worker-9/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Mokosha/pbrt_rust on toolchain 45d050cde277b22a755847338f2acc2c7b834141 [INFO] running `"/workspace/cargo-home/bin/cargo" "+45d050cde277b22a755847338f2acc2c7b834141" "read-manifest" "--manifest-path" "Cargo.toml"` [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-9/source/Cargo.toml [INFO] crate git repo https://github.com/Mokosha/pbrt_rust already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+45d050cde277b22a755847338f2acc2c7b834141" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+45d050cde277b22a755847338f2acc2c7b834141" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] cdf7409d9849d6dcb937821b5ca04ccfe0993381d36b12d3ed8be02cd9fbcd74 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "cdf7409d9849d6dcb937821b5ca04ccfe0993381d36b12d3ed8be02cd9fbcd74"` [INFO] [stderr] Checking libc v0.2.7 [INFO] [stderr] Compiling gcc v0.3.26 [INFO] [stderr] Checking rustc-serialize v0.3.24 [INFO] [stderr] Checking hamming v0.1.3 [INFO] [stderr] Checking lzw v0.9.0 [INFO] [stderr] Checking inflate v0.1.0 [INFO] [stderr] Checking bitflags v0.3.3 [INFO] [stderr] Checking primal-estimate v0.2.1 [INFO] [stderr] Checking byteorder v0.4.2 [INFO] [stderr] Checking libc v0.1.10 [INFO] [stderr] Checking lazy_static v0.2.11 [INFO] [stderr] Checking bitflags v0.5.0 [INFO] [stderr] Checking primal-bit v0.2.3 [INFO] [stderr] Checking num_cpus v0.2.6 [INFO] [stderr] Checking gif v0.7.0 [INFO] [stderr] Checking rand v0.3.14 [INFO] [stderr] Checking primal-sieve v0.2.4 [INFO] [stderr] Compiling miniz-sys v0.1.7 [INFO] [stderr] Checking flate2 v0.2.13 [INFO] [stderr] Checking num v0.1.31 [INFO] [stderr] Checking enum_primitive v0.1.0 [INFO] [stderr] Checking primal-check v0.2.2 [INFO] [stderr] Checking png v0.4.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] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/bsdf/mod.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | / bitflags! { [INFO] [stderr] 23 | | pub flags BxDFType: u32 { [INFO] [stderr] 24 | | const BSDF_REFLECTION = (1 << 0), [INFO] [stderr] 25 | | const BSDF_TRANSMISSION = (1 << 1), [INFO] [stderr] ... | [INFO] [stderr] 37 | | } [INFO] [stderr] 38 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/bsdf/mod.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | / bitflags! { [INFO] [stderr] 23 | | pub flags BxDFType: u32 { [INFO] [stderr] 24 | | const BSDF_REFLECTION = (1 << 0), [INFO] [stderr] 25 | | const BSDF_TRANSMISSION = (1 << 1), [INFO] [stderr] ... | [INFO] [stderr] 37 | | } [INFO] [stderr] 38 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bsdf/mod.rs:67:20 [INFO] [stderr] | [INFO] [stderr] 67 | bxdfs: Vec> [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn BxDF` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bsdf/mod.rs:198:15 [INFO] [stderr] | [INFO] [stderr] 198 | bxdf: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn BxDF` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bsdf/mod.rs:203:27 [INFO] [stderr] | [INFO] [stderr] 203 | pub fn new(input: Box, sc: Spectrum) -> ScaledBxDF { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn BxDF` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/matte.rs:15:16 [INFO] [stderr] | [INFO] [stderr] 15 | sigma: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/matte.rs:16:26 [INFO] [stderr] | [INFO] [stderr] 16 | bump_map: Option>>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/matte.rs:17:14 [INFO] [stderr] | [INFO] [stderr] 17 | k_d: Arc> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/matte.rs:21:24 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new(kd: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/matte.rs:22:25 [INFO] [stderr] | [INFO] [stderr] 22 | sig: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/matte.rs:23:37 [INFO] [stderr] | [INFO] [stderr] 23 | bump_map: Option>>) -> MatteMaterial { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/measured.rs:21:26 [INFO] [stderr] | [INFO] [stderr] 21 | bump_map: Option>> [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/measured.rs:25:48 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn new(filename: String, b: Option>>) -> MeasuredMaterial { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mix.rs:17:16 [INFO] [stderr] | [INFO] [stderr] 17 | scale: Arc> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mix.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | sc: Arc>) -> MixMaterial { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:17:14 [INFO] [stderr] | [INFO] [stderr] 17 | k_d: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:18:14 [INFO] [stderr] | [INFO] [stderr] 18 | k_s: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:19:20 [INFO] [stderr] | [INFO] [stderr] 19 | roughness: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:20:26 [INFO] [stderr] | [INFO] [stderr] 20 | bump_map: Option>> [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:24:24 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn new(kd: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:25:24 [INFO] [stderr] | [INFO] [stderr] 25 | ks: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:26:27 [INFO] [stderr] | [INFO] [stderr] 26 | rough: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:27:31 [INFO] [stderr] | [INFO] [stderr] 27 | bm: Option>>) -> PlasticMaterial { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:17:14 [INFO] [stderr] | [INFO] [stderr] 17 | k_r: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:18:18 [INFO] [stderr] | [INFO] [stderr] 18 | sigma_a: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:19:24 [INFO] [stderr] | [INFO] [stderr] 19 | sigma_prime_s: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:20:14 [INFO] [stderr] | [INFO] [stderr] 20 | eta: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:21:26 [INFO] [stderr] | [INFO] [stderr] 21 | bump_map: Option>> [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:25:37 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn new(scale: f32, k_r: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:26:29 [INFO] [stderr] | [INFO] [stderr] 26 | sigma_a: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:27:35 [INFO] [stderr] | [INFO] [stderr] 27 | sigma_prime_s: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:28:25 [INFO] [stderr] | [INFO] [stderr] 28 | eta: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:29:37 [INFO] [stderr] | [INFO] [stderr] 29 | bump_map: Option>>) -> SubsurfaceMaterial { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:90:26 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn matte(kd: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:91:27 [INFO] [stderr] | [INFO] [stderr] 91 | sig: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:92:39 [INFO] [stderr] | [INFO] [stderr] 92 | bump_map: Option>>) -> Material { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:96:28 [INFO] [stderr] | [INFO] [stderr] 96 | pub fn plastic(kd: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:97:28 [INFO] [stderr] | [INFO] [stderr] 97 | ks: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:98:31 [INFO] [stderr] | [INFO] [stderr] 98 | rough: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:99:35 [INFO] [stderr] | [INFO] [stderr] 99 | bm: Option>>) -> Material { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:103:53 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn measured(filename: String, b: Option>>) -> Material { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:108:26 [INFO] [stderr] | [INFO] [stderr] 108 | sc: Arc>) -> Material { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:112:44 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn subsurface(scale: f32, k_r: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:113:36 [INFO] [stderr] | [INFO] [stderr] 113 | sigma_a: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:114:42 [INFO] [stderr] | [INFO] [stderr] 114 | sigma_prime_s: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:115:32 [INFO] [stderr] | [INFO] [stderr] 115 | eta: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:116:38 [INFO] [stderr] | [INFO] [stderr] 116 | bm: Option>>) -> Material { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:264:45 [INFO] [stderr] | [INFO] [stderr] 264 | float_textures: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:265:48 [INFO] [stderr] | [INFO] [stderr] 265 | spectrum_textures: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:270:54 [INFO] [stderr] | [INFO] [stderr] 270 | fn find_texture(textures: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:271:39 [INFO] [stderr] | [INFO] [stderr] 271 | name: &str) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:273:41 [INFO] [stderr] | [INFO] [stderr] 273 | Some(tex) => tex.clone() as Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:280:44 [INFO] [stderr] | [INFO] [stderr] 280 | ft: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:281:44 [INFO] [stderr] | [INFO] [stderr] 281 | st: Arc>>>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:292:40 [INFO] [stderr] | [INFO] [stderr] 292 | ... -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:296:56 [INFO] [stderr] | [INFO] [stderr] 296 | Arc::new(ConstantTexture::new(val)) as Arc> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:301:55 [INFO] [stderr] | [INFO] [stderr] 301 | ... -> Option>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:307:37 [INFO] [stderr] | [INFO] [stderr] 307 | ... -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:311:56 [INFO] [stderr] | [INFO] [stderr] 311 | Arc::new(ConstantTexture::new(val)) as Arc> [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:316:52 [INFO] [stderr] | [INFO] [stderr] 316 | ... -> Option>> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sampler_renderer.rs:197:47 [INFO] [stderr] | [INFO] [stderr] 197 | let accum = |acc, light: &Arc| acc + light.le(ray); [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Light` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/shape/mesh.rs:270:15 [INFO] [stderr] | [INFO] [stderr] 270 | 0 ... 2 => &(self.mesh.p[self.v[i]]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shape/mesh.rs:284:22 [INFO] [stderr] | [INFO] [stderr] 284 | atex: Option>> [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shape/mesh.rs:301:58 [INFO] [stderr] | [INFO] [stderr] 301 | uv: Option<&[f32]>, _atex: Option>>>) [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shape/mesh.rs:312:50 [INFO] [stderr] | [INFO] [stderr] 312 | atex: _atex.map(|t| t.clone() as Arc>) [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shape/mod.rs:188:48 [INFO] [stderr] | [INFO] [stderr] 188 | _atex: Option>>>) -> Shape { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/spectrum.rs:631:22 [INFO] [stderr] | [INFO] [stderr] 631 | 0...29 => cs.get(index).unwrap(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/spectrum.rs:638:22 [INFO] [stderr] | [INFO] [stderr] 638 | 0...2 => cs.get(index).unwrap(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/spectrum.rs:651:22 [INFO] [stderr] | [INFO] [stderr] 651 | 0...29 => cs.get_mut(index).unwrap(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/spectrum.rs:658:22 [INFO] [stderr] | [INFO] [stderr] 658 | 0...2 => cs.get_mut(index).unwrap(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene.rs:17:22 [INFO] [stderr] | [INFO] [stderr] 17 | lights : Vec>, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Light` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene.rs:18:32 [INFO] [stderr] | [INFO] [stderr] 18 | volume_region : Option>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene.rs:33:37 [INFO] [stderr] | [INFO] [stderr] 33 | lights: Vec>, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Light` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene.rs:34:47 [INFO] [stderr] | [INFO] [stderr] 34 | volume_region: Option>) -> Scene { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene.rs:42:37 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn lights(&self) -> Vec> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Light` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:18:18 [INFO] [stderr] | [INFO] [stderr] 18 | mapping: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:19:15 [INFO] [stderr] | [INFO] [stderr] 19 | tex1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:20:15 [INFO] [stderr] | [INFO] [stderr] 20 | tex2: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:25:29 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn new(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:25:56 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn new(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:26:24 [INFO] [stderr] | [INFO] [stderr] 26 | t2: Arc>) -> CheckerboardTexture { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:31:41 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn new_antialiased(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:31:68 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn new_antialiased(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:32:36 [INFO] [stderr] | [INFO] [stderr] 32 | ... t2: Arc>) -> CheckerboardTexture { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:97:18 [INFO] [stderr] | [INFO] [stderr] 97 | mapping: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:98:15 [INFO] [stderr] | [INFO] [stderr] 98 | tex1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:99:15 [INFO] [stderr] | [INFO] [stderr] 99 | tex2: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:103:29 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn new(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:103:56 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn new(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:104:24 [INFO] [stderr] | [INFO] [stderr] 104 | t2: Arc>) -> Checkerboard3DTexture { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mapping2d.rs:27:64 [INFO] [stderr] | [INFO] [stderr] 27 | impl TextureMapping2DBase for U where U: Deref { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mapping3d.rs:20:64 [INFO] [stderr] | [INFO] [stderr] 20 | impl TextureMapping3DBase for U where U: Deref { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mix.rs:10:15 [INFO] [stderr] | [INFO] [stderr] 10 | tex1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mix.rs:11:15 [INFO] [stderr] | [INFO] [stderr] 11 | tex2: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mix.rs:12:17 [INFO] [stderr] | [INFO] [stderr] 12 | amount: Arc> [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mix.rs:16:24 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn new(t1: Arc>, t2: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mix.rs:16:45 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn new(t1: Arc>, t2: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mix.rs:17:25 [INFO] [stderr] | [INFO] [stderr] 17 | amt: Arc>) -> MixTexture { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/bilerp.rs:11:18 [INFO] [stderr] | [INFO] [stderr] 11 | mapping: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/imagemap.rs:420:18 [INFO] [stderr] | [INFO] [stderr] 420 | mapping: Box [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/imagemap.rs:510:12 [INFO] [stderr] | [INFO] [stderr] 510 | m: Box, filename: &P, do_trilinear: bool, max_aniso: f32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/imagemap.rs:521:12 [INFO] [stderr] | [INFO] [stderr] 521 | m: Box, filename: &P, do_trilinear: bool, max_aniso: f32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/uv.rs:11:18 [INFO] [stderr] | [INFO] [stderr] 11 | mapping: Box [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/uv.rs:15:30 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn new(_mapping: Box) -> UVTexture { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/dots.rs:11:18 [INFO] [stderr] | [INFO] [stderr] 11 | mapping: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/dots.rs:12:21 [INFO] [stderr] | [INFO] [stderr] 12 | inside_dot: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/dots.rs:13:22 [INFO] [stderr] | [INFO] [stderr] 13 | outside_dot: Arc> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/dots.rs:17:29 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn new(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/dots.rs:17:56 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn new(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/dots.rs:18:24 [INFO] [stderr] | [INFO] [stderr] 18 | t2: Arc>) -> DotsTexture { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/fbm.rs:12:18 [INFO] [stderr] | [INFO] [stderr] 12 | mapping: Box [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/fbm.rs:16:51 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn new(oct: i32, roughness: f32, map: Box) -> FBmTexture { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/fbm.rs:32:18 [INFO] [stderr] | [INFO] [stderr] 32 | mapping: Box [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/fbm.rs:36:51 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn new(oct: i32, roughness: f32, map: Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mod.rs:27:61 [INFO] [stderr] | [INFO] [stderr] 27 | impl TextureBase for U where U: Deref> { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mod.rs:64:15 [INFO] [stderr] | [INFO] [stderr] 64 | tex1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mod.rs:65:15 [INFO] [stderr] | [INFO] [stderr] 65 | tex2: Arc> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mod.rs:69:24 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn new(t1: Arc>, t2: Arc>) -> ScaleTexture { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mod.rs:69:45 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn new(t1: Arc>, t2: Arc>) -> ScaleTexture { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/transform/matrix4x4.rs:261:15 [INFO] [stderr] | [INFO] [stderr] 261 | 0 ... 3 => &self.m[i], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/transform/matrix4x4.rs:270:15 [INFO] [stderr] | [INFO] [stderr] 270 | 0 ... 3 => &mut self.m[i], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/transform/transform.rs:317:15 [INFO] [stderr] | [INFO] [stderr] 317 | 0 ... 3 => &self.m[i], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/transform/transform.rs:326:15 [INFO] [stderr] | [INFO] [stderr] 326 | 0 ... 3 => &mut self.m[i], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/volume/aggregate.rs:18:22 [INFO] [stderr] | [INFO] [stderr] 18 | regions: Vec>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/volume/aggregate.rs:23:27 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new(r: Vec>) -> AggregateVolumeRegion { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::atomic::ATOMIC_USIZE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/primitive/mod.rs:31:36 [INFO] [stderr] | [INFO] [stderr] 31 | static NEXT_PRIM_ID: AtomicUsize = ::std::sync::atomic::ATOMIC_USIZE_INIT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `AtomicUsize::new(0)` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::atomic::ATOMIC_USIZE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/shape/mod.rs:41:37 [INFO] [stderr] | [INFO] [stderr] 41 | static NEXT_SHAPE_ID: AtomicUsize = ::std::sync::atomic::ATOMIC_USIZE_INIT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `AtomicUsize::new(0)` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/texture/imagemap.rs:410:1 [INFO] [stderr] | [INFO] [stderr] 410 | / lazy_static! { [INFO] [stderr] 411 | | static ref FLOAT_TEXTURES: Mutex> = [INFO] [stderr] 412 | | Mutex::new(TextureCache::new()); [INFO] [stderr] 413 | | static ref SPECTRUM_TEXTURES: Mutex> = [INFO] [stderr] 414 | | Mutex::new(TextureCache::new()); [INFO] [stderr] 415 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/texture/imagemap.rs:410:1 [INFO] [stderr] | [INFO] [stderr] 410 | / lazy_static! { [INFO] [stderr] 411 | | static ref FLOAT_TEXTURES: Mutex> = [INFO] [stderr] 412 | | Mutex::new(TextureCache::new()); [INFO] [stderr] 413 | | static ref SPECTRUM_TEXTURES: Mutex> = [INFO] [stderr] 414 | | Mutex::new(TextureCache::new()); [INFO] [stderr] 415 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/bsdf/mod.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | / bitflags! { [INFO] [stderr] 23 | | pub flags BxDFType: u32 { [INFO] [stderr] 24 | | const BSDF_REFLECTION = (1 << 0), [INFO] [stderr] 25 | | const BSDF_TRANSMISSION = (1 << 1), [INFO] [stderr] ... | [INFO] [stderr] 37 | | } [INFO] [stderr] 38 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/bsdf/mod.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | / bitflags! { [INFO] [stderr] 23 | | pub flags BxDFType: u32 { [INFO] [stderr] 24 | | const BSDF_REFLECTION = (1 << 0), [INFO] [stderr] 25 | | const BSDF_TRANSMISSION = (1 << 1), [INFO] [stderr] ... | [INFO] [stderr] 37 | | } [INFO] [stderr] 38 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bsdf/mod.rs:67:20 [INFO] [stderr] | [INFO] [stderr] 67 | bxdfs: Vec> [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn BxDF` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bsdf/mod.rs:198:15 [INFO] [stderr] | [INFO] [stderr] 198 | bxdf: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn BxDF` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bsdf/mod.rs:203:27 [INFO] [stderr] | [INFO] [stderr] 203 | pub fn new(input: Box, sc: Spectrum) -> ScaledBxDF { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn BxDF` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/matte.rs:15:16 [INFO] [stderr] | [INFO] [stderr] 15 | sigma: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/matte.rs:16:26 [INFO] [stderr] | [INFO] [stderr] 16 | bump_map: Option>>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/matte.rs:17:14 [INFO] [stderr] | [INFO] [stderr] 17 | k_d: Arc> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/matte.rs:21:24 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new(kd: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/matte.rs:22:25 [INFO] [stderr] | [INFO] [stderr] 22 | sig: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/matte.rs:23:37 [INFO] [stderr] | [INFO] [stderr] 23 | bump_map: Option>>) -> MatteMaterial { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/measured.rs:21:26 [INFO] [stderr] | [INFO] [stderr] 21 | bump_map: Option>> [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/measured.rs:25:48 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn new(filename: String, b: Option>>) -> MeasuredMaterial { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mix.rs:17:16 [INFO] [stderr] | [INFO] [stderr] 17 | scale: Arc> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mix.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | sc: Arc>) -> MixMaterial { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:17:14 [INFO] [stderr] | [INFO] [stderr] 17 | k_d: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:18:14 [INFO] [stderr] | [INFO] [stderr] 18 | k_s: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:19:20 [INFO] [stderr] | [INFO] [stderr] 19 | roughness: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:20:26 [INFO] [stderr] | [INFO] [stderr] 20 | bump_map: Option>> [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:24:24 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn new(kd: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:25:24 [INFO] [stderr] | [INFO] [stderr] 25 | ks: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:26:27 [INFO] [stderr] | [INFO] [stderr] 26 | rough: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/plastic.rs:27:31 [INFO] [stderr] | [INFO] [stderr] 27 | bm: Option>>) -> PlasticMaterial { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:17:14 [INFO] [stderr] | [INFO] [stderr] 17 | k_r: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:18:18 [INFO] [stderr] | [INFO] [stderr] 18 | sigma_a: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:19:24 [INFO] [stderr] | [INFO] [stderr] 19 | sigma_prime_s: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:20:14 [INFO] [stderr] | [INFO] [stderr] 20 | eta: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:21:26 [INFO] [stderr] | [INFO] [stderr] 21 | bump_map: Option>> [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:25:37 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn new(scale: f32, k_r: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:26:29 [INFO] [stderr] | [INFO] [stderr] 26 | sigma_a: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:27:35 [INFO] [stderr] | [INFO] [stderr] 27 | sigma_prime_s: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:28:25 [INFO] [stderr] | [INFO] [stderr] 28 | eta: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/subsurface.rs:29:37 [INFO] [stderr] | [INFO] [stderr] 29 | bump_map: Option>>) -> SubsurfaceMaterial { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:90:26 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn matte(kd: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:91:27 [INFO] [stderr] | [INFO] [stderr] 91 | sig: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:92:39 [INFO] [stderr] | [INFO] [stderr] 92 | bump_map: Option>>) -> Material { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:96:28 [INFO] [stderr] | [INFO] [stderr] 96 | pub fn plastic(kd: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:97:28 [INFO] [stderr] | [INFO] [stderr] 97 | ks: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:98:31 [INFO] [stderr] | [INFO] [stderr] 98 | rough: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:99:35 [INFO] [stderr] | [INFO] [stderr] 99 | bm: Option>>) -> Material { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:103:53 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn measured(filename: String, b: Option>>) -> Material { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:108:26 [INFO] [stderr] | [INFO] [stderr] 108 | sc: Arc>) -> Material { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:112:44 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn subsurface(scale: f32, k_r: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:113:36 [INFO] [stderr] | [INFO] [stderr] 113 | sigma_a: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:114:42 [INFO] [stderr] | [INFO] [stderr] 114 | sigma_prime_s: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:115:32 [INFO] [stderr] | [INFO] [stderr] 115 | eta: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/mod.rs:116:38 [INFO] [stderr] | [INFO] [stderr] 116 | bm: Option>>) -> Material { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:264:45 [INFO] [stderr] | [INFO] [stderr] 264 | float_textures: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:265:48 [INFO] [stderr] | [INFO] [stderr] 265 | spectrum_textures: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:270:54 [INFO] [stderr] | [INFO] [stderr] 270 | fn find_texture(textures: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:271:39 [INFO] [stderr] | [INFO] [stderr] 271 | name: &str) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:273:41 [INFO] [stderr] | [INFO] [stderr] 273 | Some(tex) => tex.clone() as Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:280:44 [INFO] [stderr] | [INFO] [stderr] 280 | ft: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:281:44 [INFO] [stderr] | [INFO] [stderr] 281 | st: Arc>>>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:292:40 [INFO] [stderr] | [INFO] [stderr] 292 | ... -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:296:56 [INFO] [stderr] | [INFO] [stderr] 296 | Arc::new(ConstantTexture::new(val)) as Arc> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:301:55 [INFO] [stderr] | [INFO] [stderr] 301 | ... -> Option>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:307:37 [INFO] [stderr] | [INFO] [stderr] 307 | ... -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:311:56 [INFO] [stderr] | [INFO] [stderr] 311 | Arc::new(ConstantTexture::new(val)) as Arc> [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/params.rs:316:52 [INFO] [stderr] | [INFO] [stderr] 316 | ... -> Option>> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sampler_renderer.rs:197:47 [INFO] [stderr] | [INFO] [stderr] 197 | let accum = |acc, light: &Arc| acc + light.le(ray); [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Light` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/shape/mesh.rs:270:15 [INFO] [stderr] | [INFO] [stderr] 270 | 0 ... 2 => &(self.mesh.p[self.v[i]]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shape/mesh.rs:284:22 [INFO] [stderr] | [INFO] [stderr] 284 | atex: Option>> [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shape/mesh.rs:301:58 [INFO] [stderr] | [INFO] [stderr] 301 | uv: Option<&[f32]>, _atex: Option>>>) [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shape/mesh.rs:312:50 [INFO] [stderr] | [INFO] [stderr] 312 | atex: _atex.map(|t| t.clone() as Arc>) [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shape/mod.rs:188:48 [INFO] [stderr] | [INFO] [stderr] 188 | _atex: Option>>>) -> Shape { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/spectrum.rs:631:22 [INFO] [stderr] | [INFO] [stderr] 631 | 0...29 => cs.get(index).unwrap(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/spectrum.rs:638:22 [INFO] [stderr] | [INFO] [stderr] 638 | 0...2 => cs.get(index).unwrap(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/spectrum.rs:651:22 [INFO] [stderr] | [INFO] [stderr] 651 | 0...29 => cs.get_mut(index).unwrap(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/spectrum.rs:658:22 [INFO] [stderr] | [INFO] [stderr] 658 | 0...2 => cs.get_mut(index).unwrap(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene.rs:17:22 [INFO] [stderr] | [INFO] [stderr] 17 | lights : Vec>, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Light` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene.rs:18:32 [INFO] [stderr] | [INFO] [stderr] 18 | volume_region : Option>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene.rs:33:37 [INFO] [stderr] | [INFO] [stderr] 33 | lights: Vec>, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Light` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene.rs:34:47 [INFO] [stderr] | [INFO] [stderr] 34 | volume_region: Option>) -> Scene { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene.rs:42:37 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn lights(&self) -> Vec> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Light` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:18:18 [INFO] [stderr] | [INFO] [stderr] 18 | mapping: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:19:15 [INFO] [stderr] | [INFO] [stderr] 19 | tex1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:20:15 [INFO] [stderr] | [INFO] [stderr] 20 | tex2: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:25:29 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn new(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:25:56 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn new(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:26:24 [INFO] [stderr] | [INFO] [stderr] 26 | t2: Arc>) -> CheckerboardTexture { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:31:41 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn new_antialiased(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:31:68 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn new_antialiased(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:32:36 [INFO] [stderr] | [INFO] [stderr] 32 | ... t2: Arc>) -> CheckerboardTexture { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:97:18 [INFO] [stderr] | [INFO] [stderr] 97 | mapping: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:98:15 [INFO] [stderr] | [INFO] [stderr] 98 | tex1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:99:15 [INFO] [stderr] | [INFO] [stderr] 99 | tex2: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:103:29 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn new(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:103:56 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn new(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:104:24 [INFO] [stderr] | [INFO] [stderr] 104 | t2: Arc>) -> Checkerboard3DTexture { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:132:66 [INFO] [stderr] | [INFO] [stderr] 132 | let tex1 = Arc::new(ConstantTexture::new(1.0f32)) as Arc>; [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:133:66 [INFO] [stderr] | [INFO] [stderr] 133 | let tex2 = Arc::new(ConstantTexture::new(0.0f32)) as Arc>; [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:150:66 [INFO] [stderr] | [INFO] [stderr] 150 | let tex1 = Arc::new(ConstantTexture::new(1.0f32)) as Arc>; [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:151:66 [INFO] [stderr] | [INFO] [stderr] 151 | let tex2 = Arc::new(ConstantTexture::new(0.0f32)) as Arc>; [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:171:66 [INFO] [stderr] | [INFO] [stderr] 171 | let tex1 = Arc::new(ConstantTexture::new(1.0f32)) as Arc>; [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checkerboard.rs:172:66 [INFO] [stderr] | [INFO] [stderr] 172 | let tex2 = Arc::new(ConstantTexture::new(0.0f32)) as Arc>; [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mapping2d.rs:27:64 [INFO] [stderr] | [INFO] [stderr] 27 | impl TextureMapping2DBase for U where U: Deref { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mapping3d.rs:20:64 [INFO] [stderr] | [INFO] [stderr] 20 | impl TextureMapping3DBase for U where U: Deref { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mix.rs:10:15 [INFO] [stderr] | [INFO] [stderr] 10 | tex1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mix.rs:11:15 [INFO] [stderr] | [INFO] [stderr] 11 | tex2: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mix.rs:12:17 [INFO] [stderr] | [INFO] [stderr] 12 | amount: Arc> [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mix.rs:16:24 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn new(t1: Arc>, t2: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mix.rs:16:45 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn new(t1: Arc>, t2: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mix.rs:17:25 [INFO] [stderr] | [INFO] [stderr] 17 | amt: Arc>) -> MixTexture { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mix.rs:38:56 [INFO] [stderr] | [INFO] [stderr] 38 | Vector::new_with(1.0, -2.0, 15.0))) as Arc>; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mix.rs:40:54 [INFO] [stderr] | [INFO] [stderr] 40 | Vector::new_with(1.0, 2.0, 3.0))) as Arc>; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mix.rs:41:66 [INFO] [stderr] | [INFO] [stderr] 41 | let amt = Arc::new(ConstantTexture::new(0.75f32)) as Arc>; [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/bilerp.rs:11:18 [INFO] [stderr] | [INFO] [stderr] 11 | mapping: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/imagemap.rs:420:18 [INFO] [stderr] | [INFO] [stderr] 420 | mapping: Box [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/imagemap.rs:510:12 [INFO] [stderr] | [INFO] [stderr] 510 | m: Box, filename: &P, do_trilinear: bool, max_aniso: f32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/imagemap.rs:521:12 [INFO] [stderr] | [INFO] [stderr] 521 | m: Box, filename: &P, do_trilinear: bool, max_aniso: f32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/uv.rs:11:18 [INFO] [stderr] | [INFO] [stderr] 11 | mapping: Box [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/uv.rs:15:30 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn new(_mapping: Box) -> UVTexture { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/dots.rs:11:18 [INFO] [stderr] | [INFO] [stderr] 11 | mapping: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/dots.rs:12:21 [INFO] [stderr] | [INFO] [stderr] 12 | inside_dot: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/dots.rs:13:22 [INFO] [stderr] | [INFO] [stderr] 13 | outside_dot: Arc> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/dots.rs:17:29 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn new(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping2D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/dots.rs:17:56 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn new(mapping: Box, t1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/dots.rs:18:24 [INFO] [stderr] | [INFO] [stderr] 18 | t2: Arc>) -> DotsTexture { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/fbm.rs:12:18 [INFO] [stderr] | [INFO] [stderr] 12 | mapping: Box [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/fbm.rs:16:51 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn new(oct: i32, roughness: f32, map: Box) -> FBmTexture { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/fbm.rs:32:18 [INFO] [stderr] | [INFO] [stderr] 32 | mapping: Box [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/fbm.rs:36:51 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn new(oct: i32, roughness: f32, map: Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMapping3D` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mod.rs:27:61 [INFO] [stderr] | [INFO] [stderr] 27 | impl TextureBase for U where U: Deref> { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mod.rs:64:15 [INFO] [stderr] | [INFO] [stderr] 64 | tex1: Arc>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mod.rs:65:15 [INFO] [stderr] | [INFO] [stderr] 65 | tex2: Arc> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mod.rs:69:24 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn new(t1: Arc>, t2: Arc>) -> ScaleTexture { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mod.rs:69:45 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn new(t1: Arc>, t2: Arc>) -> ScaleTexture { [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mod.rs:94:66 [INFO] [stderr] | [INFO] [stderr] 94 | let tex1 = Arc::new(ConstantTexture::new(2.0f32)) as Arc>; [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/mod.rs:96:20 [INFO] [stderr] | [INFO] [stderr] 96 | as Arc>; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/transform/matrix4x4.rs:261:15 [INFO] [stderr] | [INFO] [stderr] 261 | 0 ... 3 => &self.m[i], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/transform/matrix4x4.rs:270:15 [INFO] [stderr] | [INFO] [stderr] 270 | 0 ... 3 => &mut self.m[i], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/transform/transform.rs:317:15 [INFO] [stderr] | [INFO] [stderr] 317 | 0 ... 3 => &self.m[i], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/transform/transform.rs:326:15 [INFO] [stderr] | [INFO] [stderr] 326 | 0 ... 3 => &mut self.m[i], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/volume/aggregate.rs:18:22 [INFO] [stderr] | [INFO] [stderr] 18 | regions: Vec>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/volume/aggregate.rs:23:27 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new(r: Vec>) -> AggregateVolumeRegion { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/bsdf/utils.rs:17:25 [INFO] [stderr] | [INFO] [stderr] 17 | (vx / sintheta).clamp(-1.0, 1.0) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unstable_name_collisions)]` on by default [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/bsdf/utils.rs:27:25 [INFO] [stderr] | [INFO] [stderr] 27 | (vy / sintheta).clamp(-1.0, 1.0) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/bsdf/fresnel.rs:68:31 [INFO] [stderr] | [INFO] [stderr] 68 | let ci = cosi.clamp(-1.0, 1.0); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/bsdf/measured.rs:169:90 [INFO] [stderr] | [INFO] [stderr] 169 | let remap = |v: f32, mx: f32, cnt: usize| { (((v / mx) * (cnt as f32)) as usize).clamp(0, cnt - 1) }; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::atomic::ATOMIC_USIZE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/primitive/mod.rs:31:36 [INFO] [stderr] | [INFO] [stderr] 31 | static NEXT_PRIM_ID: AtomicUsize = ::std::sync::atomic::ATOMIC_USIZE_INIT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `AtomicUsize::new(0)` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::atomic::ATOMIC_USIZE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/shape/mod.rs:41:37 [INFO] [stderr] | [INFO] [stderr] 41 | static NEXT_SHAPE_ID: AtomicUsize = ::std::sync::atomic::ATOMIC_USIZE_INIT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `AtomicUsize::new(0)` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/texture/imagemap.rs:410:1 [INFO] [stderr] | [INFO] [stderr] 410 | / lazy_static! { [INFO] [stderr] 411 | | static ref FLOAT_TEXTURES: Mutex> = [INFO] [stderr] 412 | | Mutex::new(TextureCache::new()); [INFO] [stderr] 413 | | static ref SPECTRUM_TEXTURES: Mutex> = [INFO] [stderr] 414 | | Mutex::new(TextureCache::new()); [INFO] [stderr] 415 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/texture/imagemap.rs:410:1 [INFO] [stderr] | [INFO] [stderr] 410 | / lazy_static! { [INFO] [stderr] 411 | | static ref FLOAT_TEXTURES: Mutex> = [INFO] [stderr] 412 | | Mutex::new(TextureCache::new()); [INFO] [stderr] 413 | | static ref SPECTRUM_TEXTURES: Mutex> = [INFO] [stderr] 414 | | Mutex::new(TextureCache::new()); [INFO] [stderr] 415 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/camera/film.rs:24:47 [INFO] [stderr] | [INFO] [stderr] 24 | (255.0 * p.powf(1.0 / 2.2) + 0.5).clamp(0.0, 255.0) as u8 [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/geometry/vector.rs:212:9 [INFO] [stderr] | [INFO] [stderr] 212 | v.z.clamp(-1.0, 1.0).acos() [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/material/matte.rs:44:45 [INFO] [stderr] | [INFO] [stderr] 44 | let sig = self.sigma.evaluate(&dgs).clamp(0.0, 90.0); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/primitive/aggregates/grid.rs:115:58 [INFO] [stderr] | [INFO] [stderr] 115 | ((delta[0] * voxels_per_unit_dist) as usize).clamp(1, 64), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/primitive/aggregates/grid.rs:116:58 [INFO] [stderr] | [INFO] [stderr] 116 | ((delta[1] * voxels_per_unit_dist) as usize).clamp(1, 64), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/primitive/aggregates/grid.rs:117:58 [INFO] [stderr] | [INFO] [stderr] 117 | ((delta[2] * voxels_per_unit_dist) as usize).clamp(1, 64)]; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/primitive/aggregates/grid.rs:190:14 [INFO] [stderr] | [INFO] [stderr] 190 | .clamp(0, self.num_voxels[axis] - 1) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/quaternion.rs:36:36 [INFO] [stderr] | [INFO] [stderr] 36 | let thetap = cos_theta.clamp(-1f32, 1f32).acos() * t; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/bsdf/utils.rs:17:25 [INFO] [stderr] | [INFO] [stderr] 17 | (vx / sintheta).clamp(-1.0, 1.0) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unstable_name_collisions)]` on by default [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/bsdf/utils.rs:27:25 [INFO] [stderr] | [INFO] [stderr] 27 | (vy / sintheta).clamp(-1.0, 1.0) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/bsdf/fresnel.rs:68:31 [INFO] [stderr] | [INFO] [stderr] 68 | let ci = cosi.clamp(-1.0, 1.0); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/bsdf/measured.rs:169:90 [INFO] [stderr] | [INFO] [stderr] 169 | let remap = |v: f32, mx: f32, cnt: usize| { (((v / mx) * (cnt as f32)) as usize).clamp(0, cnt - 1) }; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/shape/cylinder.rs:35:25 [INFO] [stderr] | [INFO] [stderr] 35 | phi_max: pm.clamp(0.0, 360.0).as_radians() [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/shape/disk.rs:33:28 [INFO] [stderr] | [INFO] [stderr] 33 | phi_max: t_max.clamp(0.0, 360.0).as_radians() [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/camera/film.rs:24:47 [INFO] [stderr] | [INFO] [stderr] 24 | (255.0 * p.powf(1.0 / 2.2) + 0.5).clamp(0.0, 255.0) as u8 [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/shape/sphere.rs:32:31 [INFO] [stderr] | [INFO] [stderr] 32 | let zmin = z0.min(z1).clamp(-rad, rad); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/shape/sphere.rs:33:31 [INFO] [stderr] | [INFO] [stderr] 33 | let zmax = z0.max(z1).clamp(-rad, rad); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/shape/sphere.rs:43:25 [INFO] [stderr] | [INFO] [stderr] 43 | phi_max: pm.clamp(0.0, 360.0).as_radians() [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/shape/sphere.rs:149:45 [INFO] [stderr] | [INFO] [stderr] 149 | let theta = (p_hit.z / self.radius).clamp(-1.0, 1.0).acos(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/spectrum.rs:621:30 [INFO] [stderr] | [INFO] [stderr] 621 | self.transform(|x| x.clamp(a, b)) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/geometry/vector.rs:212:9 [INFO] [stderr] | [INFO] [stderr] 212 | v.z.clamp(-1.0, 1.0).acos() [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/texture/imagemap.rs:86:36 [INFO] [stderr] | [INFO] [stderr] 86 | ImageWrap::Clamp => ft.clamp(0, (dim-1) as i32), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/texture/imagemap.rs:149:33 [INFO] [stderr] | [INFO] [stderr] 149 | ImageWrap::Clamp => (_s.clamp(0, (level.width() - 1) as i32), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/texture/imagemap.rs:150:33 [INFO] [stderr] | [INFO] [stderr] 150 | ... _t.clamp(0, (level.height() - 1) as i32)), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/texture/imagemap.rs:241:28 [INFO] [stderr] | [INFO] [stderr] 241 | let level = _level.clamp(0, self.levels() - 1); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/texture/noise.rs:109:43 [INFO] [stderr] | [INFO] [stderr] 109 | let v = ((value - min) / (max - min)).clamp(0.0, 1.0); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/texture/noise.rs:117:45 [INFO] [stderr] | [INFO] [stderr] 117 | let foctaves = (-1.0 - 0.5 * s2.log2()).clamp(0.0, max_octaves as f32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/texture/noise.rs:134:45 [INFO] [stderr] | [INFO] [stderr] 134 | let foctaves = (-1.0 - 0.5 * s2.log2()).clamp(0.0, max_octaves as f32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/volume/density/volume_grid.rs:47:20 [INFO] [stderr] | [INFO] [stderr] 47 | let x = _x.clamp(0, (self.nx - 1) as i32) as usize; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/volume/density/volume_grid.rs:48:20 [INFO] [stderr] | [INFO] [stderr] 48 | let y = _y.clamp(0, (self.ny - 1) as i32) as usize; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/volume/density/volume_grid.rs:49:20 [INFO] [stderr] | [INFO] [stderr] 49 | let z = _z.clamp(0, (self.nz - 1) as i32) as usize; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/material/matte.rs:44:45 [INFO] [stderr] | [INFO] [stderr] 44 | let sig = self.sigma.evaluate(&dgs).clamp(0.0, 90.0); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/primitive/aggregates/grid.rs:115:58 [INFO] [stderr] | [INFO] [stderr] 115 | ((delta[0] * voxels_per_unit_dist) as usize).clamp(1, 64), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/primitive/aggregates/grid.rs:116:58 [INFO] [stderr] | [INFO] [stderr] 116 | ((delta[1] * voxels_per_unit_dist) as usize).clamp(1, 64), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/primitive/aggregates/grid.rs:117:58 [INFO] [stderr] | [INFO] [stderr] 117 | ((delta[2] * voxels_per_unit_dist) as usize).clamp(1, 64)]; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/primitive/aggregates/grid.rs:190:14 [INFO] [stderr] | [INFO] [stderr] 190 | .clamp(0, self.num_voxels[axis] - 1) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/quaternion.rs:36:36 [INFO] [stderr] | [INFO] [stderr] 36 | let thetap = cos_theta.clamp(-1f32, 1f32).acos() * t; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/shape/cylinder.rs:35:25 [INFO] [stderr] | [INFO] [stderr] 35 | phi_max: pm.clamp(0.0, 360.0).as_radians() [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/shape/disk.rs:33:28 [INFO] [stderr] | [INFO] [stderr] 33 | phi_max: t_max.clamp(0.0, 360.0).as_radians() [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/shape/sphere.rs:32:31 [INFO] [stderr] | [INFO] [stderr] 32 | let zmin = z0.min(z1).clamp(-rad, rad); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/shape/sphere.rs:33:31 [INFO] [stderr] | [INFO] [stderr] 33 | let zmax = z0.max(z1).clamp(-rad, rad); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/shape/sphere.rs:43:25 [INFO] [stderr] | [INFO] [stderr] 43 | phi_max: pm.clamp(0.0, 360.0).as_radians() [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/shape/sphere.rs:149:45 [INFO] [stderr] | [INFO] [stderr] 149 | let theta = (p_hit.z / self.radius).clamp(-1.0, 1.0).acos(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/spectrum.rs:621:30 [INFO] [stderr] | [INFO] [stderr] 621 | self.transform(|x| x.clamp(a, b)) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/texture/imagemap.rs:86:36 [INFO] [stderr] | [INFO] [stderr] 86 | ImageWrap::Clamp => ft.clamp(0, (dim-1) as i32), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/texture/imagemap.rs:149:33 [INFO] [stderr] | [INFO] [stderr] 149 | ImageWrap::Clamp => (_s.clamp(0, (level.width() - 1) as i32), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/texture/imagemap.rs:150:33 [INFO] [stderr] | [INFO] [stderr] 150 | ... _t.clamp(0, (level.height() - 1) as i32)), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/texture/imagemap.rs:241:28 [INFO] [stderr] | [INFO] [stderr] 241 | let level = _level.clamp(0, self.levels() - 1); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: 158 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/texture/noise.rs:109:43 [INFO] [stderr] | [INFO] [stderr] 109 | let v = ((value - min) / (max - min)).clamp(0.0, 1.0); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/texture/noise.rs:117:45 [INFO] [stderr] | [INFO] [stderr] 117 | let foctaves = (-1.0 - 0.5 * s2.log2()).clamp(0.0, max_octaves as f32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/texture/noise.rs:134:45 [INFO] [stderr] | [INFO] [stderr] 134 | let foctaves = (-1.0 - 0.5 * s2.log2()).clamp(0.0, max_octaves as f32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/main.rs:67:37 [INFO] [stderr] | [INFO] [stderr] 67 | const START_TRANSFORM_BITS: usize = (1 << 0); [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/main.rs:68:35 [INFO] [stderr] | [INFO] [stderr] 68 | const END_TRANSFORM_BITS: usize = (1 << 1); [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/main.rs:69:35 [INFO] [stderr] | [INFO] [stderr] 69 | const ALL_TRANSFORM_BITS: usize = ((1 << MAX_TRANSFORMS) - 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/main.rs:98:14 [INFO] [stderr] | [INFO] [stderr] 98 | 0...1 => &self.t[index], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/main.rs:107:14 [INFO] [stderr] | [INFO] [stderr] 107 | 0...1 => &mut self.t[index], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:143:21 [INFO] [stderr] | [INFO] [stderr] 143 | lights: Vec>, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Light` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:150:29 [INFO] [stderr] | [INFO] [stderr] 150 | volume_regions: Vec>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:194:36 [INFO] [stderr] | [INFO] [stderr] 194 | fn make_renderer(&self) -> Arc { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Renderer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:204:28 [INFO] [stderr] | [INFO] [stderr] 204 | let b: Arc = [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:229:45 [INFO] [stderr] | [INFO] [stderr] 229 | float_textures: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:230:48 [INFO] [stderr] | [INFO] [stderr] 230 | spectrum_textures: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:270:57 [INFO] [stderr] | [INFO] [stderr] 270 | fn float_textures(&self) -> Arc>>> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:274:60 [INFO] [stderr] | [INFO] [stderr] 274 | fn spectrum_textures(&self) -> Arc>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:534:94 [INFO] [stderr] | [INFO] [stderr] 534 | fn make_float_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:541:94 [INFO] [stderr] | [INFO] [stderr] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:558:81 [INFO] [stderr] | [INFO] [stderr] 558 | fn make_light(name: &str, light_to_world: &Transform, params: &ParamSet) -> Arc { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Light` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/main.rs:67:37 [INFO] [stderr] | [INFO] [stderr] 67 | const START_TRANSFORM_BITS: usize = (1 << 0); [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/main.rs:68:35 [INFO] [stderr] | [INFO] [stderr] 68 | const END_TRANSFORM_BITS: usize = (1 << 1); [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/main.rs:69:35 [INFO] [stderr] | [INFO] [stderr] 69 | const ALL_TRANSFORM_BITS: usize = ((1 << MAX_TRANSFORMS) - 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/main.rs:98:14 [INFO] [stderr] | [INFO] [stderr] 98 | 0...1 => &self.t[index], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/main.rs:107:14 [INFO] [stderr] | [INFO] [stderr] 107 | 0...1 => &mut self.t[index], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:143:21 [INFO] [stderr] | [INFO] [stderr] 143 | lights: Vec>, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Light` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:150:29 [INFO] [stderr] | [INFO] [stderr] 150 | volume_regions: Vec>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:194:36 [INFO] [stderr] | [INFO] [stderr] 194 | fn make_renderer(&self) -> Arc { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Renderer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:204:28 [INFO] [stderr] | [INFO] [stderr] 204 | let b: Arc = [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VolumeRegion` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:229:45 [INFO] [stderr] | [INFO] [stderr] 229 | float_textures: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:230:48 [INFO] [stderr] | [INFO] [stderr] 230 | spectrum_textures: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:270:57 [INFO] [stderr] | [INFO] [stderr] 270 | fn float_textures(&self) -> Arc>>> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:274:60 [INFO] [stderr] | [INFO] [stderr] 274 | fn spectrum_textures(&self) -> Arc>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:534:94 [INFO] [stderr] | [INFO] [stderr] 534 | fn make_float_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:541:94 [INFO] [stderr] | [INFO] [stderr] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:558:81 [INFO] [stderr] | [INFO] [stderr] 558 | fn make_light(name: &str, light_to_world: &Transform, params: &ParamSet) -> Arc { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Light` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/main.rs:279:1 [INFO] [stderr] | [INFO] [stderr] 279 | / lazy_static! { [INFO] [stderr] 280 | | pub static ref PBRT_OPTIONS: Mutex = [INFO] [stderr] 281 | | Mutex::new(Options::new()); [INFO] [stderr] 282 | | static ref CURRENT_API_STATE: Mutex = [INFO] [stderr] ... | [INFO] [stderr] 303 | | Mutex::new(Vec::new()); [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tex_to_world` [INFO] [stderr] --> src/main.rs:534:38 [INFO] [stderr] | [INFO] [stderr] 534 | fn make_float_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tex_to_world` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tex_to_world` [INFO] [stderr] --> src/main.rs:541:38 [INFO] [stderr] | [INFO] [stderr] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tex_to_world` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `params` [INFO] [stderr] --> src/main.rs:541:64 [INFO] [stderr] | [INFO] [stderr] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc> { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/main.rs:571:20 [INFO] [stderr] | [INFO] [stderr] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet, [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `light_to_world` [INFO] [stderr] --> src/main.rs:571:32 [INFO] [stderr] | [INFO] [stderr] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_to_world` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `params` [INFO] [stderr] --> src/main.rs:571:60 [INFO] [stderr] | [INFO] [stderr] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `shape` [INFO] [stderr] --> src/main.rs:572:20 [INFO] [stderr] | [INFO] [stderr] 572 | shape: Shape) -> AreaLight { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/main.rs:591:21 [INFO] [stderr] | [INFO] [stderr] 591 | fn make_accelerator(name: &str, prims: &Vec>, params: &ParamSet) -> Arc { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `prims` [INFO] [stderr] --> src/main.rs:591:33 [INFO] [stderr] | [INFO] [stderr] 591 | fn make_accelerator(name: &str, prims: &Vec>, params: &ParamSet) -> Arc { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_prims` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `params` [INFO] [stderr] --> src/main.rs:591:62 [INFO] [stderr] | [INFO] [stderr] 591 | fn make_accelerator(name: &str, prims: &Vec>, params: &ParamSet) -> Arc { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `animated_world_to_instance` [INFO] [stderr] --> src/main.rs:784:9 [INFO] [stderr] | [INFO] [stderr] 784 | let animated_world_to_instance = [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_animated_world_to_instance` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tex_to_world` [INFO] [stderr] --> src/main.rs:534:38 [INFO] [stderr] | [INFO] [stderr] 534 | fn make_float_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tex_to_world` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tex_to_world` [INFO] [stderr] --> src/main.rs:541:38 [INFO] [stderr] | [INFO] [stderr] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tex_to_world` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `params` [INFO] [stderr] --> src/main.rs:541:64 [INFO] [stderr] | [INFO] [stderr] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc> { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/main.rs:571:20 [INFO] [stderr] | [INFO] [stderr] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet, [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `light_to_world` [INFO] [stderr] --> src/main.rs:571:32 [INFO] [stderr] | [INFO] [stderr] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_to_world` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `params` [INFO] [stderr] --> src/main.rs:571:60 [INFO] [stderr] | [INFO] [stderr] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `shape` [INFO] [stderr] --> src/main.rs:572:20 [INFO] [stderr] | [INFO] [stderr] 572 | shape: Shape) -> AreaLight { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/main.rs:591:21 [INFO] [stderr] | [INFO] [stderr] 591 | fn make_accelerator(name: &str, prims: &Vec>, params: &ParamSet) -> Arc { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `prims` [INFO] [stderr] --> src/main.rs:591:33 [INFO] [stderr] | [INFO] [stderr] 591 | fn make_accelerator(name: &str, prims: &Vec>, params: &ParamSet) -> Arc { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_prims` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `params` [INFO] [stderr] --> src/main.rs:591:62 [INFO] [stderr] | [INFO] [stderr] 591 | fn make_accelerator(name: &str, prims: &Vec>, params: &ParamSet) -> Arc { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `animated_world_to_instance` [INFO] [stderr] --> src/main.rs:784:9 [INFO] [stderr] | [INFO] [stderr] 784 | let animated_world_to_instance = [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_animated_world_to_instance` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:282:25 [INFO] [stderr] | [INFO] [stderr] 282 | assert_eq!(0f32.clamp(1f32, 2f32), 1f32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:283:25 [INFO] [stderr] | [INFO] [stderr] 283 | assert_eq!(1f32.clamp(1f32, 2f32), 1f32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:284:27 [INFO] [stderr] | [INFO] [stderr] 284 | assert_eq!(1.5f32.clamp(1f32, 2f32), 1.5f32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:285:25 [INFO] [stderr] | [INFO] [stderr] 285 | assert_eq!(2f32.clamp(1f32, 2f32), 2f32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:286:25 [INFO] [stderr] | [INFO] [stderr] 286 | assert_eq!(3f32.clamp(1f32, 2f32), 2f32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:288:25 [INFO] [stderr] | [INFO] [stderr] 288 | assert_eq!(0f32.clamp(1f32, f32::NAN), 1f32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:289:25 [INFO] [stderr] | [INFO] [stderr] 289 | assert_eq!(0f32.clamp(f32::NAN, 1f32), 0f32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:290:26 [INFO] [stderr] | [INFO] [stderr] 290 | assert!(f32::NAN.clamp(1f32, 2f32).is_nan()); // can't un-nan [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f32::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:292:25 [INFO] [stderr] | [INFO] [stderr] 292 | assert_eq!(0f64.clamp(1f64, 2f64), 1f64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f64::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:293:25 [INFO] [stderr] | [INFO] [stderr] 293 | assert_eq!(1f64.clamp(1f64, 2f64), 1f64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f64::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:294:27 [INFO] [stderr] | [INFO] [stderr] 294 | assert_eq!(1.5f64.clamp(1f64, 2f64), 1.5f64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f64::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:295:25 [INFO] [stderr] | [INFO] [stderr] 295 | assert_eq!(2f64.clamp(1f64, 2f64), 2f64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f64::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:296:25 [INFO] [stderr] | [INFO] [stderr] 296 | assert_eq!(3f64.clamp(1f64, 2f64), 2f64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f64::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:298:25 [INFO] [stderr] | [INFO] [stderr] 298 | assert_eq!(0f64.clamp(1f64, f64::NAN), 1f64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f64::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:299:25 [INFO] [stderr] | [INFO] [stderr] 299 | assert_eq!(0f64.clamp(f64::NAN, 1f64), 0f64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f64::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:300:26 [INFO] [stderr] | [INFO] [stderr] 300 | assert!(f64::NAN.clamp(1f64, 2f64).is_nan()); // can't un-nan [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::f64::::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:302:24 [INFO] [stderr] | [INFO] [stderr] 302 | assert_eq!(0i8.clamp(1i8, 2i8), 1i8); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:303:24 [INFO] [stderr] | [INFO] [stderr] 303 | assert_eq!(1i8.clamp(1i8, 2i8), 1i8); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:304:24 [INFO] [stderr] | [INFO] [stderr] 304 | assert_eq!(2i8.clamp(1i8, 3i8), 2i8); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:305:24 [INFO] [stderr] | [INFO] [stderr] 305 | assert_eq!(2i8.clamp(1i8, 2i8), 2i8); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `START_TRANSFORM_BITS` [INFO] [stderr] --> src/main.rs:67:1 [INFO] [stderr] | [INFO] [stderr] 67 | const START_TRANSFORM_BITS: usize = (1 << 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `END_TRANSFORM_BITS` [INFO] [stderr] --> src/main.rs:68:1 [INFO] [stderr] | [INFO] [stderr] 68 | const END_TRANSFORM_BITS: usize = (1 << 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_animated` [INFO] [stderr] --> src/main.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | fn is_animated(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `inverse` [INFO] [stderr] --> src/main.rs:86:4 [INFO] [stderr] | [INFO] [stderr] 86 | fn inverse(ts: &TransformSet) -> TransformSet { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `make_renderer` [INFO] [stderr] --> src/main.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | fn make_renderer(&self) -> Arc { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `make_scene` [INFO] [stderr] --> src/main.rs:198:5 [INFO] [stderr] | [INFO] [stderr] 198 | fn make_scene(&mut self) -> Scene { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `create_material` [INFO] [stderr] --> src/main.rs:256:5 [INFO] [stderr] | [INFO] [stderr] 256 | fn create_material(&self, params: &ParamSet) -> Arc { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `float_textures` [INFO] [stderr] --> src/main.rs:270:5 [INFO] [stderr] | [INFO] [stderr] 270 | fn float_textures(&self) -> Arc>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `spectrum_textures` [INFO] [stderr] --> src/main.rs:274:5 [INFO] [stderr] | [INFO] [stderr] 274 | fn spectrum_textures(&self) -> Arc>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `for_active_transforms` [INFO] [stderr] --> src/main.rs:306:4 [INFO] [stderr] | [INFO] [stderr] 306 | fn for_active_transforms(f: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_attribute_begin` [INFO] [stderr] --> src/main.rs:355:4 [INFO] [stderr] | [INFO] [stderr] 355 | fn pbrt_attribute_begin() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_attribute_end` [INFO] [stderr] --> src/main.rs:365:4 [INFO] [stderr] | [INFO] [stderr] 365 | fn pbrt_attribute_end() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_transform_begin` [INFO] [stderr] --> src/main.rs:378:4 [INFO] [stderr] | [INFO] [stderr] 378 | fn pbrt_transform_begin() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_transform_end` [INFO] [stderr] --> src/main.rs:384:4 [INFO] [stderr] | [INFO] [stderr] 384 | fn pbrt_transform_end() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_identity` [INFO] [stderr] --> src/main.rs:393:4 [INFO] [stderr] | [INFO] [stderr] 393 | fn pbrt_identity() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_translate` [INFO] [stderr] --> src/main.rs:400:4 [INFO] [stderr] | [INFO] [stderr] 400 | fn pbrt_translate(dx: f32, dy: f32, dz: f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_rotate` [INFO] [stderr] --> src/main.rs:407:4 [INFO] [stderr] | [INFO] [stderr] 407 | fn pbrt_rotate(angle: f32, ax: f32, ay: f32, az: f32) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_scale` [INFO] [stderr] --> src/main.rs:414:4 [INFO] [stderr] | [INFO] [stderr] 414 | fn pbrt_scale(sx: f32, sy: f32, sz: f32) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_lookat` [INFO] [stderr] --> src/main.rs:421:4 [INFO] [stderr] | [INFO] [stderr] 421 | fn pbrt_lookat(ex: f32, ey: f32, ez: f32, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_concat_transform` [INFO] [stderr] --> src/main.rs:433:4 [INFO] [stderr] | [INFO] [stderr] 433 | fn pbrt_concat_transform(xf: [f32; 16]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_transform` [INFO] [stderr] --> src/main.rs:444:4 [INFO] [stderr] | [INFO] [stderr] 444 | fn pbrt_transform(xf: [f32; 16]) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_coordinate_system` [INFO] [stderr] --> src/main.rs:455:4 [INFO] [stderr] | [INFO] [stderr] 455 | fn pbrt_coordinate_system(name: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_coord_sys_transform` [INFO] [stderr] --> src/main.rs:461:4 [INFO] [stderr] | [INFO] [stderr] 461 | fn pbrt_coord_sys_transform(name: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_active_transform_all` [INFO] [stderr] --> src/main.rs:470:4 [INFO] [stderr] | [INFO] [stderr] 470 | fn pbrt_active_transform_all() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_active_transform_end_time` [INFO] [stderr] --> src/main.rs:474:4 [INFO] [stderr] | [INFO] [stderr] 474 | fn pbrt_active_transform_end_time() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_active_transform_start_time` [INFO] [stderr] --> src/main.rs:478:4 [INFO] [stderr] | [INFO] [stderr] 478 | fn pbrt_active_transform_start_time() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_transform_times` [INFO] [stderr] --> src/main.rs:482:4 [INFO] [stderr] | [INFO] [stderr] 482 | fn pbrt_transform_times(start: f32, end: f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_pixel_filter` [INFO] [stderr] --> src/main.rs:488:4 [INFO] [stderr] | [INFO] [stderr] 488 | fn pbrt_pixel_filter(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_sampler` [INFO] [stderr] --> src/main.rs:494:4 [INFO] [stderr] | [INFO] [stderr] 494 | fn pbrt_sampler(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_accelerator` [INFO] [stderr] --> src/main.rs:500:4 [INFO] [stderr] | [INFO] [stderr] 500 | fn pbrt_accelerator(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_surf_integrator` [INFO] [stderr] --> src/main.rs:506:4 [INFO] [stderr] | [INFO] [stderr] 506 | fn pbrt_surf_integrator(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_vol_integrator` [INFO] [stderr] --> src/main.rs:512:4 [INFO] [stderr] | [INFO] [stderr] 512 | fn pbrt_vol_integrator(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:306:24 [INFO] [stderr] | [INFO] [stderr] 306 | assert_eq!(3i8.clamp(1i8, 2i8), 2i8); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_renderer` [INFO] [stderr] --> src/main.rs:518:4 [INFO] [stderr] | [INFO] [stderr] 518 | fn pbrt_renderer(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_camera` [INFO] [stderr] --> src/main.rs:524:4 [INFO] [stderr] | [INFO] [stderr] 524 | fn pbrt_camera(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_float_texture` [INFO] [stderr] --> src/main.rs:534:4 [INFO] [stderr] | [INFO] [stderr] 534 | fn make_float_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:308:25 [INFO] [stderr] | [INFO] [stderr] 308 | assert_eq!(0i16.clamp(1i16, 2i16), 1i16); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_color_texture` [INFO] [stderr] --> src/main.rs:541:4 [INFO] [stderr] | [INFO] [stderr] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_material` [INFO] [stderr] --> src/main.rs:548:4 [INFO] [stderr] | [INFO] [stderr] 548 | fn make_material(name: &String, _tex_to_world: &Transform, params: TextureParams) -> Material { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:309:25 [INFO] [stderr] | [INFO] [stderr] 309 | assert_eq!(1i16.clamp(1i16, 2i16), 1i16); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_light` [INFO] [stderr] --> src/main.rs:558:4 [INFO] [stderr] | [INFO] [stderr] 558 | fn make_light(name: &str, light_to_world: &Transform, params: &ParamSet) -> Arc { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_area_light` [INFO] [stderr] --> src/main.rs:571:4 [INFO] [stderr] | [INFO] [stderr] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_shape` [INFO] [stderr] --> src/main.rs:576:4 [INFO] [stderr] | [INFO] [stderr] 576 | fn make_shape(name: &str, obj_to_world: Transform, world_to_obj: Transform, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_accelerator` [INFO] [stderr] --> src/main.rs:591:4 [INFO] [stderr] | [INFO] [stderr] 591 | fn make_accelerator(name: &str, prims: &Vec>, params: &ParamSet) -> Arc { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_make_named_material` [INFO] [stderr] --> src/main.rs:595:4 [INFO] [stderr] | [INFO] [stderr] 595 | fn pbrt_make_named_material(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_material` [INFO] [stderr] --> src/main.rs:611:4 [INFO] [stderr] | [INFO] [stderr] 611 | fn pbrt_material(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_texture` [INFO] [stderr] --> src/main.rs:618:4 [INFO] [stderr] | [INFO] [stderr] 618 | fn pbrt_texture(name: &String, ty: &String, texname: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_light_source` [INFO] [stderr] --> src/main.rs:646:4 [INFO] [stderr] | [INFO] [stderr] 646 | fn pbrt_light_source(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:310:25 [INFO] [stderr] | [INFO] [stderr] 310 | assert_eq!(2i16.clamp(1i16, 3i16), 2i16); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_area_light_source` [INFO] [stderr] --> src/main.rs:653:4 [INFO] [stderr] | [INFO] [stderr] 653 | fn pbrt_area_light_source(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_shape` [INFO] [stderr] --> src/main.rs:659:4 [INFO] [stderr] | [INFO] [stderr] 659 | fn pbrt_shape(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_object_begin` [INFO] [stderr] --> src/main.rs:739:4 [INFO] [stderr] | [INFO] [stderr] 739 | fn pbrt_object_begin(name: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_object_end` [INFO] [stderr] --> src/main.rs:750:4 [INFO] [stderr] | [INFO] [stderr] 750 | fn pbrt_object_end() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_object_instance` [INFO] [stderr] --> src/main.rs:760:4 [INFO] [stderr] | [INFO] [stderr] 760 | fn pbrt_object_instance(name: &String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_world_begin` [INFO] [stderr] --> src/main.rs:790:4 [INFO] [stderr] | [INFO] [stderr] 790 | fn pbrt_world_begin() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_world_end` [INFO] [stderr] --> src/main.rs:799:4 [INFO] [stderr] | [INFO] [stderr] 799 | fn pbrt_world_end() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:311:25 [INFO] [stderr] | [INFO] [stderr] 311 | assert_eq!(2i16.clamp(1i16, 2i16), 2i16); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:312:25 [INFO] [stderr] | [INFO] [stderr] 312 | assert_eq!(3i16.clamp(1i16, 2i16), 2i16); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:314:25 [INFO] [stderr] | [INFO] [stderr] 314 | assert_eq!(0i32.clamp(1i32, 2i32), 1i32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:315:25 [INFO] [stderr] | [INFO] [stderr] 315 | assert_eq!(1i32.clamp(1i32, 2i32), 1i32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:316:25 [INFO] [stderr] | [INFO] [stderr] 316 | assert_eq!(2i32.clamp(1i32, 3i32), 2i32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:317:25 [INFO] [stderr] | [INFO] [stderr] 317 | assert_eq!(2i32.clamp(1i32, 2i32), 2i32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:318:25 [INFO] [stderr] | [INFO] [stderr] 318 | assert_eq!(3i32.clamp(1i32, 2i32), 2i32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `START_TRANSFORM_BITS` [INFO] [stderr] --> src/main.rs:67:1 [INFO] [stderr] | [INFO] [stderr] 67 | const START_TRANSFORM_BITS: usize = (1 << 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `END_TRANSFORM_BITS` [INFO] [stderr] --> src/main.rs:68:1 [INFO] [stderr] | [INFO] [stderr] 68 | const END_TRANSFORM_BITS: usize = (1 << 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_animated` [INFO] [stderr] --> src/main.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | fn is_animated(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `inverse` [INFO] [stderr] --> src/main.rs:86:4 [INFO] [stderr] | [INFO] [stderr] 86 | fn inverse(ts: &TransformSet) -> TransformSet { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `make_renderer` [INFO] [stderr] --> src/main.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | fn make_renderer(&self) -> Arc { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `make_scene` [INFO] [stderr] --> src/main.rs:198:5 [INFO] [stderr] | [INFO] [stderr] 198 | fn make_scene(&mut self) -> Scene { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `create_material` [INFO] [stderr] --> src/main.rs:256:5 [INFO] [stderr] | [INFO] [stderr] 256 | fn create_material(&self, params: &ParamSet) -> Arc { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `float_textures` [INFO] [stderr] --> src/main.rs:270:5 [INFO] [stderr] | [INFO] [stderr] 270 | fn float_textures(&self) -> Arc>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `spectrum_textures` [INFO] [stderr] --> src/main.rs:274:5 [INFO] [stderr] | [INFO] [stderr] 274 | fn spectrum_textures(&self) -> Arc>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `for_active_transforms` [INFO] [stderr] --> src/main.rs:306:4 [INFO] [stderr] | [INFO] [stderr] 306 | fn for_active_transforms(f: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_attribute_begin` [INFO] [stderr] --> src/main.rs:355:4 [INFO] [stderr] | [INFO] [stderr] 355 | fn pbrt_attribute_begin() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_attribute_end` [INFO] [stderr] --> src/main.rs:365:4 [INFO] [stderr] | [INFO] [stderr] 365 | fn pbrt_attribute_end() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_transform_begin` [INFO] [stderr] --> src/main.rs:378:4 [INFO] [stderr] | [INFO] [stderr] 378 | fn pbrt_transform_begin() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_transform_end` [INFO] [stderr] --> src/main.rs:384:4 [INFO] [stderr] | [INFO] [stderr] 384 | fn pbrt_transform_end() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_identity` [INFO] [stderr] --> src/main.rs:393:4 [INFO] [stderr] | [INFO] [stderr] 393 | fn pbrt_identity() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_translate` [INFO] [stderr] --> src/main.rs:400:4 [INFO] [stderr] | [INFO] [stderr] 400 | fn pbrt_translate(dx: f32, dy: f32, dz: f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_rotate` [INFO] [stderr] --> src/main.rs:407:4 [INFO] [stderr] | [INFO] [stderr] 407 | fn pbrt_rotate(angle: f32, ax: f32, ay: f32, az: f32) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_scale` [INFO] [stderr] --> src/main.rs:414:4 [INFO] [stderr] | [INFO] [stderr] 414 | fn pbrt_scale(sx: f32, sy: f32, sz: f32) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_lookat` [INFO] [stderr] --> src/main.rs:421:4 [INFO] [stderr] | [INFO] [stderr] 421 | fn pbrt_lookat(ex: f32, ey: f32, ez: f32, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_concat_transform` [INFO] [stderr] --> src/main.rs:433:4 [INFO] [stderr] | [INFO] [stderr] 433 | fn pbrt_concat_transform(xf: [f32; 16]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_transform` [INFO] [stderr] --> src/main.rs:444:4 [INFO] [stderr] | [INFO] [stderr] 444 | fn pbrt_transform(xf: [f32; 16]) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_coordinate_system` [INFO] [stderr] --> src/main.rs:455:4 [INFO] [stderr] | [INFO] [stderr] 455 | fn pbrt_coordinate_system(name: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_coord_sys_transform` [INFO] [stderr] --> src/main.rs:461:4 [INFO] [stderr] | [INFO] [stderr] 461 | fn pbrt_coord_sys_transform(name: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_active_transform_all` [INFO] [stderr] --> src/main.rs:470:4 [INFO] [stderr] | [INFO] [stderr] 470 | fn pbrt_active_transform_all() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_active_transform_end_time` [INFO] [stderr] --> src/main.rs:474:4 [INFO] [stderr] | [INFO] [stderr] 474 | fn pbrt_active_transform_end_time() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_active_transform_start_time` [INFO] [stderr] --> src/main.rs:478:4 [INFO] [stderr] | [INFO] [stderr] 478 | fn pbrt_active_transform_start_time() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_transform_times` [INFO] [stderr] --> src/main.rs:482:4 [INFO] [stderr] | [INFO] [stderr] 482 | fn pbrt_transform_times(start: f32, end: f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_pixel_filter` [INFO] [stderr] --> src/main.rs:488:4 [INFO] [stderr] | [INFO] [stderr] 488 | fn pbrt_pixel_filter(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_sampler` [INFO] [stderr] --> src/main.rs:494:4 [INFO] [stderr] | [INFO] [stderr] 494 | fn pbrt_sampler(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_accelerator` [INFO] [stderr] --> src/main.rs:500:4 [INFO] [stderr] | [INFO] [stderr] 500 | fn pbrt_accelerator(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_surf_integrator` [INFO] [stderr] --> src/main.rs:506:4 [INFO] [stderr] | [INFO] [stderr] 506 | fn pbrt_surf_integrator(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_vol_integrator` [INFO] [stderr] --> src/main.rs:512:4 [INFO] [stderr] | [INFO] [stderr] 512 | fn pbrt_vol_integrator(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_renderer` [INFO] [stderr] --> src/main.rs:518:4 [INFO] [stderr] | [INFO] [stderr] 518 | fn pbrt_renderer(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_camera` [INFO] [stderr] --> src/main.rs:524:4 [INFO] [stderr] | [INFO] [stderr] 524 | fn pbrt_camera(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_float_texture` [INFO] [stderr] --> src/main.rs:534:4 [INFO] [stderr] | [INFO] [stderr] 534 | fn make_float_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_color_texture` [INFO] [stderr] --> src/main.rs:541:4 [INFO] [stderr] | [INFO] [stderr] 541 | fn make_color_texture(name: &String, tex_to_world: &Transform, params: TextureParams) -> Arc> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_material` [INFO] [stderr] --> src/main.rs:548:4 [INFO] [stderr] | [INFO] [stderr] 548 | fn make_material(name: &String, _tex_to_world: &Transform, params: TextureParams) -> Material { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_light` [INFO] [stderr] --> src/main.rs:558:4 [INFO] [stderr] | [INFO] [stderr] 558 | fn make_light(name: &str, light_to_world: &Transform, params: &ParamSet) -> Arc { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_area_light` [INFO] [stderr] --> src/main.rs:571:4 [INFO] [stderr] | [INFO] [stderr] 571 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_shape` [INFO] [stderr] --> src/main.rs:576:4 [INFO] [stderr] | [INFO] [stderr] 576 | fn make_shape(name: &str, obj_to_world: Transform, world_to_obj: Transform, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_accelerator` [INFO] [stderr] --> src/main.rs:591:4 [INFO] [stderr] | [INFO] [stderr] 591 | fn make_accelerator(name: &str, prims: &Vec>, params: &ParamSet) -> Arc { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_make_named_material` [INFO] [stderr] --> src/main.rs:595:4 [INFO] [stderr] | [INFO] [stderr] 595 | fn pbrt_make_named_material(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_material` [INFO] [stderr] --> src/main.rs:611:4 [INFO] [stderr] | [INFO] [stderr] 611 | fn pbrt_material(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_texture` [INFO] [stderr] --> src/main.rs:618:4 [INFO] [stderr] | [INFO] [stderr] 618 | fn pbrt_texture(name: &String, ty: &String, texname: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_light_source` [INFO] [stderr] --> src/main.rs:646:4 [INFO] [stderr] | [INFO] [stderr] 646 | fn pbrt_light_source(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_area_light_source` [INFO] [stderr] --> src/main.rs:653:4 [INFO] [stderr] | [INFO] [stderr] 653 | fn pbrt_area_light_source(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_shape` [INFO] [stderr] --> src/main.rs:659:4 [INFO] [stderr] | [INFO] [stderr] 659 | fn pbrt_shape(name: &String, params: &ParamSet) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_object_begin` [INFO] [stderr] --> src/main.rs:739:4 [INFO] [stderr] | [INFO] [stderr] 739 | fn pbrt_object_begin(name: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_object_end` [INFO] [stderr] --> src/main.rs:750:4 [INFO] [stderr] | [INFO] [stderr] 750 | fn pbrt_object_end() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_object_instance` [INFO] [stderr] --> src/main.rs:760:4 [INFO] [stderr] | [INFO] [stderr] 760 | fn pbrt_object_instance(name: &String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_world_begin` [INFO] [stderr] --> src/main.rs:790:4 [INFO] [stderr] | [INFO] [stderr] 790 | fn pbrt_world_begin() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pbrt_world_end` [INFO] [stderr] --> src/main.rs:799:4 [INFO] [stderr] | [INFO] [stderr] 799 | fn pbrt_world_end() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:320:25 [INFO] [stderr] | [INFO] [stderr] 320 | assert_eq!(0i64.clamp(1i64, 2i64), 1i64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:321:25 [INFO] [stderr] | [INFO] [stderr] 321 | assert_eq!(1i64.clamp(1i64, 2i64), 1i64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:322:25 [INFO] [stderr] | [INFO] [stderr] 322 | assert_eq!(2i64.clamp(1i64, 3i64), 2i64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:323:25 [INFO] [stderr] | [INFO] [stderr] 323 | assert_eq!(2i64.clamp(1i64, 2i64), 2i64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:324:25 [INFO] [stderr] | [INFO] [stderr] 324 | assert_eq!(3i64.clamp(1i64, 2i64), 2i64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:326:24 [INFO] [stderr] | [INFO] [stderr] 326 | assert_eq!(0u8.clamp(1u8, 2u8), 1u8); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:327:24 [INFO] [stderr] | [INFO] [stderr] 327 | assert_eq!(1u8.clamp(1u8, 2u8), 1u8); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:328:24 [INFO] [stderr] | [INFO] [stderr] 328 | assert_eq!(2u8.clamp(1u8, 3u8), 2u8); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:329:24 [INFO] [stderr] | [INFO] [stderr] 329 | assert_eq!(2u8.clamp(1u8, 2u8), 2u8); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:330:24 [INFO] [stderr] | [INFO] [stderr] 330 | assert_eq!(3u8.clamp(1u8, 2u8), 2u8); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:332:25 [INFO] [stderr] | [INFO] [stderr] 332 | assert_eq!(0u16.clamp(1u16, 2u16), 1u16); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:333:25 [INFO] [stderr] | [INFO] [stderr] 333 | assert_eq!(1u16.clamp(1u16, 2u16), 1u16); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:334:25 [INFO] [stderr] | [INFO] [stderr] 334 | assert_eq!(2u16.clamp(1u16, 3u16), 2u16); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:335:25 [INFO] [stderr] | [INFO] [stderr] 335 | assert_eq!(2u16.clamp(1u16, 2u16), 2u16); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:336:25 [INFO] [stderr] | [INFO] [stderr] 336 | assert_eq!(3u16.clamp(1u16, 2u16), 2u16); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:338:25 [INFO] [stderr] | [INFO] [stderr] 338 | assert_eq!(0u32.clamp(1u32, 2u32), 1u32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:339:25 [INFO] [stderr] | [INFO] [stderr] 339 | assert_eq!(1u32.clamp(1u32, 2u32), 1u32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:340:25 [INFO] [stderr] | [INFO] [stderr] 340 | assert_eq!(2u32.clamp(1u32, 3u32), 2u32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:341:25 [INFO] [stderr] | [INFO] [stderr] 341 | assert_eq!(2u32.clamp(1u32, 2u32), 2u32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: 89 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:342:25 [INFO] [stderr] | [INFO] [stderr] 342 | assert_eq!(3u32.clamp(1u32, 2u32), 2u32); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:344:25 [INFO] [stderr] | [INFO] [stderr] 344 | assert_eq!(0u64.clamp(1u64, 2u64), 1u64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:345:25 [INFO] [stderr] | [INFO] [stderr] 345 | assert_eq!(1u64.clamp(1u64, 2u64), 1u64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:346:25 [INFO] [stderr] | [INFO] [stderr] 346 | assert_eq!(2u64.clamp(1u64, 3u64), 2u64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:347:25 [INFO] [stderr] | [INFO] [stderr] 347 | assert_eq!(2u64.clamp(1u64, 2u64), 2u64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/utils/mod.rs:348:25 [INFO] [stderr] | [INFO] [stderr] 348 | assert_eq!(3u64.clamp(1u64, 2u64), 2u64); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: 89 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/volume/density/volume_grid.rs:47:20 [INFO] [stderr] | [INFO] [stderr] 47 | let x = _x.clamp(0, (self.nx - 1) as i32) as usize; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/volume/density/volume_grid.rs:48:20 [INFO] [stderr] | [INFO] [stderr] 48 | let y = _y.clamp(0, (self.ny - 1) as i32) as usize; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/volume/density/volume_grid.rs:49:20 [INFO] [stderr] | [INFO] [stderr] 49 | let z = _z.clamp(0, (self.nz - 1) as i32) as usize; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `utils::Clamp::clamp(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(clamp)]` to the crate attributes to enable `std::cmp::Ord::clamp` [INFO] [stderr] [INFO] [stderr] 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] [stderr] --> src/montecarlo.rs:178:55 [INFO] [stderr] | [INFO] [stderr] 178 | for (x, y) in result.into_iter().zip(expected.into_iter().map(|x| *x)) { [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(array_into_iter)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] 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] [stderr] --> src/montecarlo.rs:188:57 [INFO] [stderr] | [INFO] [stderr] 188 | for (x, y) in result5.into_iter().zip(expected5.into_iter().map(|x| *x)) { [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: 227 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 26.87s [INFO] running `"docker" "inspect" "cdf7409d9849d6dcb937821b5ca04ccfe0993381d36b12d3ed8be02cd9fbcd74"` [INFO] running `"docker" "rm" "-f" "cdf7409d9849d6dcb937821b5ca04ccfe0993381d36b12d3ed8be02cd9fbcd74"` [INFO] [stdout] cdf7409d9849d6dcb937821b5ca04ccfe0993381d36b12d3ed8be02cd9fbcd74