[INFO] updating cached repository https://github.com/rlupton20/yars-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] 88d606611dd91b24ffed565271196d0d48193d47 [INFO] testing rlupton20/yars-raytracer against beta-2020-06-03 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frlupton20%2Fyars-raytracer" "/workspace/builds/worker-9/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/rlupton20/yars-raytracer on toolchain beta-2020-06-03 [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/rlupton20/yars-raytracer [INFO] finished tweaking git repo https://github.com/rlupton20/yars-raytracer [INFO] tweaked toml for git repo https://github.com/rlupton20/yars-raytracer written to /workspace/builds/worker-9/source/Cargo.toml [INFO] crate git repo https://github.com/rlupton20/yars-raytracer already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "+beta-2020-06-03" "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] 34ce54a8b8b2b29db46b0e2900ed25f45e2bdcd898ff9b92c8f968cb7ac53f99 [INFO] running `"docker" "start" "-a" "34ce54a8b8b2b29db46b0e2900ed25f45e2bdcd898ff9b92c8f968cb7ac53f99"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling libc v0.2.17 [INFO] [stderr] Compiling num-traits v0.1.36 [INFO] [stderr] Compiling gcc v0.3.38 [INFO] [stderr] Compiling rustc-serialize v0.3.20 [INFO] [stderr] Compiling bitflags v0.7.0 [INFO] [stderr] Compiling color_quant v1.0.0 [INFO] [stderr] Compiling byteorder v0.5.3 [INFO] [stderr] Compiling inflate v0.1.1 [INFO] [stderr] Compiling scoped_threadpool v0.1.7 [INFO] [stderr] Compiling rand v0.3.14 [INFO] [stderr] Compiling num_cpus v1.1.0 [INFO] [stderr] Compiling gif v0.9.0 [INFO] [stderr] Compiling miniz-sys v0.1.7 [INFO] [stderr] Compiling num-integer v0.1.32 [INFO] [stderr] Compiling num-iter v0.1.32 [INFO] [stderr] Compiling num v0.1.36 [INFO] [stderr] Compiling enum_primitive v0.1.0 [INFO] [stderr] Compiling deque v0.3.1 [INFO] [stderr] Compiling rayon v0.5.0 [INFO] [stderr] Compiling flate2 v0.2.14 [INFO] [stderr] Compiling png v0.5.2 [INFO] [stderr] Compiling num-bigint v0.1.35 [INFO] [stderr] Compiling jpeg-decoder v0.1.8 [INFO] [stderr] Compiling num-rational v0.1.35 [INFO] [stderr] Compiling image v0.10.3 [INFO] [stderr] Compiling yars-raytracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `std::vec::Vec` [INFO] [stderr] --> src/space_algebra/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::vec::Vec; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `InnerProductSpace` [INFO] [stderr] --> src/ray/mod.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | use algebra::{InnerProductSpace, Real}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:37:41 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn intersection(&self, object: &Intersectable) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable` [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/ray/mod.rs:41:33 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn hits(&self, object: &Intersectable) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:45:50 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn trace<'a>(&self, objects: &'a Vec>) -> Option> { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: unused import: `algebra::InnerProductSpace` [INFO] [stderr] --> src/camera/mod.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use algebra::InnerProductSpace; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f64::consts::PI` [INFO] [stderr] --> src/camera/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::f64::consts::PI; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `image::Rgb` [INFO] [stderr] --> src/materials/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use image::Rgb; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `image::Rgb` [INFO] [stderr] --> src/shapes/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use image::Rgb; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `shapes::Sphere` [INFO] [stderr] --> src/shade/mod.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use shapes::Sphere; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ray`, `Shadable` [INFO] [stderr] --> src/shade/mod.rs:7:11 [INFO] [stderr] | [INFO] [stderr] 7 | use ray::{Ray, ShadeCell, Shadable}; [INFO] [stderr] | ^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Add`, `Mul` [INFO] [stderr] --> src/shade/mod.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | use std::ops::{Add, Mul}; [INFO] [stderr] | ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shade/mod.rs:93:27 [INFO] [stderr] | [INFO] [stderr] 93 | let adjust = |f: &Fn(Rgb) -> u8, a : f64| approx(a * (f(c) as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rgb) -> u8` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:18:27 [INFO] [stderr] | [INFO] [stderr] 18 | pub objects : Vec>, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:23:60 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn illuminates(&self, p : Vec3, objects : &Vec>) -> bool { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raytrace/mod.rs:46:27 [INFO] [stderr] | [INFO] [stderr] 46 | let adjust = |f: &Fn(Rgb) -> u8, a : f64| approx(a * (f(c) as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rgb) -> u8` [INFO] [stderr] [INFO] [stderr] warning: unused import: `algebra::Group` [INFO] [stderr] --> src/space_algebra/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use algebra::Group; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/raytrace/mod.rs:21:28 [INFO] [stderr] | [INFO] [stderr] 21 | .filter(|&(i,op_col)| op_col.is_some()) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/camera/mod.rs:71:17 [INFO] [stderr] | [INFO] [stderr] 71 | assert!(x >= 0); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/camera/mod.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | assert!(y >= 0); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 20 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused import: `yars_raytracer::algebra::InnerProductSpace` [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use yars_raytracer::algebra::InnerProductSpace; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `yars_raytracer::ray::Orientable` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use yars_raytracer::ray::Orientable; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Shader` [INFO] [stderr] --> src/main.rs:13:29 [INFO] [stderr] | [INFO] [stderr] 13 | use yars_raytracer::shade::{Shader, PhongShader}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ray`, `ShadeCell` [INFO] [stderr] --> src/main.rs:19:27 [INFO] [stderr] | [INFO] [stderr] 19 | use yars_raytracer::ray::{Ray, Shadable, ShadeCell}; [INFO] [stderr] | ^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:54:86 [INFO] [stderr] | [INFO] [stderr] 54 | Box::new(Plane::new(Vec3(1.0, 0.0, 0.0), Vec3(0.0, 0.0, 1.0), slate)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:55:80 [INFO] [stderr] | [INFO] [stderr] 55 | let sphere = Box::new(Sphere::new(Vec3(0.0, -1.0, 5.0), 1.0, mat1)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:56:79 [INFO] [stderr] | [INFO] [stderr] 56 | let obst = Box::new(Sphere::new(Vec3(-2.0, -0.5, 4.0), 0.5, mat2)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a_colour` [INFO] [stderr] --> src/main.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let a_colour = Rgb([255 as u8; 3]); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_colour` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `WIDTH` should have a snake case name [INFO] [stderr] --> src/main.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | let WIDTH = 800; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `width` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `HEIGHT` should have a snake case name [INFO] [stderr] --> src/main.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | let HEIGHT = 600; [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `height` [INFO] [stderr] [INFO] [stderr] warning: variable `OUTPUT` should have a snake case name [INFO] [stderr] --> src/main.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | let OUTPUT = "output.png"; [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `output` [INFO] [stderr] [INFO] [stderr] warning: 11 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 25.95s [INFO] running `"docker" "inspect" "34ce54a8b8b2b29db46b0e2900ed25f45e2bdcd898ff9b92c8f968cb7ac53f99"` [INFO] running `"docker" "rm" "-f" "34ce54a8b8b2b29db46b0e2900ed25f45e2bdcd898ff9b92c8f968cb7ac53f99"` [INFO] [stdout] 34ce54a8b8b2b29db46b0e2900ed25f45e2bdcd898ff9b92c8f968cb7ac53f99 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "+beta-2020-06-03" "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] ac2f4020351017aaa7fb08a53e1039b9b4b5a14503025d9128b4a028e699dba9 [INFO] running `"docker" "start" "-a" "ac2f4020351017aaa7fb08a53e1039b9b4b5a14503025d9128b4a028e699dba9"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: unused import: `std::vec::Vec` [INFO] [stderr] --> src/space_algebra/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::vec::Vec; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `InnerProductSpace` [INFO] [stderr] --> src/ray/mod.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | use algebra::{InnerProductSpace, Real}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:37:41 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn intersection(&self, object: &Intersectable) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable` [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/ray/mod.rs:41:33 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn hits(&self, object: &Intersectable) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:45:50 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn trace<'a>(&self, objects: &'a Vec>) -> Option> { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: unused import: `algebra::InnerProductSpace` [INFO] [stderr] --> src/camera/mod.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use algebra::InnerProductSpace; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f64::consts::PI` [INFO] [stderr] --> src/camera/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::f64::consts::PI; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `image::Rgb` [INFO] [stderr] --> src/materials/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use image::Rgb; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `image::Rgb` [INFO] [stderr] --> src/shapes/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use image::Rgb; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `shapes::Sphere` [INFO] [stderr] --> src/shade/mod.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use shapes::Sphere; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ray`, `Shadable` [INFO] [stderr] --> src/shade/mod.rs:7:11 [INFO] [stderr] | [INFO] [stderr] 7 | use ray::{Ray, ShadeCell, Shadable}; [INFO] [stderr] | ^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Add`, `Mul` [INFO] [stderr] --> src/shade/mod.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | use std::ops::{Add, Mul}; [INFO] [stderr] | ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shade/mod.rs:93:27 [INFO] [stderr] | [INFO] [stderr] 93 | let adjust = |f: &Fn(Rgb) -> u8, a : f64| approx(a * (f(c) as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rgb) -> u8` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:18:27 [INFO] [stderr] | [INFO] [stderr] 18 | pub objects : Vec>, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:23:60 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn illuminates(&self, p : Vec3, objects : &Vec>) -> bool { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raytrace/mod.rs:46:27 [INFO] [stderr] | [INFO] [stderr] 46 | let adjust = |f: &Fn(Rgb) -> u8, a : f64| approx(a * (f(c) as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rgb) -> u8` [INFO] [stderr] [INFO] [stderr] warning: unused import: `algebra::Group` [INFO] [stderr] --> src/space_algebra/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use algebra::Group; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/raytrace/mod.rs:21:28 [INFO] [stderr] | [INFO] [stderr] 21 | .filter(|&(i,op_col)| op_col.is_some()) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/camera/mod.rs:71:17 [INFO] [stderr] | [INFO] [stderr] 71 | assert!(x >= 0); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/camera/mod.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | assert!(y >= 0); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 20 warnings emitted [INFO] [stderr] [INFO] [stderr] Compiling yars-raytracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `yars_raytracer::algebra::InnerProductSpace` [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use yars_raytracer::algebra::InnerProductSpace; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `yars_raytracer::ray::Orientable` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use yars_raytracer::ray::Orientable; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Shader` [INFO] [stderr] --> src/main.rs:13:29 [INFO] [stderr] | [INFO] [stderr] 13 | use yars_raytracer::shade::{Shader, PhongShader}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ray`, `ShadeCell` [INFO] [stderr] --> src/main.rs:19:27 [INFO] [stderr] | [INFO] [stderr] 19 | use yars_raytracer::ray::{Ray, Shadable, ShadeCell}; [INFO] [stderr] | ^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:54:86 [INFO] [stderr] | [INFO] [stderr] 54 | Box::new(Plane::new(Vec3(1.0, 0.0, 0.0), Vec3(0.0, 0.0, 1.0), slate)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:55:80 [INFO] [stderr] | [INFO] [stderr] 55 | let sphere = Box::new(Sphere::new(Vec3(0.0, -1.0, 5.0), 1.0, mat1)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:56:79 [INFO] [stderr] | [INFO] [stderr] 56 | let obst = Box::new(Sphere::new(Vec3(-2.0, -0.5, 4.0), 0.5, mat2)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a_colour` [INFO] [stderr] --> src/main.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let a_colour = Rgb([255 as u8; 3]); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_colour` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `WIDTH` should have a snake case name [INFO] [stderr] --> src/main.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | let WIDTH = 800; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `width` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `HEIGHT` should have a snake case name [INFO] [stderr] --> src/main.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | let HEIGHT = 600; [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `height` [INFO] [stderr] [INFO] [stderr] warning: variable `OUTPUT` should have a snake case name [INFO] [stderr] --> src/main.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | let OUTPUT = "output.png"; [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `output` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::vec::Vec` [INFO] [stderr] --> src/space_algebra/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::vec::Vec; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `InnerProductSpace` [INFO] [stderr] --> src/ray/mod.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | use algebra::{InnerProductSpace, Real}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:37:41 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn intersection(&self, object: &Intersectable) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable` [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/ray/mod.rs:41:33 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn hits(&self, object: &Intersectable) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:45:50 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn trace<'a>(&self, objects: &'a Vec>) -> Option> { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:105:82 [INFO] [stderr] | [INFO] [stderr] 105 | let sphere_1 = Box::new(Sphere::simple(Vec3(0.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:106:82 [INFO] [stderr] | [INFO] [stderr] 106 | let sphere_2 = Box::new(Sphere::simple(Vec3(3.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:123:80 [INFO] [stderr] | [INFO] [stderr] 123 | let sphere = Box::new(Sphere::simple(Vec3(0.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:137:80 [INFO] [stderr] | [INFO] [stderr] 137 | let sphere = Box::new(Sphere::simple(Vec3(0.0, 0.0, 3.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:138:79 [INFO] [stderr] | [INFO] [stderr] 138 | let obst = Box::new(Sphere::simple(Vec3(-3.0, 0.0, 3.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: unused import: `image::Rgb` [INFO] [stderr] --> src/materials/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use image::Rgb; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `image::Rgb` [INFO] [stderr] --> src/shapes/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use image::Rgb; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Add`, `Mul` [INFO] [stderr] --> src/shade/mod.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | use std::ops::{Add, Mul}; [INFO] [stderr] | ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shade/mod.rs:93:27 [INFO] [stderr] | [INFO] [stderr] 93 | let adjust = |f: &Fn(Rgb) -> u8, a : f64| approx(a * (f(c) as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rgb) -> u8` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shade/mod.rs:161:76 [INFO] [stderr] | [INFO] [stderr] 161 | let sphere = Box::new(Sphere::simple(Vec3(0.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/shade/mod.rs:186:9 [INFO] [stderr] | [INFO] [stderr] 186 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `image::Rgb` [INFO] [stderr] --> src/shade/mod.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | use image::Rgb; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `vector3d::Vec3` [INFO] [stderr] --> src/shade/mod.rs:188:9 [INFO] [stderr] | [INFO] [stderr] 188 | use vector3d::Vec3; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:18:27 [INFO] [stderr] | [INFO] [stderr] 18 | pub objects : Vec>, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:23:60 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn illuminates(&self, p : Vec3, objects : &Vec>) -> bool { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:51:80 [INFO] [stderr] | [INFO] [stderr] 51 | let sphere = Box::new(Sphere::simple(Vec3(0.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:65:80 [INFO] [stderr] | [INFO] [stderr] 65 | let sphere = Box::new(Sphere::simple(Vec3(0.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:79:80 [INFO] [stderr] | [INFO] [stderr] 79 | let sphere = Box::new(Sphere::simple(Vec3(0.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:93:80 [INFO] [stderr] | [INFO] [stderr] 93 | let sphere = Box::new(Sphere::simple(Vec3(0.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:94:81 [INFO] [stderr] | [INFO] [stderr] 94 | let hidden = Box::new(Sphere::simple(Vec3(-5.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raytrace/mod.rs:46:27 [INFO] [stderr] | [INFO] [stderr] 46 | let adjust = |f: &Fn(Rgb) -> u8, a : f64| approx(a * (f(c) as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rgb) -> u8` [INFO] [stderr] [INFO] [stderr] warning: unused import: `algebra::Group` [INFO] [stderr] --> src/space_algebra/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use algebra::Group; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/raytrace/mod.rs:21:28 [INFO] [stderr] | [INFO] [stderr] 21 | .filter(|&(i,op_col)| op_col.is_some()) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 11 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: function `test_SO3_multiplication` should have a snake case name [INFO] [stderr] --> src/space_algebra/mod.rs:94:4 [INFO] [stderr] | [INFO] [stderr] 94 | fn test_SO3_multiplication() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `test_so3_multiplication` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `test_SO3_multiply_vector` should have a snake case name [INFO] [stderr] --> src/space_algebra/mod.rs:101:4 [INFO] [stderr] | [INFO] [stderr] 101 | fn test_SO3_multiply_vector() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `test_so3_multiply_vector` [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/camera/mod.rs:71:17 [INFO] [stderr] | [INFO] [stderr] 71 | assert!(x >= 0); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/camera/mod.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | assert!(y >= 0); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 32 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.76s [INFO] running `"docker" "inspect" "ac2f4020351017aaa7fb08a53e1039b9b4b5a14503025d9128b4a028e699dba9"` [INFO] running `"docker" "rm" "-f" "ac2f4020351017aaa7fb08a53e1039b9b4b5a14503025d9128b4a028e699dba9"` [INFO] [stdout] ac2f4020351017aaa7fb08a53e1039b9b4b5a14503025d9128b4a028e699dba9 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "+beta-2020-06-03" "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] a1591a602536f5d615892f350c671bf4e9eacc989cf27148d00b91dc02bcc0b3 [INFO] running `"docker" "start" "-a" "a1591a602536f5d615892f350c671bf4e9eacc989cf27148d00b91dc02bcc0b3"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: unused import: `std::vec::Vec` [INFO] [stderr] --> src/space_algebra/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::vec::Vec; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `InnerProductSpace` [INFO] [stderr] --> src/ray/mod.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | use algebra::{InnerProductSpace, Real}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:37:41 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn intersection(&self, object: &Intersectable) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable` [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/ray/mod.rs:41:33 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn hits(&self, object: &Intersectable) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:45:50 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn trace<'a>(&self, objects: &'a Vec>) -> Option> { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: unused import: `algebra::InnerProductSpace` [INFO] [stderr] --> src/camera/mod.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use algebra::InnerProductSpace; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f64::consts::PI` [INFO] [stderr] --> src/camera/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::f64::consts::PI; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `image::Rgb` [INFO] [stderr] --> src/materials/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use image::Rgb; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `image::Rgb` [INFO] [stderr] --> src/shapes/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use image::Rgb; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `shapes::Sphere` [INFO] [stderr] --> src/shade/mod.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use shapes::Sphere; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ray`, `Shadable` [INFO] [stderr] --> src/shade/mod.rs:7:11 [INFO] [stderr] | [INFO] [stderr] 7 | use ray::{Ray, ShadeCell, Shadable}; [INFO] [stderr] | ^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Add`, `Mul` [INFO] [stderr] --> src/shade/mod.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | use std::ops::{Add, Mul}; [INFO] [stderr] | ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shade/mod.rs:93:27 [INFO] [stderr] | [INFO] [stderr] 93 | let adjust = |f: &Fn(Rgb) -> u8, a : f64| approx(a * (f(c) as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rgb) -> u8` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:18:27 [INFO] [stderr] | [INFO] [stderr] 18 | pub objects : Vec>, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:23:60 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn illuminates(&self, p : Vec3, objects : &Vec>) -> bool { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raytrace/mod.rs:46:27 [INFO] [stderr] | [INFO] [stderr] 46 | let adjust = |f: &Fn(Rgb) -> u8, a : f64| approx(a * (f(c) as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rgb) -> u8` [INFO] [stderr] [INFO] [stderr] warning: unused import: `algebra::Group` [INFO] [stderr] --> src/space_algebra/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use algebra::Group; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/raytrace/mod.rs:21:28 [INFO] [stderr] | [INFO] [stderr] 21 | .filter(|&(i,op_col)| op_col.is_some()) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/camera/mod.rs:71:17 [INFO] [stderr] | [INFO] [stderr] 71 | assert!(x >= 0); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/camera/mod.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | assert!(y >= 0); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 20 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::vec::Vec` [INFO] [stderr] --> src/space_algebra/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::vec::Vec; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `InnerProductSpace` [INFO] [stderr] --> src/ray/mod.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | use algebra::{InnerProductSpace, Real}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:37:41 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn intersection(&self, object: &Intersectable) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable` [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/ray/mod.rs:41:33 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn hits(&self, object: &Intersectable) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:45:50 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn trace<'a>(&self, objects: &'a Vec>) -> Option> { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:105:82 [INFO] [stderr] | [INFO] [stderr] 105 | let sphere_1 = Box::new(Sphere::simple(Vec3(0.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:106:82 [INFO] [stderr] | [INFO] [stderr] 106 | let sphere_2 = Box::new(Sphere::simple(Vec3(3.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:123:80 [INFO] [stderr] | [INFO] [stderr] 123 | let sphere = Box::new(Sphere::simple(Vec3(0.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: unused import: `yars_raytracer::algebra::InnerProductSpace` [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use yars_raytracer::algebra::InnerProductSpace; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `yars_raytracer::ray::Orientable` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use yars_raytracer::ray::Orientable; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Shader` [INFO] [stderr] --> src/main.rs:13:29 [INFO] [stderr] | [INFO] [stderr] 13 | use yars_raytracer::shade::{Shader, PhongShader}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ray`, `ShadeCell` [INFO] [stderr] --> src/main.rs:19:27 [INFO] [stderr] | [INFO] [stderr] 19 | use yars_raytracer::ray::{Ray, Shadable, ShadeCell}; [INFO] [stderr] | ^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:54:86 [INFO] [stderr] | [INFO] [stderr] 54 | Box::new(Plane::new(Vec3(1.0, 0.0, 0.0), Vec3(0.0, 0.0, 1.0), slate)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:55:80 [INFO] [stderr] | [INFO] [stderr] 55 | let sphere = Box::new(Sphere::new(Vec3(0.0, -1.0, 5.0), 1.0, mat1)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:56:79 [INFO] [stderr] | [INFO] [stderr] 56 | let obst = Box::new(Sphere::new(Vec3(-2.0, -0.5, 4.0), 0.5, mat2)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a_colour` [INFO] [stderr] --> src/main.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let a_colour = Rgb([255 as u8; 3]); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_colour` [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/ray/mod.rs:137:80 [INFO] [stderr] | [INFO] [stderr] 137 | let sphere = Box::new(Sphere::simple(Vec3(0.0, 0.0, 3.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ray/mod.rs:138:79 [INFO] [stderr] | [INFO] [stderr] 138 | let obst = Box::new(Sphere::simple(Vec3(-3.0, 0.0, 3.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: unused import: `image::Rgb` [INFO] [stderr] --> src/materials/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use image::Rgb; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `image::Rgb` [INFO] [stderr] --> src/shapes/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use image::Rgb; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Add`, `Mul` [INFO] [stderr] --> src/shade/mod.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | use std::ops::{Add, Mul}; [INFO] [stderr] | ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shade/mod.rs:93:27 [INFO] [stderr] | [INFO] [stderr] 93 | let adjust = |f: &Fn(Rgb) -> u8, a : f64| approx(a * (f(c) as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rgb) -> u8` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shade/mod.rs:161:76 [INFO] [stderr] | [INFO] [stderr] 161 | let sphere = Box::new(Sphere::simple(Vec3(0.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/shade/mod.rs:186:9 [INFO] [stderr] | [INFO] [stderr] 186 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `image::Rgb` [INFO] [stderr] --> src/shade/mod.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | use image::Rgb; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `vector3d::Vec3` [INFO] [stderr] --> src/shade/mod.rs:188:9 [INFO] [stderr] | [INFO] [stderr] 188 | use vector3d::Vec3; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:18:27 [INFO] [stderr] | [INFO] [stderr] 18 | pub objects : Vec>, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:23:60 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn illuminates(&self, p : Vec3, objects : &Vec>) -> bool { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: variable `WIDTH` should have a snake case name [INFO] [stderr] --> src/main.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | let WIDTH = 800; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `width` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:51:80 [INFO] [stderr] | [INFO] [stderr] 51 | let sphere = Box::new(Sphere::simple(Vec3(0.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: variable `HEIGHT` should have a snake case name [INFO] [stderr] --> src/main.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | let HEIGHT = 600; [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `height` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:65:80 [INFO] [stderr] | [INFO] [stderr] 65 | let sphere = Box::new(Sphere::simple(Vec3(0.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: variable `OUTPUT` should have a snake case name [INFO] [stderr] --> src/main.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | let OUTPUT = "output.png"; [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `output` [INFO] [stderr] [INFO] [stderr] warning: 11 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:79:80 [INFO] [stderr] | [INFO] [stderr] 79 | let sphere = Box::new(Sphere::simple(Vec3(0.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:93:80 [INFO] [stderr] | [INFO] [stderr] 93 | let sphere = Box::new(Sphere::simple(Vec3(0.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scene/mod.rs:94:81 [INFO] [stderr] | [INFO] [stderr] 94 | let hidden = Box::new(Sphere::simple(Vec3(-5.0, 0.0, 0.0), 1.0)) as Box; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Shadable` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raytrace/mod.rs:46:27 [INFO] [stderr] | [INFO] [stderr] 46 | let adjust = |f: &Fn(Rgb) -> u8, a : f64| approx(a * (f(c) as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rgb) -> u8` [INFO] [stderr] [INFO] [stderr] warning: unused import: `algebra::Group` [INFO] [stderr] --> src/space_algebra/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use algebra::Group; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/raytrace/mod.rs:21:28 [INFO] [stderr] | [INFO] [stderr] 21 | .filter(|&(i,op_col)| op_col.is_some()) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `test_SO3_multiplication` should have a snake case name [INFO] [stderr] --> src/space_algebra/mod.rs:94:4 [INFO] [stderr] | [INFO] [stderr] 94 | fn test_SO3_multiplication() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `test_so3_multiplication` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `test_SO3_multiply_vector` should have a snake case name [INFO] [stderr] --> src/space_algebra/mod.rs:101:4 [INFO] [stderr] | [INFO] [stderr] 101 | fn test_SO3_multiply_vector() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `test_so3_multiply_vector` [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/camera/mod.rs:71:17 [INFO] [stderr] | [INFO] [stderr] 71 | assert!(x >= 0); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/camera/mod.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | assert!(y >= 0); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 32 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.09s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/yars_raytracer-481a846ef37f9734 [INFO] [stdout] [INFO] [stdout] running 38 tests [INFO] [stdout] test algebra::tests::test_ordering_on_real ... ok [INFO] [stdout] test scene::tests::test_light_illumination_is_not_confused_by_two_objects ... ok [INFO] [stdout] test shade::test_phong_dot_returns_zero_on_negative ... ok [INFO] [stdout] test shade::test_red_channel_getter ... ok [INFO] [stdout] test shapes::test_intersection_of_ray_and_sphere ... ok [INFO] [stdout] test shapes::test_intersection_of_ray_and_sphere_behind ... ok [INFO] [stdout] test shapes::test_orientability_of_plane ... ok [INFO] [stdout] test shapes::test_plane_intesectability ... ok [INFO] [stdout] test shapes::test_sphere_orientability ... ok [INFO] [stdout] test shade::test_green_channel_getter ... ok [INFO] [stdout] test ray::tests::test_can_detect_single_strike_in_non_colinear_objects ... ok [INFO] [stdout] test scene::tests::test_can_detect_non_interfering_object ... ok [INFO] [stdout] test camera::test_get_ray_through_pixel ... ok [INFO] [stdout] test camera::test_get_zero_ray_direction ... ok [INFO] [stdout] test shade::test_blue_channel_getter ... ok [INFO] [stdout] test scene::tests::test_light_detects_interference_in_correct_portion_of_ray ... ok [INFO] [stdout] test ray::tests::test_ray_trace_picks_correct_object ... ok [INFO] [stdout] test shade::test_gets_diffuse_at_shade_cell ... ok [INFO] [stdout] test ray::tests::test_ray_intersection_boolean ... ok [INFO] [stdout] test scene::tests::test_can_detect_interfering_object ... ok [INFO] [stdout] test ray::tests::test_ray_trace_copes_with_no_strike ... ok [INFO] [stdout] test vector3d::test_matrix_multiplication ... ok [INFO] [stdout] test vector3d::test_matrix_distance ... ok [INFO] [stdout] test vector3d::test_reflection_in_vector ... ok [INFO] [stdout] test vector3d::test_vec3_multiplies_with_scalar_correctly ... ok [INFO] [stdout] test camera::test_get_rotated_camera_direction ... ok [INFO] [stdout] test vector3d::test_get_first_row_of_matrix ... ok [INFO] [stdout] test vector3d::test_norm_of_vec3 ... ok [INFO] [stdout] test vector3d::test_multiply_vector_by_matrix ... ok [INFO] [stdout] test space_algebra::test_SO3_multiply_vector ... ok [INFO] [stdout] test vector3d::test_get_second_row_of_matrix ... ok [INFO] [stdout] test vector3d::test_get_third_row_of_matrix ... ok [INFO] [stdout] test vector3d::test_inner_product_space_for_vec3 ... ok [INFO] [stdout] test vector3d::test_components_of_vec3 ... ok [INFO] [stdout] test vector3d::test_cross_product_of_vectors ... ok [INFO] [stdout] test vector3d::test_group_structure_for_vec3 ... ok [INFO] [stdout] test vector3d::test_vec3_adds_to_vec3_correctly ... ok [INFO] [stdout] test space_algebra::test_SO3_multiplication ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/yars_raytracer-3d2115301d058097 [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] [stderr] Doc-tests yars_raytracer [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "a1591a602536f5d615892f350c671bf4e9eacc989cf27148d00b91dc02bcc0b3"` [INFO] running `"docker" "rm" "-f" "a1591a602536f5d615892f350c671bf4e9eacc989cf27148d00b91dc02bcc0b3"` [INFO] [stdout] a1591a602536f5d615892f350c671bf4e9eacc989cf27148d00b91dc02bcc0b3