[INFO] updating cached repository myszon/raytracer [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/myszon/raytracer [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/myszon/raytracer" "work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/myszon/raytracer"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/myszon/raytracer'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/myszon/raytracer" "work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/myszon/raytracer"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/myszon/raytracer'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 325ceb120c85639af458e24fb9d2f2892eb7d4d1 [INFO] sha for GitHub repo myszon/raytracer: 325ceb120c85639af458e24fb9d2f2892eb7d4d1 [INFO] validating manifest of myszon/raytracer on toolchain master#60960a260f7b5c695fd0717311d72ce62dd4eb43 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of myszon/raytracer on toolchain try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing myszon/raytracer [INFO] finished frobbing myszon/raytracer [INFO] frobbed toml for myszon/raytracer written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/myszon/raytracer/Cargo.toml [INFO] started frobbing myszon/raytracer [INFO] finished frobbing myszon/raytracer [INFO] frobbed toml for myszon/raytracer written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/myszon/raytracer/Cargo.toml [INFO] crate myszon/raytracer already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] checking myszon/raytracer against master#60960a260f7b5c695fd0717311d72ce62dd4eb43 for pr-63376 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-63376/worker-5/master#60960a260f7b5c695fd0717311d72ce62dd4eb43:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/myszon/raytracer:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] fb9ea88860ff6aebc49db0931623996c5d8708476c85bb7c38d45512d91ba2a0 [INFO] running `"docker" "start" "-a" "fb9ea88860ff6aebc49db0931623996c5d8708476c85bb7c38d45512d91ba2a0"` [INFO] [stderr] Checking raytracer v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:15:15 [INFO] [stderr] | [INFO] [stderr] 15 | left: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | right: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:21:45 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new(stats: Arc, left: Box, right: Box, t0: f64, t1: f64) -> BVHNode { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:21:66 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new(stats: Arc, left: Box, right: Box, t0: f64, t1: f64) -> BVHNode { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:35:62 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn from_vec(stats: Arc, mut hitables: Vec>, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:36:38 [INFO] [stderr] | [INFO] [stderr] 36 | t0: f64, t1: f64) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:40:37 [INFO] [stderr] | [INFO] [stderr] 40 | let (left, right): (Box, Box) = if hitables.len() == 2 { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:40:51 [INFO] [stderr] | [INFO] [stderr] 40 | let (left, right): (Box, Box) = if hitables.len() == 2 { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:112:32 [INFO] [stderr] | [INFO] [stderr] 112 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/interface.rs:15:23 [INFO] [stderr] | [INFO] [stderr] 15 | pub material: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/interface.rs:20:77 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn new(t: f64, p: Vec3, u: f64, v: f64, normal: Vec3, material: Arc) -> HitRecord { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/interface.rs:33:32 [INFO] [stderr] | [INFO] [stderr] 33 | fn box_clone(&self) -> Box; [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/interface.rs:36:20 [INFO] [stderr] | [INFO] [stderr] 36 | impl Clone for Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/interface.rs:37:28 [INFO] [stderr] | [INFO] [stderr] 37 | fn clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/list.rs:9:19 [INFO] [stderr] | [INFO] [stderr] 9 | list: Vec>, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/list.rs:17:30 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn new(list: Vec>) -> HitableList { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/list.rs:21:35 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn add(&mut self, el: Box) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/list.rs:71:32 [INFO] [stderr] | [INFO] [stderr] 71 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/sphere.rs:16:19 [INFO] [stderr] | [INFO] [stderr] 16 | material: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/sphere.rs:20:76 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn new(stats: Arc, center: Vec3, radius: f64, material: Arc) -> Sphere { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/sphere.rs:83:32 [INFO] [stderr] | [INFO] [stderr] 83 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/translate.rs:7:18 [INFO] [stderr] | [INFO] [stderr] 7 | hitable: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/translate.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn new(hitable: Box, start: Vec3, offset: Vec3, t0: f64, t1: f64) -> Translate { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/translate.rs:19:29 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn mov(hitable: Box, start: Vec3) -> Translate { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/translate.rs:65:32 [INFO] [stderr] | [INFO] [stderr] 65 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_xy.rs:19:19 [INFO] [stderr] | [INFO] [stderr] 19 | material: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_xy.rs:23:93 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new(stats: Arc, x0: f64, x1: f64, y0: f64, y1: f64, k: f64, material: Arc) -> RectXY { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_xy.rs:79:32 [INFO] [stderr] | [INFO] [stderr] 79 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_xz.rs:19:19 [INFO] [stderr] | [INFO] [stderr] 19 | material: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_xz.rs:23:93 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new(stats: Arc, x0: f64, x1: f64, z0: f64, z1: f64, k: f64, material: Arc) -> RectXZ { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_xz.rs:79:32 [INFO] [stderr] | [INFO] [stderr] 79 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_yz.rs:19:19 [INFO] [stderr] | [INFO] [stderr] 19 | material: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_yz.rs:23:93 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new(stats: Arc, y0: f64, y1: f64, z0: f64, z1: f64, k: f64, material: Arc) -> RectYZ { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_yz.rs:79:32 [INFO] [stderr] | [INFO] [stderr] 79 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/flip_normals.rs:7:18 [INFO] [stderr] | [INFO] [stderr] 7 | hitable: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/flip_normals.rs:11:29 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new(hitable: Box) -> FlipNormals { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/flip_normals.rs:35:32 [INFO] [stderr] | [INFO] [stderr] 35 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/cuboid.rs:11:18 [INFO] [stderr] | [INFO] [stderr] 11 | hitable: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/cuboid.rs:17:69 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn new(stats: Arc, p0: Vec3, p1: Vec3, material: Arc) -> Cuboid { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/cuboid.rs:75:32 [INFO] [stderr] | [INFO] [stderr] 75 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rotate_y.rs:10:18 [INFO] [stderr] | [INFO] [stderr] 10 | hitable: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rotate_y.rs:16:29 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn new(hitable: Box, angle: f64) -> RotateY { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rotate_y.rs:96:32 [INFO] [stderr] | [INFO] [stderr] 96 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/constant_medium.rs:15:19 [INFO] [stderr] | [INFO] [stderr] 15 | boundary: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/constant_medium.rs:17:25 [INFO] [stderr] | [INFO] [stderr] 17 | phase_function: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/constant_medium.rs:21:30 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new(boundary: Box, density: f64, albedo: Box) -> ConstantMedium { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/constant_medium.rs:21:66 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new(boundary: Box, density: f64, albedo: Box) -> ConstantMedium { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/constant_medium.rs:66:32 [INFO] [stderr] | [INFO] [stderr] 66 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/interface.rs:7:32 [INFO] [stderr] | [INFO] [stderr] 7 | fn box_clone(&self) -> Box; [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/interface.rs:10:20 [INFO] [stderr] | [INFO] [stderr] 10 | impl Clone for Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/interface.rs:11:28 [INFO] [stderr] | [INFO] [stderr] 11 | fn clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/constant.rs:22:32 [INFO] [stderr] | [INFO] [stderr] 22 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checker.rs:8:14 [INFO] [stderr] | [INFO] [stderr] 8 | odd: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checker.rs:9:15 [INFO] [stderr] | [INFO] [stderr] 9 | even: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checker.rs:14:25 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn new(odd: Box, even: Box, frequency: f64) -> Checker { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checker.rs:14:45 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn new(odd: Box, even: Box, frequency: f64) -> Checker { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checker.rs:32:32 [INFO] [stderr] | [INFO] [stderr] 32 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/noise.rs:27:32 [INFO] [stderr] | [INFO] [stderr] 27 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/image.rs:39:32 [INFO] [stderr] | [INFO] [stderr] 39 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/interface.rs:9:18 [INFO] [stderr] | [INFO] [stderr] 9 | pdf: Box, [INFO] [stderr] | ^^^ help: use `dyn`: `dyn PDF` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/interface.rs:22:52 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn new_diffuse(attenuation: Vec3, pdf: Box) -> ScatterRecord { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn PDF` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/interface.rs:35:32 [INFO] [stderr] | [INFO] [stderr] 35 | fn box_clone(&self) -> Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/interface.rs:38:20 [INFO] [stderr] | [INFO] [stderr] 38 | impl Clone for Box { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/interface.rs:39:28 [INFO] [stderr] | [INFO] [stderr] 39 | fn clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/lambertian.rs:12:18 [INFO] [stderr] | [INFO] [stderr] 12 | texture: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/lambertian.rs:16:29 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn new(texture: Box) -> Lambertian { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/lambertian.rs:34:32 [INFO] [stderr] | [INFO] [stderr] 34 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/metal.rs:10:18 [INFO] [stderr] | [INFO] [stderr] 10 | texture: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/metal.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn new(texture: Box, fuzz: f64) -> Metal { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/metal.rs:32:32 [INFO] [stderr] | [INFO] [stderr] 32 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/dielectric.rs:59:32 [INFO] [stderr] | [INFO] [stderr] 59 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/diffuse_light.rs:9:18 [INFO] [stderr] | [INFO] [stderr] 9 | texture: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/diffuse_light.rs:13:29 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn new(texture: Box) -> DiffuseLight { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/diffuse_light.rs:35:32 [INFO] [stderr] | [INFO] [stderr] 35 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/isotropic.rs:10:17 [INFO] [stderr] | [INFO] [stderr] 10 | albedo: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/isotropic.rs:14:28 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn new(albedo: Box) -> Isotropic { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/isotropic.rs:26:32 [INFO] [stderr] | [INFO] [stderr] 26 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pdf/hitable.rs:7:18 [INFO] [stderr] | [INFO] [stderr] 7 | hitable: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pdf/hitable.rs:12:29 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new(hitable: Box, origin: Vec3) -> HitablePDF { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pdf/mixture.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | pdfs: [Box; 2], [INFO] [stderr] | ^^^ help: use `dyn`: `dyn PDF` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pdf/mixture.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new(pdf0: Box, pdf1: Box) -> MixturePDF { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn PDF` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pdf/mixture.rs:12:42 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new(pdf0: Box, pdf1: Box) -> MixturePDF { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn PDF` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene.rs:6:18 [INFO] [stderr] | [INFO] [stderr] 6 | hitable: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | light: Option>, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene.rs:12:45 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new(camera: Camera, hitable: Box, light: Option>, sky: bool) -> Scene { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene.rs:12:73 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new(camera: Camera, hitable: Box, light: Option>, sky: bool) -> Scene { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene.rs:20:35 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn hitable(&self) -> &Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene.rs:24:40 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn light(&self) -> &Option> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene_factory.rs:8:62 [INFO] [stderr] | [INFO] [stderr] 8 | fn create_hitables(&self, stats: &Arc) -> Vec>; [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene_factory.rs:9:63 [INFO] [stderr] | [INFO] [stderr] 9 | fn create_light(&self, _stats: &Arc) -> Option> { None } [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/random_spheres.rs:16:70 [INFO] [stderr] | [INFO] [stderr] 16 | fn setup_ground(&self, stats: &Arc, hitable: &mut Vec>) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/random_spheres.rs:29:77 [INFO] [stderr] | [INFO] [stderr] 29 | fn setup_main_elements(&self, stats: &Arc, hitable: &mut Vec>) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/random_spheres.rs:50:79 [INFO] [stderr] | [INFO] [stderr] 50 | fn setup_random_elements(&self, stats: &Arc, hitable: &mut Vec>) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/random_spheres.rs:60:39 [INFO] [stderr] | [INFO] [stderr] 60 | let material: Arc; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/random_spheres.rs:79:41 [INFO] [stderr] | [INFO] [stderr] 79 | let mut sphere: Box = Box::new(Sphere::new( [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/random_spheres.rs:106:62 [INFO] [stderr] | [INFO] [stderr] 106 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/two_spheres.rs:19:62 [INFO] [stderr] | [INFO] [stderr] 19 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/perlin.rs:19:62 [INFO] [stderr] | [INFO] [stderr] 19 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/dark.rs:19:62 [INFO] [stderr] | [INFO] [stderr] 19 | fn create_light(&self, stats: &Arc) -> Option> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/dark.rs:37:62 [INFO] [stderr] | [INFO] [stderr] 37 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell.rs:14:59 [INFO] [stderr] | [INFO] [stderr] 14 | fn create_top_light(&self, stats: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell.rs:32:62 [INFO] [stderr] | [INFO] [stderr] 32 | fn create_light(&self, stats: &Arc) -> Option> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell.rs:36:62 [INFO] [stderr] | [INFO] [stderr] 36 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_fog.rs:14:59 [INFO] [stderr] | [INFO] [stderr] 14 | fn create_top_light(&self, stats: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_fog.rs:32:62 [INFO] [stderr] | [INFO] [stderr] 32 | fn create_light(&self, stats: &Arc) -> Option> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_fog.rs:36:62 [INFO] [stderr] | [INFO] [stderr] 36 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:14:59 [INFO] [stderr] | [INFO] [stderr] 14 | fn create_top_light(&self, stats: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:26:56 [INFO] [stderr] | [INFO] [stderr] 26 | fn create_sphere(&self, stats: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:35:80 [INFO] [stderr] | [INFO] [stderr] 35 | fn create_block(&self, stats: &Arc, mat: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:50:78 [INFO] [stderr] | [INFO] [stderr] 50 | fn create_top(&self, stats: &Arc, mat: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:58:81 [INFO] [stderr] | [INFO] [stderr] 58 | fn create_bottom(&self, stats: &Arc, mat: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:66:79 [INFO] [stderr] | [INFO] [stderr] 66 | fn create_left(&self, stats: &Arc, mat: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:74:80 [INFO] [stderr] | [INFO] [stderr] 74 | fn create_right(&self, stats: &Arc, mat: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:82:79 [INFO] [stderr] | [INFO] [stderr] 82 | fn create_back(&self, stats: &Arc, mat: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:96:62 [INFO] [stderr] | [INFO] [stderr] 96 | fn create_light(&self, stats: &Arc) -> Option> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:114:62 [INFO] [stderr] | [INFO] [stderr] 114 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:16:59 [INFO] [stderr] | [INFO] [stderr] 16 | fn create_top_light(&self, stats: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:26:70 [INFO] [stderr] | [INFO] [stderr] 26 | fn setup_ground(&self, stats: &Arc, hitable: &mut Vec>) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:31:33 [INFO] [stderr] | [INFO] [stderr] 31 | let mut ground: Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:59:74 [INFO] [stderr] | [INFO] [stderr] 59 | fn setup_sphere_box(&self, stats: &Arc, hitable: &mut Vec>) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:64:37 [INFO] [stderr] | [INFO] [stderr] 64 | let mut sphere_box: Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:92:77 [INFO] [stderr] | [INFO] [stderr] 92 | fn setup_main_elements(&self, stats: &Arc, hitable: &mut Vec>) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:171:62 [INFO] [stderr] | [INFO] [stderr] 171 | fn create_light(&self, stats: &Arc) -> Option> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:175:62 [INFO] [stderr] | [INFO] [stderr] 175 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:15:15 [INFO] [stderr] | [INFO] [stderr] 15 | left: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | right: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:21:45 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new(stats: Arc, left: Box, right: Box, t0: f64, t1: f64) -> BVHNode { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:21:66 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new(stats: Arc, left: Box, right: Box, t0: f64, t1: f64) -> BVHNode { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:35:62 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn from_vec(stats: Arc, mut hitables: Vec>, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:36:38 [INFO] [stderr] | [INFO] [stderr] 36 | t0: f64, t1: f64) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:40:37 [INFO] [stderr] | [INFO] [stderr] 40 | let (left, right): (Box, Box) = if hitables.len() == 2 { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:40:51 [INFO] [stderr] | [INFO] [stderr] 40 | let (left, right): (Box, Box) = if hitables.len() == 2 { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bvh/mod.rs:112:32 [INFO] [stderr] | [INFO] [stderr] 112 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/interface.rs:15:23 [INFO] [stderr] | [INFO] [stderr] 15 | pub material: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/interface.rs:20:77 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn new(t: f64, p: Vec3, u: f64, v: f64, normal: Vec3, material: Arc) -> HitRecord { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/interface.rs:33:32 [INFO] [stderr] | [INFO] [stderr] 33 | fn box_clone(&self) -> Box; [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/interface.rs:36:20 [INFO] [stderr] | [INFO] [stderr] 36 | impl Clone for Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/interface.rs:37:28 [INFO] [stderr] | [INFO] [stderr] 37 | fn clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/list.rs:9:19 [INFO] [stderr] | [INFO] [stderr] 9 | list: Vec>, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/list.rs:17:30 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn new(list: Vec>) -> HitableList { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/list.rs:21:35 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn add(&mut self, el: Box) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/list.rs:71:32 [INFO] [stderr] | [INFO] [stderr] 71 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/sphere.rs:16:19 [INFO] [stderr] | [INFO] [stderr] 16 | material: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/sphere.rs:20:76 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn new(stats: Arc, center: Vec3, radius: f64, material: Arc) -> Sphere { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/sphere.rs:83:32 [INFO] [stderr] | [INFO] [stderr] 83 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/translate.rs:7:18 [INFO] [stderr] | [INFO] [stderr] 7 | hitable: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/translate.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn new(hitable: Box, start: Vec3, offset: Vec3, t0: f64, t1: f64) -> Translate { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/translate.rs:19:29 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn mov(hitable: Box, start: Vec3) -> Translate { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/translate.rs:65:32 [INFO] [stderr] | [INFO] [stderr] 65 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_xy.rs:19:19 [INFO] [stderr] | [INFO] [stderr] 19 | material: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_xy.rs:23:93 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new(stats: Arc, x0: f64, x1: f64, y0: f64, y1: f64, k: f64, material: Arc) -> RectXY { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_xy.rs:79:32 [INFO] [stderr] | [INFO] [stderr] 79 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_xz.rs:19:19 [INFO] [stderr] | [INFO] [stderr] 19 | material: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_xz.rs:23:93 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new(stats: Arc, x0: f64, x1: f64, z0: f64, z1: f64, k: f64, material: Arc) -> RectXZ { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_xz.rs:79:32 [INFO] [stderr] | [INFO] [stderr] 79 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_yz.rs:19:19 [INFO] [stderr] | [INFO] [stderr] 19 | material: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_yz.rs:23:93 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new(stats: Arc, y0: f64, y1: f64, z0: f64, z1: f64, k: f64, material: Arc) -> RectYZ { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rect_yz.rs:79:32 [INFO] [stderr] | [INFO] [stderr] 79 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/flip_normals.rs:7:18 [INFO] [stderr] | [INFO] [stderr] 7 | hitable: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/flip_normals.rs:11:29 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new(hitable: Box) -> FlipNormals { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/flip_normals.rs:35:32 [INFO] [stderr] | [INFO] [stderr] 35 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/cuboid.rs:11:18 [INFO] [stderr] | [INFO] [stderr] 11 | hitable: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/cuboid.rs:17:69 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn new(stats: Arc, p0: Vec3, p1: Vec3, material: Arc) -> Cuboid { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/cuboid.rs:75:32 [INFO] [stderr] | [INFO] [stderr] 75 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rotate_y.rs:10:18 [INFO] [stderr] | [INFO] [stderr] 10 | hitable: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rotate_y.rs:16:29 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn new(hitable: Box, angle: f64) -> RotateY { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/rotate_y.rs:96:32 [INFO] [stderr] | [INFO] [stderr] 96 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/constant_medium.rs:15:19 [INFO] [stderr] | [INFO] [stderr] 15 | boundary: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/constant_medium.rs:17:25 [INFO] [stderr] | [INFO] [stderr] 17 | phase_function: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/constant_medium.rs:21:30 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new(boundary: Box, density: f64, albedo: Box) -> ConstantMedium { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/constant_medium.rs:21:66 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new(boundary: Box, density: f64, albedo: Box) -> ConstantMedium { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/hitable/constant_medium.rs:66:32 [INFO] [stderr] | [INFO] [stderr] 66 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/interface.rs:7:32 [INFO] [stderr] | [INFO] [stderr] 7 | fn box_clone(&self) -> Box; [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/interface.rs:10:20 [INFO] [stderr] | [INFO] [stderr] 10 | impl Clone for Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/interface.rs:11:28 [INFO] [stderr] | [INFO] [stderr] 11 | fn clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/constant.rs:22:32 [INFO] [stderr] | [INFO] [stderr] 22 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checker.rs:8:14 [INFO] [stderr] | [INFO] [stderr] 8 | odd: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checker.rs:9:15 [INFO] [stderr] | [INFO] [stderr] 9 | even: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checker.rs:14:25 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn new(odd: Box, even: Box, frequency: f64) -> Checker { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checker.rs:14:45 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn new(odd: Box, even: Box, frequency: f64) -> Checker { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/checker.rs:32:32 [INFO] [stderr] | [INFO] [stderr] 32 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/noise.rs:27:32 [INFO] [stderr] | [INFO] [stderr] 27 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/texture/image.rs:39:32 [INFO] [stderr] | [INFO] [stderr] 39 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/interface.rs:9:18 [INFO] [stderr] | [INFO] [stderr] 9 | pdf: Box, [INFO] [stderr] | ^^^ help: use `dyn`: `dyn PDF` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/interface.rs:22:52 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn new_diffuse(attenuation: Vec3, pdf: Box) -> ScatterRecord { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn PDF` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/interface.rs:35:32 [INFO] [stderr] | [INFO] [stderr] 35 | fn box_clone(&self) -> Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/interface.rs:38:20 [INFO] [stderr] | [INFO] [stderr] 38 | impl Clone for Box { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/interface.rs:39:28 [INFO] [stderr] | [INFO] [stderr] 39 | fn clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/lambertian.rs:12:18 [INFO] [stderr] | [INFO] [stderr] 12 | texture: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/lambertian.rs:16:29 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn new(texture: Box) -> Lambertian { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/lambertian.rs:34:32 [INFO] [stderr] | [INFO] [stderr] 34 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/metal.rs:10:18 [INFO] [stderr] | [INFO] [stderr] 10 | texture: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/metal.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn new(texture: Box, fuzz: f64) -> Metal { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/metal.rs:32:32 [INFO] [stderr] | [INFO] [stderr] 32 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/dielectric.rs:59:32 [INFO] [stderr] | [INFO] [stderr] 59 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/diffuse_light.rs:9:18 [INFO] [stderr] | [INFO] [stderr] 9 | texture: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/diffuse_light.rs:13:29 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn new(texture: Box) -> DiffuseLight { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/diffuse_light.rs:35:32 [INFO] [stderr] | [INFO] [stderr] 35 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/isotropic.rs:10:17 [INFO] [stderr] | [INFO] [stderr] 10 | albedo: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/isotropic.rs:14:28 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn new(albedo: Box) -> Isotropic { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Texture` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/material/isotropic.rs:26:32 [INFO] [stderr] | [INFO] [stderr] 26 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pdf/hitable.rs:7:18 [INFO] [stderr] | [INFO] [stderr] 7 | hitable: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pdf/hitable.rs:12:29 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new(hitable: Box, origin: Vec3) -> HitablePDF { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pdf/mixture.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | pdfs: [Box; 2], [INFO] [stderr] | ^^^ help: use `dyn`: `dyn PDF` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pdf/mixture.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new(pdf0: Box, pdf1: Box) -> MixturePDF { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn PDF` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pdf/mixture.rs:12:42 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new(pdf0: Box, pdf1: Box) -> MixturePDF { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn PDF` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene.rs:6:18 [INFO] [stderr] | [INFO] [stderr] 6 | hitable: Box, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | light: Option>, [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene.rs:12:45 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new(camera: Camera, hitable: Box, light: Option>, sky: bool) -> Scene { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene.rs:12:73 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new(camera: Camera, hitable: Box, light: Option>, sky: bool) -> Scene { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene.rs:20:35 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn hitable(&self) -> &Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene.rs:24:40 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn light(&self) -> &Option> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene_factory.rs:8:62 [INFO] [stderr] | [INFO] [stderr] 8 | fn create_hitables(&self, stats: &Arc) -> Vec>; [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/scene_factory.rs:9:63 [INFO] [stderr] | [INFO] [stderr] 9 | fn create_light(&self, _stats: &Arc) -> Option> { None } [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/random_spheres.rs:16:70 [INFO] [stderr] | [INFO] [stderr] 16 | fn setup_ground(&self, stats: &Arc, hitable: &mut Vec>) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/random_spheres.rs:29:77 [INFO] [stderr] | [INFO] [stderr] 29 | fn setup_main_elements(&self, stats: &Arc, hitable: &mut Vec>) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/random_spheres.rs:50:79 [INFO] [stderr] | [INFO] [stderr] 50 | fn setup_random_elements(&self, stats: &Arc, hitable: &mut Vec>) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/random_spheres.rs:60:39 [INFO] [stderr] | [INFO] [stderr] 60 | let material: Arc; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/random_spheres.rs:79:41 [INFO] [stderr] | [INFO] [stderr] 79 | let mut sphere: Box = Box::new(Sphere::new( [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/random_spheres.rs:106:62 [INFO] [stderr] | [INFO] [stderr] 106 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/two_spheres.rs:19:62 [INFO] [stderr] | [INFO] [stderr] 19 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/perlin.rs:19:62 [INFO] [stderr] | [INFO] [stderr] 19 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/dark.rs:19:62 [INFO] [stderr] | [INFO] [stderr] 19 | fn create_light(&self, stats: &Arc) -> Option> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/dark.rs:37:62 [INFO] [stderr] | [INFO] [stderr] 37 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell.rs:14:59 [INFO] [stderr] | [INFO] [stderr] 14 | fn create_top_light(&self, stats: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell.rs:32:62 [INFO] [stderr] | [INFO] [stderr] 32 | fn create_light(&self, stats: &Arc) -> Option> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell.rs:36:62 [INFO] [stderr] | [INFO] [stderr] 36 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_fog.rs:14:59 [INFO] [stderr] | [INFO] [stderr] 14 | fn create_top_light(&self, stats: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_fog.rs:32:62 [INFO] [stderr] | [INFO] [stderr] 32 | fn create_light(&self, stats: &Arc) -> Option> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_fog.rs:36:62 [INFO] [stderr] | [INFO] [stderr] 36 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:14:59 [INFO] [stderr] | [INFO] [stderr] 14 | fn create_top_light(&self, stats: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:26:56 [INFO] [stderr] | [INFO] [stderr] 26 | fn create_sphere(&self, stats: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:35:80 [INFO] [stderr] | [INFO] [stderr] 35 | fn create_block(&self, stats: &Arc, mat: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:50:78 [INFO] [stderr] | [INFO] [stderr] 50 | fn create_top(&self, stats: &Arc, mat: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:58:81 [INFO] [stderr] | [INFO] [stderr] 58 | fn create_bottom(&self, stats: &Arc, mat: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:66:79 [INFO] [stderr] | [INFO] [stderr] 66 | fn create_left(&self, stats: &Arc, mat: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:74:80 [INFO] [stderr] | [INFO] [stderr] 74 | fn create_right(&self, stats: &Arc, mat: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:82:79 [INFO] [stderr] | [INFO] [stderr] 82 | fn create_back(&self, stats: &Arc, mat: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:96:62 [INFO] [stderr] | [INFO] [stderr] 96 | fn create_light(&self, stats: &Arc) -> Option> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/cornell_light.rs:114:62 [INFO] [stderr] | [INFO] [stderr] 114 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:16:59 [INFO] [stderr] | [INFO] [stderr] 16 | fn create_top_light(&self, stats: &Arc) -> Box { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:26:70 [INFO] [stderr] | [INFO] [stderr] 26 | fn setup_ground(&self, stats: &Arc, hitable: &mut Vec>) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:31:33 [INFO] [stderr] | [INFO] [stderr] 31 | let mut ground: Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:59:74 [INFO] [stderr] | [INFO] [stderr] 59 | fn setup_sphere_box(&self, stats: &Arc, hitable: &mut Vec>) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:64:37 [INFO] [stderr] | [INFO] [stderr] 64 | let mut sphere_box: Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:92:77 [INFO] [stderr] | [INFO] [stderr] 92 | fn setup_main_elements(&self, stats: &Arc, hitable: &mut Vec>) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:171:62 [INFO] [stderr] | [INFO] [stderr] 171 | fn create_light(&self, stats: &Arc) -> Option> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/complex.rs:175:62 [INFO] [stderr] | [INFO] [stderr] 175 | fn create_hitables(&self, stats: &Arc) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:69:23 [INFO] [stderr] | [INFO] [stderr] 69 | let mut file: Box = match format { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Format` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:76:28 [INFO] [stderr] | [INFO] [stderr] 76 | let scene_factory: Box = [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn SceneFactory` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:69:23 [INFO] [stderr] | [INFO] [stderr] 69 | let mut file: Box = match format { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Format` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:76:28 [INFO] [stderr] | [INFO] [stderr] 76 | let scene_factory: Box = [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn SceneFactory` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 5.69s [INFO] running `"docker" "inspect" "fb9ea88860ff6aebc49db0931623996c5d8708476c85bb7c38d45512d91ba2a0"` [INFO] running `"docker" "rm" "-f" "fb9ea88860ff6aebc49db0931623996c5d8708476c85bb7c38d45512d91ba2a0"` [INFO] [stdout] fb9ea88860ff6aebc49db0931623996c5d8708476c85bb7c38d45512d91ba2a0