[INFO] updating cached repository https://github.com/seenaburns/raytracer [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 7da8434a5151bdb590e0763b0fd62ab95fa05cda [INFO] testing seenaburns/raytracer against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseenaburns%2Fraytracer" "/workspace/builds/worker-14/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-14/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/seenaburns/raytracer on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [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-14/source/Cargo.toml [INFO] crate git repo https://github.com/seenaburns/raytracer already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 615c41ffd047a513629939702e3d2a4becbf139f0fb46fb588bf0901fa0c9734 [INFO] running `"docker" "start" "-a" "615c41ffd047a513629939702e3d2a4becbf139f0fb46fb588bf0901fa0c9734"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling raytracer v0.1.0 (/opt/rustwide/workdir) [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] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:102:35 [INFO] [stderr] | [INFO] [stderr] 102 | fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [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] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [INFO] [stderr] [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderable + Sync` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderable + Sync` [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] | ^^^^^^^^^^^^ help: use `dyn`: `dyn bvh::BVHItem` [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] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64) -> f64` [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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64` [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 currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/util.rs:14:14 [INFO] [stderr] | [INFO] [stderr] 14 | AXIS.into_iter() [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(array_into_iter)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 33 warnings emitted [INFO] [stderr] [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [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: 7 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 8.36s [INFO] running `"docker" "inspect" "615c41ffd047a513629939702e3d2a4becbf139f0fb46fb588bf0901fa0c9734"` [INFO] running `"docker" "rm" "-f" "615c41ffd047a513629939702e3d2a4becbf139f0fb46fb588bf0901fa0c9734"` [INFO] [stdout] 615c41ffd047a513629939702e3d2a4becbf139f0fb46fb588bf0901fa0c9734 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 31eb305c72bdae24849263586fdb994b507c3d7a02e5490ee6bdda0a380466c1 [INFO] running `"docker" "start" "-a" "31eb305c72bdae24849263586fdb994b507c3d7a02e5490ee6bdda0a380466c1"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [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] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:102:35 [INFO] [stderr] | [INFO] [stderr] 102 | fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [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] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [INFO] [stderr] [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderable + Sync` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderable + Sync` [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] | ^^^^^^^^^^^^ help: use `dyn`: `dyn bvh::BVHItem` [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] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64) -> f64` [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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64` [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 currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/util.rs:14:14 [INFO] [stderr] | [INFO] [stderr] 14 | AXIS.into_iter() [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(array_into_iter)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 33 warnings emitted [INFO] [stderr] [INFO] [stderr] Compiling raytracer v0.1.0 (/opt/rustwide/workdir) [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [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: 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] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:102:35 [INFO] [stderr] | [INFO] [stderr] 102 | fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [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] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [INFO] [stderr] [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderable + Sync` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderable + Sync` [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] | ^^^^^^^^^^^^ help: use `dyn`: `dyn bvh::BVHItem` [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] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64) -> f64` [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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64` [INFO] [stderr] [INFO] [stderr] warning: 7 warnings emitted [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: 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: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/util.rs:14:14 [INFO] [stderr] | [INFO] [stderr] 14 | AXIS.into_iter() [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(array_into_iter)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 34 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.96s [INFO] running `"docker" "inspect" "31eb305c72bdae24849263586fdb994b507c3d7a02e5490ee6bdda0a380466c1"` [INFO] running `"docker" "rm" "-f" "31eb305c72bdae24849263586fdb994b507c3d7a02e5490ee6bdda0a380466c1"` [INFO] [stdout] 31eb305c72bdae24849263586fdb994b507c3d7a02e5490ee6bdda0a380466c1 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 3de69deed0c81fa2211c90f2838063d945e3fcd0748125f0d4e709698e82c8fb [INFO] running `"docker" "start" "-a" "3de69deed0c81fa2211c90f2838063d945e3fcd0748125f0d4e709698e82c8fb"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [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] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/bvh.rs:102:35 [INFO] [stderr] | [INFO] [stderr] 102 | fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [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] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [INFO] [stderr] [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^^^^ help: use `dyn`: `dyn BoundingBox` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [INFO] [stderr] [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderable + Sync` [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] | ^^^^^^^ help: use `dyn`: `dyn BVHItem` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderable + Sync` [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] | ^^^^^^^ help: use `dyn`: `dyn Hitable` [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] | ^^^^^^^^^^^^ help: use `dyn`: `dyn bvh::BVHItem` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64) -> f64` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64` [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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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: 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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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: 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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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: 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] | ^^^^^^^^ help: use `dyn`: `dyn Material` [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: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/render.rs:40:16 [INFO] [stderr] | [INFO] [stderr] 40 | scene: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderable + Sync` [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: 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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [INFO] [stderr] [INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/util.rs:14:14 [INFO] [stderr] | [INFO] [stderr] 14 | AXIS.into_iter() [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(array_into_iter)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: 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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [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] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderable + Sync` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 33 warnings emitted [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] | ^^^^^^^^^^^^ help: use `dyn`: `dyn bvh::BVHItem` [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] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64) -> f64` [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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64, f64) -> f64` [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: 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: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/util.rs:14:14 [INFO] [stderr] | [INFO] [stderr] 14 | AXIS.into_iter() [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(array_into_iter)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::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 a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 34 warnings emitted [INFO] [stderr] [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] | ^^^^^^^^^^ help: use `dyn`: `dyn Renderable` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [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: 7 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.26s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/raytracer-718f340a79ff83fd [INFO] [stdout] [INFO] [stdout] running 26 tests [INFO] [stdout] test vec3::tests::test_div_scalar ... ok [INFO] [stdout] test vec3::tests::test_mul_scalar ... ok [INFO] [stdout] test vec3::tests::test_cross ... ok [INFO] [stdout] test vec3::tests::test_length ... ok [INFO] [stdout] test model::bvh::tests::surrounding_box ... ok [INFO] [stdout] test vec3::tests::test_add_scalar ... ok [INFO] [stdout] test model::bvh::tests::unit_aabb_miss ... ok [INFO] [stdout] test shader::material::tests::test_reflect ... ok [INFO] [stdout] test model::bvh::tests::unit_aabb_hit ... ok [INFO] [stdout] test vec3::tests::test_dot ... ok [INFO] [stdout] test model::bvh::bvh_tests::bvh_miss ... ok [INFO] [stdout] test ray::tests::test_point_at_parameter ... ok [INFO] [stdout] test vec3::tests::test_normalized_unit ... ok [INFO] [stdout] test vec3::tests::test_normalized ... ok [INFO] [stdout] test vec3::tests::test_squared_length ... ok [INFO] [stdout] test model::sphere::tests::test_hit_unit_sphere ... ok [INFO] [stdout] test model::constant_medium::tests::test_find_bounding_hits ... ok [INFO] [stdout] test vec3::tests::test_sub_scalar ... ok [INFO] [stdout] test vec3::tests::test_rotate_x_360 ... ok [INFO] [stdout] test vec3::tests::test_rotate_z_360 ... ok [INFO] [stdout] test vec3::tests::test_rotate_y_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 model::bvh::bvh_tests::bvh_hit ... ok [INFO] [stdout] test model::bvh::bvh_tests::unit_bvh ... ok [INFO] [stderr] Running /opt/rustwide/target/debug/deps/raytracer-b312db74a6fc5b85 [INFO] [stdout] [INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Doc-tests raytracer [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [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 [INFO] [stdout] [INFO] running `"docker" "inspect" "3de69deed0c81fa2211c90f2838063d945e3fcd0748125f0d4e709698e82c8fb"` [INFO] running `"docker" "rm" "-f" "3de69deed0c81fa2211c90f2838063d945e3fcd0748125f0d4e709698e82c8fb"` [INFO] [stdout] 3de69deed0c81fa2211c90f2838063d945e3fcd0748125f0d4e709698e82c8fb