[INFO] cloning repository https://github.com/seenaburns/raytracer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/seenaburns/raytracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseenaburns%2Fraytracer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseenaburns%2Fraytracer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7da8434a5151bdb590e0763b0fd62ab95fa05cda [INFO] testing seenaburns/raytracer against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseenaburns%2Fraytracer" "/workspace/builds/worker-79/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-79/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/seenaburns/raytracer on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/seenaburns/raytracer [INFO] finished tweaking git repo https://github.com/seenaburns/raytracer [INFO] tweaked toml for git repo https://github.com/seenaburns/raytracer written to /workspace/builds/worker-79/source/Cargo.toml [INFO] crate git repo https://github.com/seenaburns/raytracer already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded redox_syscall v0.1.29 [INFO] [stderr] Downloaded image v0.14.0 [INFO] [stderr] Downloaded png v0.8.0 [INFO] [stderr] Downloaded deflate v0.7.14 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-79/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-79/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] aa52ef2a3e0d72ed28323d8665dc50d419d39f6e69817e4f150fafb0575006a8 [INFO] running `Command { std: "docker" "start" "-a" "aa52ef2a3e0d72ed28323d8665dc50d419d39f6e69817e4f150fafb0575006a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "aa52ef2a3e0d72ed28323d8665dc50d419d39f6e69817e4f150fafb0575006a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aa52ef2a3e0d72ed28323d8665dc50d419d39f6e69817e4f150fafb0575006a8", kill_on_drop: false }` [INFO] [stdout] aa52ef2a3e0d72ed28323d8665dc50d419d39f6e69817e4f150fafb0575006a8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-79/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-79/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 653ac4aae249a25c00f8bfa61257121b3c0a1fd1f837fba498144e34f86d57c1 [INFO] running `Command { std: "docker" "start" "-a" "653ac4aae249a25c00f8bfa61257121b3c0a1fd1f837fba498144e34f86d57c1", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.26 [INFO] [stderr] Compiling num-traits v0.1.40 [INFO] [stderr] Compiling either v1.1.0 [INFO] [stderr] Compiling scopeguard v0.3.2 [INFO] [stderr] Compiling rayon-core v1.2.1 [INFO] [stderr] Compiling futures v0.1.14 [INFO] [stderr] Compiling lazy_static v0.2.8 [INFO] [stderr] Compiling byteorder v1.1.0 [INFO] [stderr] Compiling adler32 v1.0.0 [INFO] [stderr] Compiling bitflags v0.9.1 [INFO] [stderr] Compiling inflate v0.2.0 [INFO] [stderr] Compiling lzw v0.10.0 [INFO] [stderr] Compiling color_quant v1.0.0 [INFO] [stderr] Compiling scoped_threadpool v0.1.7 [INFO] [stderr] Compiling rand v0.3.15 [INFO] [stderr] Compiling num_cpus v1.6.2 [INFO] [stderr] Compiling time v0.1.38 [INFO] [stderr] Compiling coco v0.1.1 [INFO] [stderr] Compiling deflate v0.7.14 [INFO] [stderr] Compiling num-integer v0.1.35 [INFO] [stderr] Compiling enum_primitive v0.1.1 [INFO] [stderr] Compiling gif v0.9.2 [INFO] [stderr] Compiling num-iter v0.1.34 [INFO] [stderr] Compiling num-rational v0.1.39 [INFO] [stderr] Compiling png v0.8.0 [INFO] [stderr] Compiling rayon v0.8.2 [INFO] [stderr] Compiling jpeg-decoder v0.1.13 [INFO] [stderr] Compiling image v0.14.0 [INFO] [stderr] Compiling raytracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:109:26 [INFO] [stdout] | [INFO] [stdout] 109 | pub left: Option>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 - pub left: Option>, [INFO] [stdout] 109 + pub left: Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:110:27 [INFO] [stdout] | [INFO] [stdout] 110 | pub right: Option>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 - pub right: Option>, [INFO] [stdout] 110 + pub right: Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/cube.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | sides: Vec> [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 - sides: Vec> [INFO] [stdout] 11 + sides: Vec> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:62:29 [INFO] [stdout] | [INFO] [stdout] 62 | impl Renderable for Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 62 - impl Renderable for Vec> { [INFO] [stdout] 62 + impl Renderable for Vec> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:14:75 [INFO] [stdout] | [INFO] [stdout] 14 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)>; [INFO] [stdout] 14 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)>; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:48:75 [INFO] [stdout] | [INFO] [stdout] 48 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 48 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] 48 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:63:75 [INFO] [stdout] | [INFO] [stdout] 63 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 63 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] 63 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | scene: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 - scene: Box, [INFO] [stdout] 40 + scene: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:114:53 [INFO] [stdout] | [INFO] [stdout] 114 | fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 114 - fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] 114 + fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &dyn Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:126:27 [INFO] [stdout] | [INFO] [stdout] 126 | fn color(r: &Ray, world: &Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 126 - fn color(r: &Ray, world: &Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] 126 + fn color(r: &Ray, world: &dyn Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:157:30 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn random_scene() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 157 - pub fn random_scene() -> Box { [INFO] [stdout] 157 + pub fn random_scene() -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vec3.rs:38:26 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn map(self, f: &Fn(f64) -> f64) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - pub fn map(self, f: &Fn(f64) -> f64) -> Vec3 { [INFO] [stdout] 38 + pub fn map(self, f: &dyn Fn(f64) -> f64) -> Vec3 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vec3.rs:42:39 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn map2(a: Vec3, b: Vec3, f: &Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 42 - pub fn map2(a: Vec3, b: Vec3, f: &Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stdout] 42 + pub fn map2(a: Vec3, b: Vec3, f: &dyn Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:16:39 [INFO] [stdout] | [INFO] [stdout] 16 | fn compare_by_axis(&self, other: &BoundingBox, axis: &Axis) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - fn compare_by_axis(&self, other: &BoundingBox, axis: &Axis) -> Ordering { [INFO] [stdout] 16 + fn compare_by_axis(&self, other: &dyn BoundingBox, axis: &Axis) -> Ordering { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:102:35 [INFO] [stdout] | [INFO] [stdout] 102 | fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 102 - fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stdout] 102 + fn as_bounding_box(&self) -> &dyn BoundingBox; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:105:35 [INFO] [stdout] | [INFO] [stdout] 105 | fn as_bounding_box(&self) -> &BoundingBox { self } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 - fn as_bounding_box(&self) -> &BoundingBox { self } [INFO] [stdout] 105 + fn as_bounding_box(&self) -> &dyn BoundingBox { self } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:115:38 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn new(mut hitables: Vec>) -> Node { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 115 - pub fn new(mut hitables: Vec>) -> Node { [INFO] [stdout] 115 + pub fn new(mut hitables: Vec>) -> Node { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:158:75 [INFO] [stdout] | [INFO] [stdout] 158 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 158 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] 158 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/hitable.rs:21:26 [INFO] [stdout] | [INFO] [stdout] 21 | impl Hitable for Vec> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - impl Hitable for Vec> { [INFO] [stdout] 21 + impl Hitable for Vec> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:35:6 [INFO] [stdout] | [INFO] [stdout] 35 | impl Material { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 - impl Material { [INFO] [stdout] 35 + impl dyn Material { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:118:35 [INFO] [stdout] | [INFO] [stdout] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 118 - hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] 118 + hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:118:53 [INFO] [stdout] | [INFO] [stdout] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 118 - hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] 118 + hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/cube.rs:23:32 [INFO] [stdout] | [INFO] [stdout] 23 | let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stdout] 23 + let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:49:71 [INFO] [stdout] | [INFO] [stdout] 49 | self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &Material)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 - self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &Material)) [INFO] [stdout] 49 + self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &dyn Material)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | Material::lambertian(texture::constant_texture(albedo)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | ::lambertian(texture::constant_texture(albedo)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | Material::diffuse_light(texture::constant_texture(emit)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 | ::diffuse_light(texture::constant_texture(emit)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | Material::isotropic(texture::constant_texture(emit)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 | ::isotropic(texture::constant_texture(emit)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:50:34 [INFO] [stdout] | [INFO] [stdout] 50 | let shareable_scene: Arc> = Arc::new(scene); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 - let shareable_scene: Arc> = Arc::new(scene); [INFO] [stdout] 50 + let shareable_scene: Arc> = Arc::new(scene); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:158:28 [INFO] [stdout] | [INFO] [stdout] 158 | let mut items: Vec> = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 158 - let mut items: Vec> = Vec::new(); [INFO] [stdout] 158 + let mut items: Vec> = Vec::new(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | Material::lambertian_constant(random::()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 166 | ::lambertian_constant(random::()), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | Material::lambertian_constant(random::() * random::()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 175 | ::lambertian_constant(random::() * random::()), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | Material::metal((random::() + 1.0) * 0.5, random::() * 0.3), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 182 | ::metal((random::() + 1.0) * 0.5, random::() * 0.3), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | Material::dielectric(1.5), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 189 | ::dielectric(1.5), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:208:25 [INFO] [stdout] | [INFO] [stdout] 208 | Material::lambertian_constant(random::() * random::()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 208 | ::lambertian_constant(random::() * random::()), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:217:25 [INFO] [stdout] | [INFO] [stdout] 217 | Material::metal( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 217 | ::metal( [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:230:25 [INFO] [stdout] | [INFO] [stdout] 230 | Material::dielectric(1.5), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 230 | ::dielectric(1.5), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/shader/material.rs:123:49 [INFO] [stdout] | [INFO] [stdout] 123 | fn scatter(&self, r: &Ray, hit: &HitRecord, rng: &mut XorShiftRng) -> Option<(Vec3, Ray)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/shader/material.rs:161:51 [INFO] [stdout] | [INFO] [stdout] 161 | fn scatter(&self, _r: &Ray, _hit: &HitRecord, rng: &mut XorShiftRng) -> Option<(Vec3, Ray)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/shader/material.rs:179:23 [INFO] [stdout] | [INFO] [stdout] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/shader/material.rs:179:31 [INFO] [stdout] | [INFO] [stdout] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/shader/material.rs:179:39 [INFO] [stdout] | [INFO] [stdout] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/util.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | AXIS.into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 14 | AXIS.iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 14 | IntoIterator::into_iter(AXIS) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/render.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | writeln!(&mut ::std::io::stderr(), "Thread {} done", nth); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 43 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hitable` [INFO] [stdout] --> src/main.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use raytracer::model::{hitable, Renderable, Model}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `raytracer::model::sphere::Sphere` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use raytracer::model::sphere::Sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `raytracer::model::constant_medium::ConstantMedium` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use raytracer::model::constant_medium::ConstantMedium; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `raytracer::shader::texture` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use raytracer::shader::texture; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:89:28 [INFO] [stdout] | [INFO] [stdout] 89 | let world: Box>> = Box::new(vec![ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 - let world: Box>> = Box::new(vec![ [INFO] [stdout] 89 + let world: Box>> = Box::new(vec![ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:83:21 [INFO] [stdout] | [INFO] [stdout] 83 | let mat_red = Material::lambertian_constant(Vec3::new(0.65,0.05,0.05)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 83 | let mat_red = ::lambertian_constant(Vec3::new(0.65,0.05,0.05)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:84:21 [INFO] [stdout] | [INFO] [stdout] 84 | let mat_green = Material::lambertian_constant(Vec3::new(0.12,0.45,0.15)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 84 | let mat_green = ::lambertian_constant(Vec3::new(0.12,0.45,0.15)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | let mat_white = Material::lambertian_constant(Vec3::new(0.73,0.73,0.73)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 85 | let mat_white = ::lambertian_constant(Vec3::new(0.73,0.73,0.73)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:87:21 [INFO] [stdout] | [INFO] [stdout] 87 | let mat_light = Material::diffuse_light_constant(Vec3::new(5.0,5.0,5.0)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 87 | let mat_light = ::diffuse_light_constant(Vec3::new(5.0,5.0,5.0)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | let mat_iso = Material::isotropic_constant(Vec3::new(1.0,1.0,1.0)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 | let mat_iso = ::isotropic_constant(Vec3::new(1.0,1.0,1.0)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mat_iso` [INFO] [stdout] --> src/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let mat_iso = Material::isotropic_constant(Vec3::new(1.0,1.0,1.0)); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mat_iso` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `PNG` [INFO] [stdout] --> src/main.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | PNG [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 00s [INFO] running `Command { std: "docker" "inspect" "653ac4aae249a25c00f8bfa61257121b3c0a1fd1f837fba498144e34f86d57c1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "653ac4aae249a25c00f8bfa61257121b3c0a1fd1f837fba498144e34f86d57c1", kill_on_drop: false }` [INFO] [stdout] 653ac4aae249a25c00f8bfa61257121b3c0a1fd1f837fba498144e34f86d57c1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-79/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-79/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 31e2f0f4c70b7999ddea4cfa3ff357391692c70de8d5ae1f8da23473905cfe6c [INFO] running `Command { std: "docker" "start" "-a" "31e2f0f4c70b7999ddea4cfa3ff357391692c70de8d5ae1f8da23473905cfe6c", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:109:26 [INFO] [stdout] | [INFO] [stdout] 109 | pub left: Option>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 - pub left: Option>, [INFO] [stdout] 109 + pub left: Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:110:27 [INFO] [stdout] | [INFO] [stdout] 110 | pub right: Option>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 - pub right: Option>, [INFO] [stdout] 110 + pub right: Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/cube.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | sides: Vec> [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 - sides: Vec> [INFO] [stdout] 11 + sides: Vec> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:62:29 [INFO] [stdout] | [INFO] [stdout] 62 | impl Renderable for Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 62 - impl Renderable for Vec> { [INFO] [stdout] 62 + impl Renderable for Vec> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:14:75 [INFO] [stdout] | [INFO] [stdout] 14 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)>; [INFO] [stdout] 14 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)>; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:48:75 [INFO] [stdout] | [INFO] [stdout] 48 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 48 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] 48 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:63:75 [INFO] [stdout] | [INFO] [stdout] 63 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 63 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] 63 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | scene: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 - scene: Box, [INFO] [stdout] 40 + scene: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:114:53 [INFO] [stdout] | [INFO] [stdout] 114 | fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 114 - fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] 114 + fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &dyn Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:126:27 [INFO] [stdout] | [INFO] [stdout] 126 | fn color(r: &Ray, world: &Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 126 - fn color(r: &Ray, world: &Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] 126 + fn color(r: &Ray, world: &dyn Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:157:30 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn random_scene() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 157 - pub fn random_scene() -> Box { [INFO] [stdout] 157 + pub fn random_scene() -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vec3.rs:38:26 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn map(self, f: &Fn(f64) -> f64) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - pub fn map(self, f: &Fn(f64) -> f64) -> Vec3 { [INFO] [stdout] 38 + pub fn map(self, f: &dyn Fn(f64) -> f64) -> Vec3 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vec3.rs:42:39 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn map2(a: Vec3, b: Vec3, f: &Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 42 - pub fn map2(a: Vec3, b: Vec3, f: &Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stdout] 42 + pub fn map2(a: Vec3, b: Vec3, f: &dyn Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:16:39 [INFO] [stdout] | [INFO] [stdout] 16 | fn compare_by_axis(&self, other: &BoundingBox, axis: &Axis) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - fn compare_by_axis(&self, other: &BoundingBox, axis: &Axis) -> Ordering { [INFO] [stdout] 16 + fn compare_by_axis(&self, other: &dyn BoundingBox, axis: &Axis) -> Ordering { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:102:35 [INFO] [stdout] | [INFO] [stdout] 102 | fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 102 - fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stdout] 102 + fn as_bounding_box(&self) -> &dyn BoundingBox; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:105:35 [INFO] [stdout] | [INFO] [stdout] 105 | fn as_bounding_box(&self) -> &BoundingBox { self } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 - fn as_bounding_box(&self) -> &BoundingBox { self } [INFO] [stdout] 105 + fn as_bounding_box(&self) -> &dyn BoundingBox { self } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling raytracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:115:38 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn new(mut hitables: Vec>) -> Node { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 115 - pub fn new(mut hitables: Vec>) -> Node { [INFO] [stdout] 115 + pub fn new(mut hitables: Vec>) -> Node { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:158:75 [INFO] [stdout] | [INFO] [stdout] 158 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 158 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] 158 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/hitable.rs:21:26 [INFO] [stdout] | [INFO] [stdout] 21 | impl Hitable for Vec> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - impl Hitable for Vec> { [INFO] [stdout] 21 + impl Hitable for Vec> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:35:6 [INFO] [stdout] | [INFO] [stdout] 35 | impl Material { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 - impl Material { [INFO] [stdout] 35 + impl dyn Material { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:118:35 [INFO] [stdout] | [INFO] [stdout] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 118 - hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] 118 + hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:118:53 [INFO] [stdout] | [INFO] [stdout] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 118 - hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] 118 + hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/cube.rs:23:32 [INFO] [stdout] | [INFO] [stdout] 23 | let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stdout] 23 + let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:49:71 [INFO] [stdout] | [INFO] [stdout] 49 | self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &Material)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 - self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &Material)) [INFO] [stdout] 49 + self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &dyn Material)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | Material::lambertian(texture::constant_texture(albedo)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | ::lambertian(texture::constant_texture(albedo)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | Material::diffuse_light(texture::constant_texture(emit)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 | ::diffuse_light(texture::constant_texture(emit)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | Material::isotropic(texture::constant_texture(emit)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 | ::isotropic(texture::constant_texture(emit)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:50:34 [INFO] [stdout] | [INFO] [stdout] 50 | let shareable_scene: Arc> = Arc::new(scene); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 - let shareable_scene: Arc> = Arc::new(scene); [INFO] [stdout] 50 + let shareable_scene: Arc> = Arc::new(scene); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:158:28 [INFO] [stdout] | [INFO] [stdout] 158 | let mut items: Vec> = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 158 - let mut items: Vec> = Vec::new(); [INFO] [stdout] 158 + let mut items: Vec> = Vec::new(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | Material::lambertian_constant(random::()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 166 | ::lambertian_constant(random::()), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | Material::lambertian_constant(random::() * random::()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 175 | ::lambertian_constant(random::() * random::()), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | Material::metal((random::() + 1.0) * 0.5, random::() * 0.3), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 182 | ::metal((random::() + 1.0) * 0.5, random::() * 0.3), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | Material::dielectric(1.5), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 189 | ::dielectric(1.5), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:208:25 [INFO] [stdout] | [INFO] [stdout] 208 | Material::lambertian_constant(random::() * random::()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 208 | ::lambertian_constant(random::() * random::()), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:217:25 [INFO] [stdout] | [INFO] [stdout] 217 | Material::metal( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 217 | ::metal( [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:230:25 [INFO] [stdout] | [INFO] [stdout] 230 | Material::dielectric(1.5), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 230 | ::dielectric(1.5), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/shader/material.rs:123:49 [INFO] [stdout] | [INFO] [stdout] 123 | fn scatter(&self, r: &Ray, hit: &HitRecord, rng: &mut XorShiftRng) -> Option<(Vec3, Ray)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/shader/material.rs:161:51 [INFO] [stdout] | [INFO] [stdout] 161 | fn scatter(&self, _r: &Ray, _hit: &HitRecord, rng: &mut XorShiftRng) -> Option<(Vec3, Ray)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/shader/material.rs:179:23 [INFO] [stdout] | [INFO] [stdout] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/shader/material.rs:179:31 [INFO] [stdout] | [INFO] [stdout] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/shader/material.rs:179:39 [INFO] [stdout] | [INFO] [stdout] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/util.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | AXIS.into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 14 | AXIS.iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 14 | IntoIterator::into_iter(AXIS) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/render.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | writeln!(&mut ::std::io::stderr(), "Thread {} done", nth); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 43 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hitable` [INFO] [stdout] --> src/main.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use raytracer::model::{hitable, Renderable, Model}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `raytracer::model::sphere::Sphere` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use raytracer::model::sphere::Sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `raytracer::model::constant_medium::ConstantMedium` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use raytracer::model::constant_medium::ConstantMedium; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `raytracer::shader::texture` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use raytracer::shader::texture; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:89:28 [INFO] [stdout] | [INFO] [stdout] 89 | let world: Box>> = Box::new(vec![ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 - let world: Box>> = Box::new(vec![ [INFO] [stdout] 89 + let world: Box>> = Box::new(vec![ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:83:21 [INFO] [stdout] | [INFO] [stdout] 83 | let mat_red = Material::lambertian_constant(Vec3::new(0.65,0.05,0.05)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 83 | let mat_red = ::lambertian_constant(Vec3::new(0.65,0.05,0.05)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:84:21 [INFO] [stdout] | [INFO] [stdout] 84 | let mat_green = Material::lambertian_constant(Vec3::new(0.12,0.45,0.15)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 84 | let mat_green = ::lambertian_constant(Vec3::new(0.12,0.45,0.15)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | let mat_white = Material::lambertian_constant(Vec3::new(0.73,0.73,0.73)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 85 | let mat_white = ::lambertian_constant(Vec3::new(0.73,0.73,0.73)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:87:21 [INFO] [stdout] | [INFO] [stdout] 87 | let mat_light = Material::diffuse_light_constant(Vec3::new(5.0,5.0,5.0)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 87 | let mat_light = ::diffuse_light_constant(Vec3::new(5.0,5.0,5.0)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | let mat_iso = Material::isotropic_constant(Vec3::new(1.0,1.0,1.0)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 | let mat_iso = ::isotropic_constant(Vec3::new(1.0,1.0,1.0)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mat_iso` [INFO] [stdout] --> src/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let mat_iso = Material::isotropic_constant(Vec3::new(1.0,1.0,1.0)); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mat_iso` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `PNG` [INFO] [stdout] --> src/main.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | PNG [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:109:26 [INFO] [stdout] | [INFO] [stdout] 109 | pub left: Option>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 - pub left: Option>, [INFO] [stdout] 109 + pub left: Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:110:27 [INFO] [stdout] | [INFO] [stdout] 110 | pub right: Option>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 - pub right: Option>, [INFO] [stdout] 110 + pub right: Option>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/cube.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | sides: Vec> [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 - sides: Vec> [INFO] [stdout] 11 + sides: Vec> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:62:29 [INFO] [stdout] | [INFO] [stdout] 62 | impl Renderable for Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 62 - impl Renderable for Vec> { [INFO] [stdout] 62 + impl Renderable for Vec> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:14:75 [INFO] [stdout] | [INFO] [stdout] 14 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)>; [INFO] [stdout] 14 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)>; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:48:75 [INFO] [stdout] | [INFO] [stdout] 48 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 48 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] 48 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:63:75 [INFO] [stdout] | [INFO] [stdout] 63 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 63 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] 63 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | scene: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 - scene: Box, [INFO] [stdout] 40 + scene: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:114:53 [INFO] [stdout] | [INFO] [stdout] 114 | fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 114 - fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] 114 + fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &dyn Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:126:27 [INFO] [stdout] | [INFO] [stdout] 126 | fn color(r: &Ray, world: &Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 126 - fn color(r: &Ray, world: &Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] 126 + fn color(r: &Ray, world: &dyn Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:157:30 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn random_scene() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 157 - pub fn random_scene() -> Box { [INFO] [stdout] 157 + pub fn random_scene() -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vec3.rs:38:26 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn map(self, f: &Fn(f64) -> f64) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - pub fn map(self, f: &Fn(f64) -> f64) -> Vec3 { [INFO] [stdout] 38 + pub fn map(self, f: &dyn Fn(f64) -> f64) -> Vec3 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vec3.rs:42:39 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn map2(a: Vec3, b: Vec3, f: &Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 42 - pub fn map2(a: Vec3, b: Vec3, f: &Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stdout] 42 + pub fn map2(a: Vec3, b: Vec3, f: &dyn Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:16:39 [INFO] [stdout] | [INFO] [stdout] 16 | fn compare_by_axis(&self, other: &BoundingBox, axis: &Axis) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - fn compare_by_axis(&self, other: &BoundingBox, axis: &Axis) -> Ordering { [INFO] [stdout] 16 + fn compare_by_axis(&self, other: &dyn BoundingBox, axis: &Axis) -> Ordering { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:102:35 [INFO] [stdout] | [INFO] [stdout] 102 | fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 102 - fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stdout] 102 + fn as_bounding_box(&self) -> &dyn BoundingBox; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:105:35 [INFO] [stdout] | [INFO] [stdout] 105 | fn as_bounding_box(&self) -> &BoundingBox { self } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 - fn as_bounding_box(&self) -> &BoundingBox { self } [INFO] [stdout] 105 + fn as_bounding_box(&self) -> &dyn BoundingBox { self } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:115:38 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn new(mut hitables: Vec>) -> Node { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 115 - pub fn new(mut hitables: Vec>) -> Node { [INFO] [stdout] 115 + pub fn new(mut hitables: Vec>) -> Node { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:158:75 [INFO] [stdout] | [INFO] [stdout] 158 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 158 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] 158 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/hitable.rs:21:26 [INFO] [stdout] | [INFO] [stdout] 21 | impl Hitable for Vec> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - impl Hitable for Vec> { [INFO] [stdout] 21 + impl Hitable for Vec> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:35:6 [INFO] [stdout] | [INFO] [stdout] 35 | impl Material { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 - impl Material { [INFO] [stdout] 35 + impl dyn Material { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:118:35 [INFO] [stdout] | [INFO] [stdout] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 118 - hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] 118 + hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:118:53 [INFO] [stdout] | [INFO] [stdout] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 118 - hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] 118 + hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/cube.rs:23:32 [INFO] [stdout] | [INFO] [stdout] 23 | let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stdout] 23 + let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:49:71 [INFO] [stdout] | [INFO] [stdout] 49 | self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &Material)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 - self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &Material)) [INFO] [stdout] 49 + self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &dyn Material)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | Material::lambertian(texture::constant_texture(albedo)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | ::lambertian(texture::constant_texture(albedo)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | Material::diffuse_light(texture::constant_texture(emit)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 | ::diffuse_light(texture::constant_texture(emit)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | Material::isotropic(texture::constant_texture(emit)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 | ::isotropic(texture::constant_texture(emit)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:50:34 [INFO] [stdout] | [INFO] [stdout] 50 | let shareable_scene: Arc> = Arc::new(scene); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 - let shareable_scene: Arc> = Arc::new(scene); [INFO] [stdout] 50 + let shareable_scene: Arc> = Arc::new(scene); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:158:28 [INFO] [stdout] | [INFO] [stdout] 158 | let mut items: Vec> = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 158 - let mut items: Vec> = Vec::new(); [INFO] [stdout] 158 + let mut items: Vec> = Vec::new(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | Material::lambertian_constant(random::()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 166 | ::lambertian_constant(random::()), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | Material::lambertian_constant(random::() * random::()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 175 | ::lambertian_constant(random::() * random::()), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | Material::metal((random::() + 1.0) * 0.5, random::() * 0.3), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 182 | ::metal((random::() + 1.0) * 0.5, random::() * 0.3), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | Material::dielectric(1.5), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 189 | ::dielectric(1.5), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:208:25 [INFO] [stdout] | [INFO] [stdout] 208 | Material::lambertian_constant(random::() * random::()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 208 | ::lambertian_constant(random::() * random::()), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:217:25 [INFO] [stdout] | [INFO] [stdout] 217 | Material::metal( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 217 | ::metal( [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:230:25 [INFO] [stdout] | [INFO] [stdout] 230 | Material::dielectric(1.5), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 230 | ::dielectric(1.5), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:236:17 [INFO] [stdout] | [INFO] [stdout] 236 | Material::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 236 | ::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:247:17 [INFO] [stdout] | [INFO] [stdout] 247 | Material::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 247 | ::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:263:17 [INFO] [stdout] | [INFO] [stdout] 263 | Material::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 263 | ::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/shader/material.rs:123:49 [INFO] [stdout] | [INFO] [stdout] 123 | fn scatter(&self, r: &Ray, hit: &HitRecord, rng: &mut XorShiftRng) -> Option<(Vec3, Ray)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/shader/material.rs:161:51 [INFO] [stdout] | [INFO] [stdout] 161 | fn scatter(&self, _r: &Ray, _hit: &HitRecord, rng: &mut XorShiftRng) -> Option<(Vec3, Ray)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/shader/material.rs:179:23 [INFO] [stdout] | [INFO] [stdout] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/shader/material.rs:179:31 [INFO] [stdout] | [INFO] [stdout] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/shader/material.rs:179:39 [INFO] [stdout] | [INFO] [stdout] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_perlin_generate` [INFO] [stdout] --> src/shader/texture.rs:254:8 [INFO] [stdout] | [INFO] [stdout] 254 | fn test_perlin_generate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stdout] --> src/util.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | AXIS.into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 14 | AXIS.iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 14 | IntoIterator::into_iter(AXIS) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/render.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | writeln!(&mut ::std::io::stderr(), "Thread {} done", nth); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 47 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 9.02s [INFO] running `Command { std: "docker" "inspect" "31e2f0f4c70b7999ddea4cfa3ff357391692c70de8d5ae1f8da23473905cfe6c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "31e2f0f4c70b7999ddea4cfa3ff357391692c70de8d5ae1f8da23473905cfe6c", kill_on_drop: false }` [INFO] [stdout] 31e2f0f4c70b7999ddea4cfa3ff357391692c70de8d5ae1f8da23473905cfe6c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-79/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-79/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a6761ec83a4bb22c0ac4ed19b1a570f792f36eb93148de30952ab0f282c5685d [INFO] running `Command { std: "docker" "start" "-a" "a6761ec83a4bb22c0ac4ed19b1a570f792f36eb93148de30952ab0f282c5685d", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:109:26 [INFO] [stderr] | [INFO] [stderr] 109 | pub left: Option>, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 109 - pub left: Option>, [INFO] [stderr] 109 + pub left: Option>, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:110:27 [INFO] [stderr] | [INFO] [stderr] 110 | pub right: Option>, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 110 - pub right: Option>, [INFO] [stderr] 110 + pub right: Option>, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/cube.rs:11:20 [INFO] [stderr] | [INFO] [stderr] 11 | sides: Vec> [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 11 - sides: Vec> [INFO] [stderr] 11 + sides: Vec> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/mod.rs:62:29 [INFO] [stderr] | [INFO] [stderr] 62 | impl Renderable for Vec> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 62 - impl Renderable for Vec> { [INFO] [stderr] 62 + impl Renderable for Vec> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/mod.rs:14:75 [INFO] [stderr] | [INFO] [stderr] 14 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)>; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 14 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)>; [INFO] [stderr] 14 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)>; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/mod.rs:48:75 [INFO] [stderr] | [INFO] [stderr] 48 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 48 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stderr] 48 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/mod.rs:63:75 [INFO] [stderr] | [INFO] [stderr] 63 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 63 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stderr] 63 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/render.rs:40:16 [INFO] [stderr] | [INFO] [stderr] 40 | scene: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 40 - scene: Box, [INFO] [stderr] 40 + scene: Box, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/render.rs:114:53 [INFO] [stderr] | [INFO] [stderr] 114 | fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 114 - fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stderr] 114 + fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &dyn Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/render.rs:126:27 [INFO] [stderr] | [INFO] [stderr] 126 | fn color(r: &Ray, world: &Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 126 - fn color(r: &Ray, world: &Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stderr] 126 + fn color(r: &Ray, world: &dyn Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/render.rs:157:30 [INFO] [stderr] | [INFO] [stderr] 157 | pub fn random_scene() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 157 - pub fn random_scene() -> Box { [INFO] [stderr] 157 + pub fn random_scene() -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/vec3.rs:38:26 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn map(self, f: &Fn(f64) -> f64) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 38 - pub fn map(self, f: &Fn(f64) -> f64) -> Vec3 { [INFO] [stderr] 38 + pub fn map(self, f: &dyn Fn(f64) -> f64) -> Vec3 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/vec3.rs:42:39 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn map2(a: Vec3, b: Vec3, f: &Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 42 - pub fn map2(a: Vec3, b: Vec3, f: &Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stderr] 42 + pub fn map2(a: Vec3, b: Vec3, f: &dyn Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:16:39 [INFO] [stderr] | [INFO] [stderr] 16 | fn compare_by_axis(&self, other: &BoundingBox, axis: &Axis) -> Ordering { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 16 - fn compare_by_axis(&self, other: &BoundingBox, axis: &Axis) -> Ordering { [INFO] [stderr] 16 + fn compare_by_axis(&self, other: &dyn BoundingBox, axis: &Axis) -> Ordering { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:102:35 [INFO] [stderr] | [INFO] [stderr] 102 | fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 102 - fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stderr] 102 + fn as_bounding_box(&self) -> &dyn BoundingBox; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:105:35 [INFO] [stderr] | [INFO] [stderr] 105 | fn as_bounding_box(&self) -> &BoundingBox { self } [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 105 - fn as_bounding_box(&self) -> &BoundingBox { self } [INFO] [stderr] 105 + fn as_bounding_box(&self) -> &dyn BoundingBox { self } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:115:38 [INFO] [stderr] | [INFO] [stderr] 115 | pub fn new(mut hitables: Vec>) -> Node { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 115 - pub fn new(mut hitables: Vec>) -> Node { [INFO] [stderr] 115 + pub fn new(mut hitables: Vec>) -> Node { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:158:75 [INFO] [stderr] | [INFO] [stderr] 158 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 158 - fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stderr] 158 + fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/hitable.rs:21:26 [INFO] [stderr] | [INFO] [stderr] 21 | impl Hitable for Vec> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 21 - impl Hitable for Vec> { [INFO] [stderr] 21 + impl Hitable for Vec> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shader/material.rs:35:6 [INFO] [stderr] | [INFO] [stderr] 35 | impl Material { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 35 - impl Material { [INFO] [stderr] 35 + impl dyn Material { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:118:35 [INFO] [stderr] | [INFO] [stderr] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 118 - hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stderr] 118 + hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:118:53 [INFO] [stderr] | [INFO] [stderr] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 118 - hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stderr] 118 + hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/cube.rs:23:32 [INFO] [stderr] | [INFO] [stderr] 23 | let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 23 - let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stderr] 23 + let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/mod.rs:49:71 [INFO] [stderr] | [INFO] [stderr] 49 | self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &Material)) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 49 - self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &Material)) [INFO] [stderr] 49 + self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &dyn Material)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shader/material.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | Material::lambertian(texture::constant_texture(albedo)) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 38 | ::lambertian(texture::constant_texture(albedo)) [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shader/material.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | Material::diffuse_light(texture::constant_texture(emit)) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 61 | ::diffuse_light(texture::constant_texture(emit)) [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shader/material.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | Material::isotropic(texture::constant_texture(emit)) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 71 | ::isotropic(texture::constant_texture(emit)) [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/render.rs:50:34 [INFO] [stderr] | [INFO] [stderr] 50 | let shareable_scene: Arc> = Arc::new(scene); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 50 - let shareable_scene: Arc> = Arc::new(scene); [INFO] [stderr] 50 + let shareable_scene: Arc> = Arc::new(scene); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/render.rs:158:28 [INFO] [stderr] | [INFO] [stderr] 158 | let mut items: Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 158 - let mut items: Vec> = Vec::new(); [INFO] [stderr] 158 + let mut items: Vec> = Vec::new(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/render.rs:166:9 [INFO] [stderr] | [INFO] [stderr] 166 | Material::lambertian_constant(random::()), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 166 | ::lambertian_constant(random::()), [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/render.rs:175:9 [INFO] [stderr] | [INFO] [stderr] 175 | Material::lambertian_constant(random::() * random::()), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 175 | ::lambertian_constant(random::() * random::()), [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/render.rs:182:9 [INFO] [stderr] | [INFO] [stderr] 182 | Material::metal((random::() + 1.0) * 0.5, random::() * 0.3), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 182 | ::metal((random::() + 1.0) * 0.5, random::() * 0.3), [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/render.rs:189:9 [INFO] [stderr] | [INFO] [stderr] 189 | Material::dielectric(1.5), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 189 | ::dielectric(1.5), [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/render.rs:208:25 [INFO] [stderr] | [INFO] [stderr] 208 | Material::lambertian_constant(random::() * random::()), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 208 | ::lambertian_constant(random::() * random::()), [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/render.rs:217:25 [INFO] [stderr] | [INFO] [stderr] 217 | Material::metal( [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 217 | ::metal( [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/render.rs:230:25 [INFO] [stderr] | [INFO] [stderr] 230 | Material::dielectric(1.5), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 230 | ::dielectric(1.5), [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rng` [INFO] [stderr] --> src/shader/material.rs:123:49 [INFO] [stderr] | [INFO] [stderr] 123 | fn scatter(&self, r: &Ray, hit: &HitRecord, rng: &mut XorShiftRng) -> Option<(Vec3, Ray)> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rng` [INFO] [stderr] --> src/shader/material.rs:161:51 [INFO] [stderr] | [INFO] [stderr] 161 | fn scatter(&self, _r: &Ray, _hit: &HitRecord, rng: &mut XorShiftRng) -> Option<(Vec3, Ray)> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `u` [INFO] [stderr] --> src/shader/material.rs:179:23 [INFO] [stderr] | [INFO] [stderr] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/shader/material.rs:179:31 [INFO] [stderr] | [INFO] [stderr] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `p` [INFO] [stderr] --> src/shader/material.rs:179:39 [INFO] [stderr] | [INFO] [stderr] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stderr] [INFO] [stderr] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021 [INFO] [stderr] --> src/util.rs:14:14 [INFO] [stderr] | [INFO] [stderr] 14 | AXIS.into_iter() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(array_into_iter)]` on by default [INFO] [stderr] = warning: this changes meaning in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stderr] | [INFO] [stderr] 14 | AXIS.iter() [INFO] [stderr] | ~~~~ [INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stderr] | [INFO] [stderr] 14 | IntoIterator::into_iter(AXIS) [INFO] [stderr] | ++++++++++++++++++++++++ ~ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/render.rs:106:13 [INFO] [stderr] | [INFO] [stderr] 106 | writeln!(&mut ::std::io::stderr(), "Thread {} done", nth); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:236:17 [INFO] [stderr] | [INFO] [stderr] 236 | Material::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 236 | ::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:247:17 [INFO] [stderr] | [INFO] [stderr] 247 | Material::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 247 | ::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:263:17 [INFO] [stderr] | [INFO] [stderr] 263 | Material::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 263 | ::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_perlin_generate` [INFO] [stderr] --> src/shader/texture.rs:254:8 [INFO] [stderr] | [INFO] [stderr] 254 | fn test_perlin_generate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `raytracer` (lib) generated 43 warnings [INFO] [stderr] warning: `raytracer` (lib test) generated 47 warnings (43 duplicates) [INFO] [stderr] warning: unused import: `hitable` [INFO] [stderr] --> src/main.rs:7:24 [INFO] [stderr] | [INFO] [stderr] 7 | use raytracer::model::{hitable, Renderable, Model}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `raytracer::model::sphere::Sphere` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use raytracer::model::sphere::Sphere; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `raytracer::model::constant_medium::ConstantMedium` [INFO] [stderr] --> src/main.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use raytracer::model::constant_medium::ConstantMedium; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `raytracer::shader::texture` [INFO] [stderr] --> src/main.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use raytracer::shader::texture; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:89:28 [INFO] [stderr] | [INFO] [stderr] 89 | let world: Box>> = Box::new(vec![ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 89 - let world: Box>> = Box::new(vec![ [INFO] [stderr] 89 + let world: Box>> = Box::new(vec![ [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:83:21 [INFO] [stderr] | [INFO] [stderr] 83 | let mat_red = Material::lambertian_constant(Vec3::new(0.65,0.05,0.05)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 83 | let mat_red = ::lambertian_constant(Vec3::new(0.65,0.05,0.05)); [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:84:21 [INFO] [stderr] | [INFO] [stderr] 84 | let mat_green = Material::lambertian_constant(Vec3::new(0.12,0.45,0.15)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 84 | let mat_green = ::lambertian_constant(Vec3::new(0.12,0.45,0.15)); [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:85:21 [INFO] [stderr] | [INFO] [stderr] 85 | let mat_white = Material::lambertian_constant(Vec3::new(0.73,0.73,0.73)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 85 | let mat_white = ::lambertian_constant(Vec3::new(0.73,0.73,0.73)); [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:87:21 [INFO] [stderr] | [INFO] [stderr] 87 | let mat_light = Material::diffuse_light_constant(Vec3::new(5.0,5.0,5.0)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 87 | let mat_light = ::diffuse_light_constant(Vec3::new(5.0,5.0,5.0)); [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:88:21 [INFO] [stderr] | [INFO] [stderr] 88 | let mat_iso = Material::isotropic_constant(Vec3::new(1.0,1.0,1.0)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 88 | let mat_iso = ::isotropic_constant(Vec3::new(1.0,1.0,1.0)); [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mat_iso` [INFO] [stderr] --> src/main.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | let mat_iso = Material::isotropic_constant(Vec3::new(1.0,1.0,1.0)); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mat_iso` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `PNG` [INFO] [stderr] --> src/main.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | PNG [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `raytracer` (bin "raytracer" test) generated 12 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 29.64s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/raytracer-c220778e56475511) [INFO] [stdout] [INFO] [stdout] running 26 tests [INFO] [stdout] test model::bvh::tests::surrounding_box ... ok [INFO] [stdout] test model::bvh::tests::unit_aabb_hit ... ok [INFO] [stdout] test model::bvh::bvh_tests::unit_bvh ... ok [INFO] [stdout] test model::bvh::bvh_tests::bvh_miss ... ok [INFO] [stdout] test model::bvh::tests::unit_aabb_miss ... ok [INFO] [stdout] test model::bvh::bvh_tests::bvh_hit ... ok [INFO] [stdout] test model::constant_medium::tests::test_find_bounding_hits ... ok [INFO] [stdout] test ray::tests::test_point_at_parameter ... ok [INFO] [stdout] test model::sphere::tests::test_hit_unit_sphere ... ok [INFO] [stdout] test shader::material::tests::test_reflect ... ok [INFO] [stdout] test vec3::tests::test_add_scalar ... ok [INFO] [stdout] test vec3::tests::test_cross ... ok [INFO] [stdout] test vec3::tests::test_div_scalar ... ok [INFO] [stdout] test vec3::tests::test_dot ... ok [INFO] [stdout] test vec3::tests::test_length ... ok [INFO] [stdout] test vec3::tests::test_mul_scalar ... ok [INFO] [stdout] test vec3::tests::test_normalized ... ok [INFO] [stdout] test vec3::tests::test_normalized_unit ... ok [INFO] [stdout] test vec3::tests::test_rotate_x_360 ... ok [INFO] [stdout] test vec3::tests::test_rotate_x_inverse ... ok [INFO] [stdout] test vec3::tests::test_rotate_y_inverse ... ok [INFO] [stdout] test vec3::tests::test_rotate_z_inverse ... ok [INFO] [stdout] test vec3::tests::test_rotate_y_360 ... ok [INFO] [stdout] test vec3::tests::test_rotate_z_360 ... ok [INFO] [stdout] test vec3::tests::test_squared_length ... ok [INFO] [stdout] test vec3::tests::test_sub_scalar ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/raytracer-2dec2507a1ce6a55) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests raytracer [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a6761ec83a4bb22c0ac4ed19b1a570f792f36eb93148de30952ab0f282c5685d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a6761ec83a4bb22c0ac4ed19b1a570f792f36eb93148de30952ab0f282c5685d", kill_on_drop: false }` [INFO] [stdout] a6761ec83a4bb22c0ac4ed19b1a570f792f36eb93148de30952ab0f282c5685d