[INFO] cloning repository https://github.com/Twinklebear/tray_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Twinklebear/tray_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTwinklebear%2Ftray_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTwinklebear%2Ftray_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9a3ae09a7e42e9837e09012bc3318a07c3c49bd7
[INFO] checking Twinklebear/tray_rust against beta-2020-07-24 for pr-75494-beta
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTwinklebear%2Ftray_rust" "/workspace/builds/worker-5/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Twinklebear/tray_rust on toolchain beta-2020-07-24
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-07-24" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Twinklebear/tray_rust
[INFO] finished tweaking git repo https://github.com/Twinklebear/tray_rust
[INFO] tweaked toml for git repo https://github.com/Twinklebear/tray_rust written to /workspace/builds/worker-5/source/Cargo.toml
[INFO] crate git repo https://github.com/Twinklebear/tray_rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-07-24" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] e2bd09b0c39405aacbf4f298a7143e84df8ad38d5620819f8a5148d63a9d97a6
[INFO] running `Command { std: "docker" "start" "-a" "e2bd09b0c39405aacbf4f298a7143e84df8ad38d5620819f8a5148d63a9d97a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e2bd09b0c39405aacbf4f298a7143e84df8ad38d5620819f8a5148d63a9d97a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e2bd09b0c39405aacbf4f298a7143e84df8ad38d5620819f8a5148d63a9d97a6", kill_on_drop: false }`
[INFO] [stdout] e2bd09b0c39405aacbf4f298a7143e84df8ad38d5620819f8a5148d63a9d97a6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a8c5f408ebea8f46130d4cd5ae7f2ed175cfc07499ef9744dba980ef51f7bad3
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a8c5f408ebea8f46130d4cd5ae7f2ed175cfc07499ef9744dba980ef51f7bad3", kill_on_drop: false }`
[INFO] [stderr]     Checking num-traits v0.1.42
[INFO] [stderr]     Checking rustc-serialize v0.3.24
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking lazy_static v1.0.0
[INFO] [stderr]     Checking bitflags v0.4.0
[INFO] [stderr]     Checking bitflags v1.0.1
[INFO] [stderr]     Checking regex-syntax v0.4.2
[INFO] [stderr]     Checking utf8-ranges v1.0.0
[INFO] [stderr]     Checking itoa v0.3.4
[INFO] [stderr]     Checking strsim v0.6.0
[INFO] [stderr]     Checking dtoa v0.4.2
[INFO] [stderr]     Checking bspline v0.2.2
[INFO] [stderr]     Checking enum-set v0.0.7
[INFO] [stderr]     Checking light_arena v1.0.1
[INFO] [stderr]     Checking tobj v0.1.6
[INFO] [stderr]     Checking rand v0.3.20
[INFO] [stderr]    Compiling ws2_32-sys v0.2.1
[INFO] [stderr]     Checking num_cpus v1.8.0
[INFO] [stderr]     Checking memchr v2.0.1
[INFO] [stderr]     Checking time v0.1.39
[INFO] [stderr]     Checking rand v0.4.2
[INFO] [stderr]     Checking gif v0.9.2
[INFO] [stderr]     Checking net2 v0.2.31
[INFO] [stderr]     Checking deflate v0.7.17
[INFO] [stderr]     Checking log v0.4.1
[INFO] [stderr]     Checking bincode v0.9.2
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]     Checking nix v0.5.1
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking aho-corasick v0.6.4
[INFO] [stderr]     Checking thread_local v0.3.5
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking miow v0.1.5
[INFO] [stderr]     Checking num-integer v0.1.35
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking serde_json v1.0.9
[INFO] [stderr]     Checking num-iter v0.1.34
[INFO] [stderr]     Checking rayon-core v1.3.0
[INFO] [stderr]     Checking png v0.11.0
[INFO] [stderr]     Checking regex v0.2.5
[INFO] [stderr]     Checking rayon v0.8.2
[INFO] [stderr]    Compiling serde_derive_internals v0.19.0
[INFO] [stderr]     Checking mio v0.5.1
[INFO] [stderr]     Checking num-bigint v0.1.41
[INFO] [stderr]     Checking num-complex v0.1.41
[INFO] [stderr]     Checking jpeg-decoder v0.1.13
[INFO] [stderr]    Compiling serde_derive v1.0.27
[INFO] [stderr]     Checking num-rational v0.1.41
[INFO] [stderr]     Checking num v0.1.41
[INFO] [stderr]     Checking image v0.18.0
[INFO] [stderr]     Checking la v0.2.0
[INFO] [stderr]     Checking docopt v0.8.3
[INFO] [stderr]     Checking tray_rust v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/film/render_target.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |     filter: Box<Filter + Send + Sync>,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Filter + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/film/render_target.rs:42:28
[INFO] [stdout]    |
[INFO] [stdout] 42 |                filter: Box<Filter + Send + Sync>) -> RenderTarget {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Filter + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/differential_geometry.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub geom: &'a (Geometry + 'a),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^ help: use `dyn`: `dyn Geometry + 'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/differential_geometry.rs:33:59
[INFO] [stdout]    |
[INFO] [stdout] 33 |                dp_du: &Vector, dp_dv: &Vector, geom: &'a (Geometry + 'a)) -> DifferentialGeometry<'a>
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^ help: use `dyn`: `dyn Geometry + 'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/differential_geometry.rs:50:59
[INFO] [stdout]    |
[INFO] [stdout] 50 |                dp_du: &Vector, dp_dv: &Vector, geom: &'a (Geometry + 'a)) -> DifferentialGeometry<'a>
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^ help: use `dyn`: `dyn Geometry + 'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/intersection.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub material: &'b Material,
[INFO] [stdout]    |                       ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/intersection.rs:25:75
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(dg: DifferentialGeometry<'a>, inst: &'b Instance, mat: &'b Material)
[INFO] [stdout]    |                                                                           ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/instance.rs:79:31
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn receiver(geom: Arc<BoundableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BoundableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/instance.rs:79:75
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn receiver(geom: Arc<BoundableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                                                                           ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/instance.rs:84:33
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn area_light(geom: Arc<SampleableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SampleableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/instance.rs:84:78
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn area_light(geom: Arc<SampleableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector`
[INFO] [stdout]   --> src/geometry/animated_mesh.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 | use linalg::{self, Normal, Vector, Ray, Point, lerp};
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/receiver.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     geom: Arc<BoundableGeom + Send + Sync>,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BoundableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/receiver.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/receiver.rs:22:26
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(geom: Arc<BoundableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BoundableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/receiver.rs:22:70
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(geom: Arc<BoundableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/receiver.rs:29:78
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn intersect(&self, ray: &mut Ray) -> Option<(DifferentialGeometry, &Material)> {
[INFO] [stdout]    |                                                                              ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/emitter.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 |     Area(Arc<SampleableGeom + Send + Sync>, Arc<Material + Send + Sync>),
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SampleableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/emitter.rs:75:49
[INFO] [stdout]    |
[INFO] [stdout] 75 |     Area(Arc<SampleableGeom + Send + Sync>, Arc<Material + Send + Sync>),
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/emitter.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn area(geom: Arc<SampleableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SampleableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/emitter.rs:94:72
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn area(geom: Arc<SampleableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/geometry/emitter.rs:118:78
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn intersect(&self, ray: &mut Ray) -> Option<(DifferentialGeometry, &Material)> {
[INFO] [stdout]     |                                                                              ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/integrator/whitted.rs:42:55
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     hit: &Intersection, sampler: &mut Sampler, rng: &mut StdRng,
[INFO] [stdout]    |                                                       ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/integrator/path.rs:46:55
[INFO] [stdout]    |
[INFO] [stdout] 46 |                     hit: &Intersection, sampler: &mut Sampler, rng: &mut StdRng,
[INFO] [stdout]    |                                                       ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/integrator/normals_debug.rs:29:49
[INFO] [stdout]    |
[INFO] [stdout] 29 |                     hit: &Intersection, _: &mut Sampler, _: &mut StdRng,
[INFO] [stdout]    |                                                 ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/integrator/mod.rs:46:55
[INFO] [stdout]    |
[INFO] [stdout] 46 |                     hit: &Intersection, sampler: &mut Sampler, rng: &mut StdRng,
[INFO] [stdout]    |                                                       ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/integrator/mod.rs:50:55
[INFO] [stdout]    |
[INFO] [stdout] 50 | ...                   bsdf: &BSDF, sampler: &mut Sampler, rng: &mut StdRng,
[INFO] [stdout]    |                                                  ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/integrator/mod.rs:75:57
[INFO] [stdout]    |
[INFO] [stdout] 75 | ...                   bsdf: &BSDF, sampler: &mut Sampler, rng: &mut StdRng,
[INFO] [stdout]    |                                                  ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/integrator/mod.rs:123:54
[INFO] [stdout]     |
[INFO] [stdout] 123 |                        bsdf_sample: &Sample, light: &Light, flags: EnumSet<BxDFType>, time: f32) -> Colorf {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/integrator/mod.rs:158:40
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         if e as *const Light == light as *const Light {
[INFO] [stdout]     |                                        ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/integrator/mod.rs:158:65
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         if e as *const Light == light as *const Light {
[INFO] [stdout]     |                                                                 ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:48:35
[INFO] [stdout]    |
[INFO] [stdout] 48 |     textures: HashMap<String, Arc<Texture + Send + Sync>>,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:57:55
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn find_color(&self, e: &Value) -> Option<Arc<Texture + Send + Sync>> {
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:77:56
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn find_scalar(&self, e: &Value) -> Option<Arc<Texture + Send + Sync>> {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub integrator: Box<Integrator + Send + Sync>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Integrator + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:208:37
[INFO] [stdout]     |
[INFO] [stdout] 208 | fn load_filter(elem: &Value) -> Box<filter::Filter + Send + Sync> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn filter::Filter + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:220:78
[INFO] [stdout]     |
[INFO] [stdout] 220 |         Box::new(filter::MitchellNetravali::new(width, height, b, c)) as Box<filter::Filter + Send + Sync>
[INFO] [stdout]     |                                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn filter::Filter + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:224:70
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Box::new(filter::Gaussian::new(width, height, alpha)) as Box<filter::Filter + Send + Sync>
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn filter::Filter + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:297:41
[INFO] [stdout]     |
[INFO] [stdout] 297 | fn load_integrator(elem: &Value) -> Box<Integrator + Send + Sync> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Integrator + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:405:28
[INFO] [stdout]     |
[INFO] [stdout] 405 |     -> HashMap<String, Arc<Material + Send + Sync>>
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:430:88
[INFO] [stdout]     |
[INFO] [stdout] 430 |             materials.insert(name, Arc::new(Glass::new(reflect, transmit, eta)) as Arc<Material + Send + Sync>);
[INFO] [stdout]     |                                                                                        ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:446:37
[INFO] [stdout]     |
[INFO] [stdout] 446 | ...                   as Arc<Material + Send + Sync>);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:463:41
[INFO] [stdout]     |
[INFO] [stdout] 463 | ...                   as Arc<Material + Send + Sync>);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:465:84
[INFO] [stdout]     |
[INFO] [stdout] 465 |                 materials.insert(name, Arc::new(Merl::load_file(file_path)) as Arc<Material + Send + Sync>);
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:480:37
[INFO] [stdout]     |
[INFO] [stdout] 480 | ...                   as Arc<Material + Send + Sync>);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:495:37
[INFO] [stdout]     |
[INFO] [stdout] 495 | ...                   as Arc<Material + Send + Sync>);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:505:37
[INFO] [stdout]     |
[INFO] [stdout] 505 | ...                   as Arc<Material + Send + Sync>);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:515:62
[INFO] [stdout]     |
[INFO] [stdout] 515 | fn load_objects(path: &Path, materials: &HashMap<String, Arc<Material + Send + Sync>>,
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:585:21
[INFO] [stdout]     |
[INFO] [stdout] 585 |              -> Arc<BoundableGeom + Send + Sync> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BoundableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:632:50
[INFO] [stdout]     |
[INFO] [stdout] 632 | fn load_sampleable_geometry(elem: &Value) -> Arc<SampleableGeom + Send + Sync> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SampleableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/bsdf.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |     bxdfs: &'a [&'a BxDF],
[INFO] [stdout]    |                     ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/bsdf.rs:38:36
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn new<'b>(bxdfs: &'a [&'a BxDF], eta: f32, dg: &DifferentialGeometry<'b>) -> BSDF<'a> {
[INFO] [stdout]    |                                    ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bxdf/bsdf.rs:128:67
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn matching_at(&self, i: usize, flags: EnumSet<BxDFType>) -> &BxDF {
[INFO] [stdout]     |                                                                   ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/specular_reflection.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fresnel: &'a Fresnel,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Fresnel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/specular_reflection.rs:22:41
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(c: &Colorf, fresnel: &'a Fresnel) -> SpecularReflection<'a> {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn Fresnel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/torrance_sparrow.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fresnel: &'a Fresnel,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Fresnel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/torrance_sparrow.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |     microfacet: &'a MicrofacetDistribution,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MicrofacetDistribution`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/torrance_sparrow.rs:27:41
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(c: &Colorf, fresnel: &'a Fresnel, microfacet: &'a MicrofacetDistribution)
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn Fresnel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/torrance_sparrow.rs:27:66
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(c: &Colorf, fresnel: &'a Fresnel, microfacet: &'a MicrofacetDistribution)
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MicrofacetDistribution`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/bxdf/torrance_sparrow.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         (self.reflectance * f * d * g / (4.0 * cos_ti * cos_to))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/microfacet_transmission.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |     microfacet: &'a MicrofacetDistribution,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MicrofacetDistribution`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/microfacet_transmission.rs:27:69
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(c: &Colorf, fresnel: &'a Dielectric, microfacet: &'a MicrofacetDistribution)
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MicrofacetDistribution`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |     diffuse: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 |     roughness: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn new(diffuse: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:42:31
[INFO] [stdout]    |
[INFO] [stdout] 42 |                roughness: Arc<Texture + Send + Sync>) -> Matte
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:58:45
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let bsdfs = alloc.alloc_slice::<&'c BxDF>(1);
[INFO] [stdout]    |                                             ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/specular_metal.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |     eta: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/specular_metal.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 |     k: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/specular_metal.rs:41:25
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn new(eta: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/specular_metal.rs:42:23
[INFO] [stdout]    |
[INFO] [stdout] 42 |                k: Arc<Texture + Send + Sync>) -> SpecularMetal
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/specular_metal.rs:54:42
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let bxdfs = alloc.alloc_slice::<&BxDF>(1);
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 33 |     reflect: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |     transmit: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 |     eta: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn new(reflect: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:44:30
[INFO] [stdout]    |
[INFO] [stdout] 44 |                transmit: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |                eta: Arc<Texture + Send + Sync>) -> Glass {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let bxdfs = alloc.alloc_slice::<&BxDF>(num_bxdfs);
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/merl.rs:90:42
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let bxdfs = alloc.alloc_slice::<&BxDF>(1);
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |     diffuse: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |     gloss: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 |     roughness: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:46:29
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(diffuse: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:47:27
[INFO] [stdout]    |
[INFO] [stdout] 47 |                gloss: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |                roughness: Arc<Texture + Send + Sync>) -> Plastic
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:75:42
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let bxdfs = alloc.alloc_slice::<&BxDF>(num_bxdfs);
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/metal.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 |     eta: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/metal.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     k: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/metal.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 |     roughness: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/metal.rs:44:25
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn new(eta: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/metal.rs:45:23
[INFO] [stdout]    |
[INFO] [stdout] 45 |                k: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/metal.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |                roughness: Arc<Texture + Send + Sync>) -> Metal
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/metal.rs:62:42
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let bxdfs = alloc.alloc_slice::<&BxDF>(1);
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |     reflect: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 36 |     transmit: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 |     eta: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |     roughness: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:47:29
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn new(reflect: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:48:30
[INFO] [stdout]    |
[INFO] [stdout] 48 |                transmit: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |                eta: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:50:31
[INFO] [stdout]    |
[INFO] [stdout] 50 |                roughness: Arc<Texture + Send + Sync>) -> RoughGlass
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:72:42
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let bxdfs = alloc.alloc_slice::<&BxDF>(num_bxdfs);
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/film/render_target.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |     filter: Box<Filter + Send + Sync>,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Filter + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/film/render_target.rs:42:28
[INFO] [stdout]    |
[INFO] [stdout] 42 |                filter: Box<Filter + Send + Sync>) -> RenderTarget {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Filter + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/differential_geometry.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub geom: &'a (Geometry + 'a),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^ help: use `dyn`: `dyn Geometry + 'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/differential_geometry.rs:33:59
[INFO] [stdout]    |
[INFO] [stdout] 33 |                dp_du: &Vector, dp_dv: &Vector, geom: &'a (Geometry + 'a)) -> DifferentialGeometry<'a>
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^ help: use `dyn`: `dyn Geometry + 'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/differential_geometry.rs:50:59
[INFO] [stdout]    |
[INFO] [stdout] 50 |                dp_du: &Vector, dp_dv: &Vector, geom: &'a (Geometry + 'a)) -> DifferentialGeometry<'a>
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^ help: use `dyn`: `dyn Geometry + 'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/intersection.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub material: &'b Material,
[INFO] [stdout]    |                       ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/intersection.rs:25:75
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(dg: DifferentialGeometry<'a>, inst: &'b Instance, mat: &'b Material)
[INFO] [stdout]    |                                                                           ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/instance.rs:79:31
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn receiver(geom: Arc<BoundableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BoundableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/instance.rs:79:75
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn receiver(geom: Arc<BoundableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                                                                           ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/instance.rs:84:33
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn area_light(geom: Arc<SampleableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SampleableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/instance.rs:84:78
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn area_light(geom: Arc<SampleableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector`
[INFO] [stdout]   --> src/geometry/animated_mesh.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 | use linalg::{self, Normal, Vector, Ray, Point, lerp};
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/receiver.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     geom: Arc<BoundableGeom + Send + Sync>,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BoundableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/receiver.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/receiver.rs:22:26
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(geom: Arc<BoundableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BoundableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/receiver.rs:22:70
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(geom: Arc<BoundableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/receiver.rs:29:78
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn intersect(&self, ray: &mut Ray) -> Option<(DifferentialGeometry, &Material)> {
[INFO] [stdout]    |                                                                              ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/emitter.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 |     Area(Arc<SampleableGeom + Send + Sync>, Arc<Material + Send + Sync>),
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SampleableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/emitter.rs:75:49
[INFO] [stdout]    |
[INFO] [stdout] 75 |     Area(Arc<SampleableGeom + Send + Sync>, Arc<Material + Send + Sync>),
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/emitter.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn area(geom: Arc<SampleableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SampleableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/emitter.rs:94:72
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn area(geom: Arc<SampleableGeom + Send + Sync>, material: Arc<Material + Send + Sync>,
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/geometry/emitter.rs:118:78
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn intersect(&self, ray: &mut Ray) -> Option<(DifferentialGeometry, &Material)> {
[INFO] [stdout]     |                                                                              ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/integrator/whitted.rs:42:55
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     hit: &Intersection, sampler: &mut Sampler, rng: &mut StdRng,
[INFO] [stdout]    |                                                       ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/integrator/path.rs:46:55
[INFO] [stdout]    |
[INFO] [stdout] 46 |                     hit: &Intersection, sampler: &mut Sampler, rng: &mut StdRng,
[INFO] [stdout]    |                                                       ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/integrator/normals_debug.rs:29:49
[INFO] [stdout]    |
[INFO] [stdout] 29 |                     hit: &Intersection, _: &mut Sampler, _: &mut StdRng,
[INFO] [stdout]    |                                                 ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/integrator/mod.rs:46:55
[INFO] [stdout]    |
[INFO] [stdout] 46 |                     hit: &Intersection, sampler: &mut Sampler, rng: &mut StdRng,
[INFO] [stdout]    |                                                       ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/integrator/mod.rs:50:55
[INFO] [stdout]    |
[INFO] [stdout] 50 | ...                   bsdf: &BSDF, sampler: &mut Sampler, rng: &mut StdRng,
[INFO] [stdout]    |                                                  ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/integrator/mod.rs:75:57
[INFO] [stdout]    |
[INFO] [stdout] 75 | ...                   bsdf: &BSDF, sampler: &mut Sampler, rng: &mut StdRng,
[INFO] [stdout]    |                                                  ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/integrator/mod.rs:123:54
[INFO] [stdout]     |
[INFO] [stdout] 123 |                        bsdf_sample: &Sample, light: &Light, flags: EnumSet<BxDFType>, time: f32) -> Colorf {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/integrator/mod.rs:158:40
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         if e as *const Light == light as *const Light {
[INFO] [stdout]     |                                        ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/integrator/mod.rs:158:65
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         if e as *const Light == light as *const Light {
[INFO] [stdout]     |                                                                 ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:48:35
[INFO] [stdout]    |
[INFO] [stdout] 48 |     textures: HashMap<String, Arc<Texture + Send + Sync>>,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:57:55
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn find_color(&self, e: &Value) -> Option<Arc<Texture + Send + Sync>> {
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:77:56
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn find_scalar(&self, e: &Value) -> Option<Arc<Texture + Send + Sync>> {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub integrator: Box<Integrator + Send + Sync>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Integrator + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:208:37
[INFO] [stdout]     |
[INFO] [stdout] 208 | fn load_filter(elem: &Value) -> Box<filter::Filter + Send + Sync> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn filter::Filter + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:220:78
[INFO] [stdout]     |
[INFO] [stdout] 220 |         Box::new(filter::MitchellNetravali::new(width, height, b, c)) as Box<filter::Filter + Send + Sync>
[INFO] [stdout]     |                                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn filter::Filter + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:224:70
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Box::new(filter::Gaussian::new(width, height, alpha)) as Box<filter::Filter + Send + Sync>
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn filter::Filter + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:297:41
[INFO] [stdout]     |
[INFO] [stdout] 297 | fn load_integrator(elem: &Value) -> Box<Integrator + Send + Sync> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Integrator + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:405:28
[INFO] [stdout]     |
[INFO] [stdout] 405 |     -> HashMap<String, Arc<Material + Send + Sync>>
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:430:88
[INFO] [stdout]     |
[INFO] [stdout] 430 |             materials.insert(name, Arc::new(Glass::new(reflect, transmit, eta)) as Arc<Material + Send + Sync>);
[INFO] [stdout]     |                                                                                        ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:446:37
[INFO] [stdout]     |
[INFO] [stdout] 446 | ...                   as Arc<Material + Send + Sync>);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:463:41
[INFO] [stdout]     |
[INFO] [stdout] 463 | ...                   as Arc<Material + Send + Sync>);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:465:84
[INFO] [stdout]     |
[INFO] [stdout] 465 |                 materials.insert(name, Arc::new(Merl::load_file(file_path)) as Arc<Material + Send + Sync>);
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:480:37
[INFO] [stdout]     |
[INFO] [stdout] 480 | ...                   as Arc<Material + Send + Sync>);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:495:37
[INFO] [stdout]     |
[INFO] [stdout] 495 | ...                   as Arc<Material + Send + Sync>);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:505:37
[INFO] [stdout]     |
[INFO] [stdout] 505 | ...                   as Arc<Material + Send + Sync>);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:515:62
[INFO] [stdout]     |
[INFO] [stdout] 515 | fn load_objects(path: &Path, materials: &HashMap<String, Arc<Material + Send + Sync>>,
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Material + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:585:21
[INFO] [stdout]     |
[INFO] [stdout] 585 |              -> Arc<BoundableGeom + Send + Sync> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn BoundableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:632:50
[INFO] [stdout]     |
[INFO] [stdout] 632 | fn load_sampleable_geometry(elem: &Value) -> Arc<SampleableGeom + Send + Sync> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SampleableGeom + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/bsdf.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |     bxdfs: &'a [&'a BxDF],
[INFO] [stdout]    |                     ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/bsdf.rs:38:36
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn new<'b>(bxdfs: &'a [&'a BxDF], eta: f32, dg: &DifferentialGeometry<'b>) -> BSDF<'a> {
[INFO] [stdout]    |                                    ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bxdf/bsdf.rs:128:67
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn matching_at(&self, i: usize, flags: EnumSet<BxDFType>) -> &BxDF {
[INFO] [stdout]     |                                                                   ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/specular_reflection.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fresnel: &'a Fresnel,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Fresnel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/specular_reflection.rs:22:41
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(c: &Colorf, fresnel: &'a Fresnel) -> SpecularReflection<'a> {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn Fresnel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/torrance_sparrow.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fresnel: &'a Fresnel,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Fresnel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/torrance_sparrow.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |     microfacet: &'a MicrofacetDistribution,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MicrofacetDistribution`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/torrance_sparrow.rs:27:41
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(c: &Colorf, fresnel: &'a Fresnel, microfacet: &'a MicrofacetDistribution)
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn Fresnel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/torrance_sparrow.rs:27:66
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(c: &Colorf, fresnel: &'a Fresnel, microfacet: &'a MicrofacetDistribution)
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MicrofacetDistribution`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/bxdf/torrance_sparrow.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         (self.reflectance * f * d * g / (4.0 * cos_ti * cos_to))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/microfacet_transmission.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |     microfacet: &'a MicrofacetDistribution,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MicrofacetDistribution`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bxdf/microfacet_transmission.rs:27:69
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(c: &Colorf, fresnel: &'a Dielectric, microfacet: &'a MicrofacetDistribution)
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MicrofacetDistribution`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |     diffuse: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 |     roughness: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn new(diffuse: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:42:31
[INFO] [stdout]    |
[INFO] [stdout] 42 |                roughness: Arc<Texture + Send + Sync>) -> Matte
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:58:45
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let bsdfs = alloc.alloc_slice::<&'c BxDF>(1);
[INFO] [stdout]    |                                             ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/specular_metal.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |     eta: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/specular_metal.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 |     k: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/specular_metal.rs:41:25
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn new(eta: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/specular_metal.rs:42:23
[INFO] [stdout]    |
[INFO] [stdout] 42 |                k: Arc<Texture + Send + Sync>) -> SpecularMetal
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/specular_metal.rs:54:42
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let bxdfs = alloc.alloc_slice::<&BxDF>(1);
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 33 |     reflect: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |     transmit: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 |     eta: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn new(reflect: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:44:30
[INFO] [stdout]    |
[INFO] [stdout] 44 |                transmit: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |                eta: Arc<Texture + Send + Sync>) -> Glass {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/glass.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let bxdfs = alloc.alloc_slice::<&BxDF>(num_bxdfs);
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/merl.rs:90:42
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let bxdfs = alloc.alloc_slice::<&BxDF>(1);
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |     diffuse: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |     gloss: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 |     roughness: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:46:29
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn new(diffuse: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:47:27
[INFO] [stdout]    |
[INFO] [stdout] 47 |                gloss: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |                roughness: Arc<Texture + Send + Sync>) -> Plastic
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/plastic.rs:75:42
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let bxdfs = alloc.alloc_slice::<&BxDF>(num_bxdfs);
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/metal.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 |     eta: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/metal.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     k: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/metal.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 |     roughness: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/metal.rs:44:25
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn new(eta: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/metal.rs:45:23
[INFO] [stdout]    |
[INFO] [stdout] 45 |                k: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/metal.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |                roughness: Arc<Texture + Send + Sync>) -> Metal
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/metal.rs:62:42
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let bxdfs = alloc.alloc_slice::<&BxDF>(1);
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |     reflect: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 36 |     transmit: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 |     eta: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |     roughness: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:47:29
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn new(reflect: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:48:30
[INFO] [stdout]    |
[INFO] [stdout] 48 |                transmit: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |                eta: Arc<Texture + Send + Sync>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:50:31
[INFO] [stdout]    |
[INFO] [stdout] 50 |                roughness: Arc<Texture + Send + Sync>) -> RoughGlass
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Texture + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/rough_glass.rs:72:42
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let bxdfs = alloc.alloc_slice::<&BxDF>(num_bxdfs);
[INFO] [stdout]    |                                          ^^^^ help: use `dyn`: `dyn BxDF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/geometry/mod.rs:73:38
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn update_deformation(&mut self, start: f32, end: f32) {}
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]   --> src/geometry/mod.rs:73:50
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn update_deformation(&mut self, start: f32, end: f32) {}
[INFO] [stdout]    |                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w_h`
[INFO] [stdout]   --> src/bxdf/microfacet/beckmann.rs:56:45
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn monodir_shadowing(&self, v: &Vector, w_h: &Vector) -> f32 {
[INFO] [stdout]    |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_w_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w_h`
[INFO] [stdout]   --> src/bxdf/microfacet/ggx.rs:53:45
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn monodir_shadowing(&self, v: &Vector, w_h: &Vector) -> f32 {
[INFO] [stdout]    |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_w_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/geometry/mod.rs:73:38
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn update_deformation(&mut self, start: f32, end: f32) {}
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]   --> src/geometry/mod.rs:73:50
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn update_deformation(&mut self, start: f32, end: f32) {}
[INFO] [stdout]    |                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w_h`
[INFO] [stdout]   --> src/bxdf/microfacet/beckmann.rs:56:45
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn monodir_shadowing(&self, v: &Vector, w_h: &Vector) -> f32 {
[INFO] [stdout]    |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_w_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w_h`
[INFO] [stdout]   --> src/bxdf/microfacet/ggx.rs:53:45
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn monodir_shadowing(&self, v: &Vector, w_h: &Vector) -> f32 {
[INFO] [stdout]    |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_w_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/exec/distrib/master.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut df = self.frames.entry(frame_num).or_insert_with(|| DistributedFrame::start(img_dim));
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 108 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/exec/distrib/master.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut df = self.frames.entry(frame_num).or_insert_with(|| DistributedFrame::start(img_dim));
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 108 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "a8c5f408ebea8f46130d4cd5ae7f2ed175cfc07499ef9744dba980ef51f7bad3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8c5f408ebea8f46130d4cd5ae7f2ed175cfc07499ef9744dba980ef51f7bad3", kill_on_drop: false }`
[INFO] [stdout] a8c5f408ebea8f46130d4cd5ae7f2ed175cfc07499ef9744dba980ef51f7bad3
