[INFO] updating cached repository seenaburns/raytracer [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/seenaburns/raytracer [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/seenaburns/raytracer" "work/ex/beta-1.38-1/sources/1.37.0/gh/seenaburns/raytracer"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/1.37.0/gh/seenaburns/raytracer'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/seenaburns/raytracer" "work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/seenaburns/raytracer"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/seenaburns/raytracer'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 7da8434a5151bdb590e0763b0fd62ab95fa05cda [INFO] sha for GitHub repo seenaburns/raytracer: 7da8434a5151bdb590e0763b0fd62ab95fa05cda [INFO] validating manifest of seenaburns/raytracer on toolchain 1.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of seenaburns/raytracer on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing seenaburns/raytracer [INFO] finished frobbing seenaburns/raytracer [INFO] frobbed toml for seenaburns/raytracer written to work/ex/beta-1.38-1/sources/1.37.0/gh/seenaburns/raytracer/Cargo.toml [INFO] started frobbing seenaburns/raytracer [INFO] finished frobbing seenaburns/raytracer [INFO] frobbed toml for seenaburns/raytracer written to work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/seenaburns/raytracer/Cargo.toml [INFO] crate seenaburns/raytracer already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing seenaburns/raytracer against 1.37.0 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-5/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/seenaburns/raytracer:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "build" "--frozen"` [INFO] [stdout] a0f1ed993233ddeecc15538925d2a89b810afbda90c265365a8a0b0a297612ac [INFO] running `"docker" "start" "-a" "a0f1ed993233ddeecc15538925d2a89b810afbda90c265365a8a0b0a297612ac"` [INFO] [stderr] Compiling rayon v0.8.2 [INFO] [stderr] Compiling png v0.8.0 [INFO] [stderr] Compiling jpeg-decoder v0.1.13 [INFO] [stderr] Compiling image v0.14.0 [INFO] [stderr] Compiling raytracer v0.1.0 (/opt/crater/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: consider prefixing 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: consider prefixing 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: consider prefixing 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: consider prefixing 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: consider prefixing with an underscore: `_p` [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 outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [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: consider prefixing 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] Finished dev [unoptimized + debuginfo] target(s) in 26.52s [INFO] running `"docker" "inspect" "a0f1ed993233ddeecc15538925d2a89b810afbda90c265365a8a0b0a297612ac"` [INFO] running `"docker" "rm" "-f" "a0f1ed993233ddeecc15538925d2a89b810afbda90c265365a8a0b0a297612ac"` [INFO] [stdout] a0f1ed993233ddeecc15538925d2a89b810afbda90c265365a8a0b0a297612ac [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-5/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/seenaburns/raytracer:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "test" "--frozen" "--no-run"` [INFO] [stdout] 5a45ebfa6f04b95193b7d011a4bf76807b4b8cbc2f3997162fce60169986c72c [INFO] running `"docker" "start" "-a" "5a45ebfa6f04b95193b7d011a4bf76807b4b8cbc2f3997162fce60169986c72c"` [INFO] [stderr] Compiling raytracer v0.1.0 (/opt/crater/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 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: consider prefixing 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: 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: consider prefixing 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: consider prefixing 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: consider prefixing 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: consider prefixing 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: consider prefixing with an underscore: `_p` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_perlin_generate` [INFO] [stderr] --> src/shader/texture.rs:254:5 [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: 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 outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.62s [INFO] running `"docker" "inspect" "5a45ebfa6f04b95193b7d011a4bf76807b4b8cbc2f3997162fce60169986c72c"` [INFO] running `"docker" "rm" "-f" "5a45ebfa6f04b95193b7d011a4bf76807b4b8cbc2f3997162fce60169986c72c"` [INFO] [stdout] 5a45ebfa6f04b95193b7d011a4bf76807b4b8cbc2f3997162fce60169986c72c [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-5/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/seenaburns/raytracer:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "test" "--frozen"` [INFO] [stdout] 85673be8735921b259742796a38f778d372effe1182bc68fef11183c714bfef8 [INFO] running `"docker" "start" "-a" "85673be8735921b259742796a38f778d372effe1182bc68fef11183c714bfef8"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running /opt/crater/target/debug/deps/raytracer-1bf931c13c8dd190 [INFO] [stdout] [INFO] [stderr] Running /opt/crater/target/debug/deps/raytracer-d22834f0d77e33a2 [INFO] [stdout] running 26 tests [INFO] [stdout] test model::constant_medium::tests::test_find_bounding_hits ... ok [INFO] [stdout] test model::sphere::tests::test_hit_unit_sphere ... ok [INFO] [stdout] test model::bvh::tests::unit_aabb_miss ... ok [INFO] [stdout] test model::bvh::tests::unit_aabb_hit ... ok [INFO] [stdout] test model::bvh::tests::surrounding_box ... ok [INFO] [stdout] test model::bvh::bvh_tests::unit_bvh ... ok [INFO] [stdout] test ray::tests::test_point_at_parameter ... ok [INFO] [stdout] test shader::material::tests::test_reflect ... ok [INFO] [stdout] test vec3::tests::test_add_scalar ... ok [INFO] [stdout] test model::bvh::bvh_tests::bvh_miss ... ok [INFO] [stdout] test vec3::tests::test_cross ... ok [INFO] [stdout] test vec3::tests::test_div_scalar ... ok [INFO] [stdout] test vec3::tests::test_dot ... ok [INFO] [stdout] test vec3::tests::test_length ... ok [INFO] [stdout] test vec3::tests::test_mul_scalar ... ok [INFO] [stdout] test vec3::tests::test_normalized ... ok [INFO] [stdout] test vec3::tests::test_normalized_unit ... ok [INFO] [stdout] test vec3::tests::test_rotate_x_360 ... ok [INFO] [stdout] test vec3::tests::test_rotate_x_inverse ... ok [INFO] [stdout] test model::bvh::bvh_tests::bvh_hit ... ok [INFO] [stdout] test vec3::tests::test_rotate_y_360 ... ok [INFO] [stdout] test vec3::tests::test_rotate_y_inverse ... ok [INFO] [stdout] test vec3::tests::test_rotate_z_360 ... ok [INFO] [stdout] test vec3::tests::test_rotate_z_inverse ... ok [INFO] [stdout] test vec3::tests::test_squared_length ... ok [INFO] [stdout] test vec3::tests::test_sub_scalar ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [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" "85673be8735921b259742796a38f778d372effe1182bc68fef11183c714bfef8"` [INFO] running `"docker" "rm" "-f" "85673be8735921b259742796a38f778d372effe1182bc68fef11183c714bfef8"` [INFO] [stdout] 85673be8735921b259742796a38f778d372effe1182bc68fef11183c714bfef8