[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] checking seenaburns/raytracer against try#f47dd4da3ae8c32c9e65d307bfe640b143e674df for pr-77526 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseenaburns%2Fraytracer" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/seenaburns/raytracer on toolchain f47dd4da3ae8c32c9e65d307bfe640b143e674df [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "read-manifest" "--manifest-path" "Cargo.toml", 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-4/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" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded redox_syscall v0.1.29 [INFO] [stderr] Downloaded gif v0.9.2 [INFO] [stderr] Downloaded jpeg-decoder v0.1.13 [INFO] [stderr] Downloaded rayon v0.8.2 [INFO] [stderr] Downloaded png v0.8.0 [INFO] [stderr] Downloaded rayon-core v1.2.1 [INFO] [stderr] Downloaded deflate v0.7.14 [INFO] [stderr] Downloaded scopeguard v0.3.2 [INFO] [stderr] Downloaded image v0.14.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0bcf0b8d5de2af984cc6891fbcad4bdf5a870cf827dcedb2b792bb3a846d248a [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "0bcf0b8d5de2af984cc6891fbcad4bdf5a870cf827dcedb2b792bb3a846d248a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0bcf0b8d5de2af984cc6891fbcad4bdf5a870cf827dcedb2b792bb3a846d248a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0bcf0b8d5de2af984cc6891fbcad4bdf5a870cf827dcedb2b792bb3a846d248a", kill_on_drop: false }` [INFO] [stdout] 0bcf0b8d5de2af984cc6891fbcad4bdf5a870cf827dcedb2b792bb3a846d248a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d6550b80b09b30edd24da31c9c36927248d4c2473245a0c8d68567db758f461c [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "d6550b80b09b30edd24da31c9c36927248d4c2473245a0c8d68567db758f461c", kill_on_drop: false }` [INFO] [stderr] Checking libc v0.2.26 [INFO] [stderr] Checking either v1.1.0 [INFO] [stderr] Checking futures v0.1.14 [INFO] [stderr] Checking adler32 v1.0.0 [INFO] [stderr] Checking inflate v0.2.0 [INFO] [stderr] Checking lzw v0.10.0 [INFO] [stderr] Checking scoped_threadpool v0.1.7 [INFO] [stderr] Checking deflate v0.7.14 [INFO] [stderr] Checking coco v0.1.1 [INFO] [stderr] Checking gif v0.9.2 [INFO] [stderr] Checking rand v0.3.15 [INFO] [stderr] Checking num_cpus v1.6.2 [INFO] [stderr] Checking time v0.1.38 [INFO] [stderr] Checking png v0.8.0 [INFO] [stderr] Checking rayon-core v1.2.1 [INFO] [stderr] Checking rayon v0.8.2 [INFO] [stderr] Checking jpeg-decoder v0.1.13 [INFO] [stderr] Checking image v0.14.0 [INFO] [stderr] Checking raytracer v0.1.0 (/opt/rustwide/workdir) [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] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:102:35 [INFO] [stdout] | [INFO] [stdout] 102 | fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [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] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderable + Sync` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderable + Sync` [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] | ^^^^^^^^^^^^ help: use `dyn`: `dyn bvh::BVHItem` [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] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64) -> f64` [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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64` [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] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:102:35 [INFO] [stdout] | [INFO] [stdout] 102 | fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [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] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderable + Sync` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderable + Sync` [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] | ^^^^^^^^^^^^ help: use `dyn`: `dyn bvh::BVHItem` [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] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64) -> f64` [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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64` [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: 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 currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stdout] --> src/util.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | AXIS.into_iter() [INFO] [stdout] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #66145 [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 currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stdout] --> src/util.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | AXIS.into_iter() [INFO] [stdout] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #66145 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 34 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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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: 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: 7 warnings emitted [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: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 15.94s [INFO] running `Command { std: "docker" "inspect" "d6550b80b09b30edd24da31c9c36927248d4c2473245a0c8d68567db758f461c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d6550b80b09b30edd24da31c9c36927248d4c2473245a0c8d68567db758f461c", kill_on_drop: false }` [INFO] [stdout] d6550b80b09b30edd24da31c9c36927248d4c2473245a0c8d68567db758f461c