[INFO] cloning repository https://github.com/melvic-ybanez/erena [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/melvic-ybanez/erena" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmelvic-ybanez%2Ferena", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmelvic-ybanez%2Ferena'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 528b34e80fc92989c369383262ccedfb48c7a3ab [INFO] testing melvic-ybanez/erena against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmelvic-ybanez%2Ferena" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/melvic-ybanez/erena [INFO] finished tweaking git repo https://github.com/melvic-ybanez/erena [INFO] tweaked toml for git repo https://github.com/melvic-ybanez/erena written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/melvic-ybanez/erena on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/melvic-ybanez/erena already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 040adf110f935c4761d2dea8f2ad22f6224c627010083cdf23e3b1f716e294e5 [INFO] running `Command { std: "docker" "start" "-a" "040adf110f935c4761d2dea8f2ad22f6224c627010083cdf23e3b1f716e294e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "040adf110f935c4761d2dea8f2ad22f6224c627010083cdf23e3b1f716e294e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "040adf110f935c4761d2dea8f2ad22f6224c627010083cdf23e3b1f716e294e5", kill_on_drop: false }` [INFO] [stdout] 040adf110f935c4761d2dea8f2ad22f6224c627010083cdf23e3b1f716e294e5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 176d5547d358379fb000dcc50a9d2983ac78ed28829e46a0e08ba99326c31171 [INFO] running `Command { std: "docker" "start" "-a" "176d5547d358379fb000dcc50a9d2983ac78ed28829e46a0e08ba99326c31171", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.107 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling ppv-lite86 v0.2.15 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling erena v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `PointLight` [INFO] [stdout] --> src/renderer.rs:9:38 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::rays::lights::{AreaLight, PointLight}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `pl_lighting`, `pattern_ref`, and `ambient` are never used [INFO] [stdout] --> src/materials/mod.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl Material { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn pl_lighting( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn pattern_ref(self, pattern: &Pattern) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn ambient(mut self, ambient: Real) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `round` is never used [INFO] [stdout] --> src/math/mod.rs:36:15 [INFO] [stdout] | [INFO] [stdout] 36 | pub(crate) fn round(value: Real, limit: u32) -> Real { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `round_to_5` is never used [INFO] [stdout] --> src/math/mod.rs:41:15 [INFO] [stdout] | [INFO] [stdout] 41 | pub(crate) fn round_to_5(value: Real) -> Real { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `two_sqrt_div_2` is never used [INFO] [stdout] --> src/math/mod.rs:56:15 [INFO] [stdout] | [INFO] [stdout] 56 | pub(crate) fn two_sqrt_div_2() -> Real { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Seq` is never constructed [INFO] [stdout] --> src/math/random.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum RandGen { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] 5 | Seq(SeqRand), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RandGen` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/math/random.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl SeqRand { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 29 | pub fn new(seq: Vec) -> SeqRand { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new44i`, `new22`, `new33`, and `round_items` are never used [INFO] [stdout] --> src/matrix/mod.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl Matrix { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | fn new44i(elements: &[i64; 16]) -> Matrix { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn new22(elements: &[Real; 4]) -> Matrix { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn new33(elements: &[Real; 9]) -> Matrix { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn round_items(&self, limit: u32) -> Matrix { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `no_inverse` is never used [INFO] [stdout] --> src/matrix/mod.rs:298:8 [INFO] [stdout] | [INFO] [stdout] 298 | pub fn no_inverse() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shearing` is never used [INFO] [stdout] --> src/matrix/transformations.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn shearing(xy: Real, xz: Real, yx: Real, yz: Real, zx: Real, zy: Real) -> Matrix { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/parsers/mod.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Statement` is never used [INFO] [stdout] --> src/parsers/mod.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum Statement { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FaceData` is never constructed [INFO] [stdout] --> src/parsers/mod.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct FaceData { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FaceData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/parsers/mod.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 39 | impl FaceData { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 40 | fn new(vs: Vec, ns: Vec) -> FaceData { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_GROUP` is never used [INFO] [stdout] --> src/parsers/mod.rs:45:11 [INFO] [stdout] | [INFO] [stdout] 45 | pub const DEFAULT_GROUP: &str = "default"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/parsers/mod.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 47 | impl Parser { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 48 | pub fn new() -> Parser { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn get_vertices(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn get_normals(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_default_group(&mut self) -> Rc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn group_default(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | fn group_faces(&mut self, name: &str, faces: Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | fn add_face_to_group(&mut self, name: &str, data: &FaceData) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn fan_triangulation(&self, data: &FaceData) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn get_group(&self, name: &str) -> Option<&Rc> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn get_group_geo(&self, name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn get_triangle(&self, name: &str, i: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn get_triangle_unsafe(&self, name: &str, i: usize) -> Triangle { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_obj` is never used [INFO] [stdout] --> src/parsers/mod.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 169 | pub fn parse_obj(read: R) -> Parser { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_statement` is never used [INFO] [stdout] --> src/parsers/mod.rs:194:4 [INFO] [stdout] | [INFO] [stdout] 194 | fn parse_statement(line: String) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_vertex` is never used [INFO] [stdout] --> src/parsers/mod.rs:206:4 [INFO] [stdout] | [INFO] [stdout] 206 | fn parse_vertex(line: SplitWhitespace) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_normal` is never used [INFO] [stdout] --> src/parsers/mod.rs:212:4 [INFO] [stdout] | [INFO] [stdout] 212 | fn parse_normal(line: SplitWhitespace) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_tuple` is never used [INFO] [stdout] --> src/parsers/mod.rs:218:4 [INFO] [stdout] | [INFO] [stdout] 218 | fn parse_tuple(line: SplitWhitespace, f: F) -> Statement [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_face` is never used [INFO] [stdout] --> src/parsers/mod.rs:237:4 [INFO] [stdout] | [INFO] [stdout] 237 | fn parse_face(line: SplitWhitespace) -> Statement { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_group` is never used [INFO] [stdout] --> src/parsers/mod.rs:272:4 [INFO] [stdout] | [INFO] [stdout] 272 | fn parse_group(mut line: SplitWhitespace) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Test` is never constructed [INFO] [stdout] --> src/patterns/mod.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum PatternType { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 22 | Test, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PatternType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `test` is never used [INFO] [stdout] --> src/patterns/mod.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl Pattern { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn test() -> Pattern { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `t` is never read [INFO] [stdout] --> src/rays/comps.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Comps<'a, S> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 11 | t: Real, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `Comps` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `prepare_default` is never used [INFO] [stdout] --> src/rays/comps.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl<'a> Comps3D<'a> { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 27 | pub fn prepare_default(hit: &'a Intersection3D, ray: &Ray) -> Comps3D<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_point` is never used [INFO] [stdout] --> src/rays/comps.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 96 | impl<'a, S> Comps<'a, S> { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn get_point(&self) -> Point { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `from_ref`, `agg`, and `from_data` are never used [INFO] [stdout] --> src/rays/intersections.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl Intersection { [INFO] [stdout] | ------------------------------------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn from_ref(t: Real, object: &Rc>) -> Intersection { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn agg(shape: &Rc>, ts: &[Real]) -> Vec> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn from_data(data: &[(Real, &Rc>)]) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `test` is never used [INFO] [stdout] --> src/rays/intersections.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 76 | impl Intersection3D { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn test() -> Intersection3D { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PointLight` is never constructed [INFO] [stdout] --> src/rays/lights.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct PointLight { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PointLight` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `intensity_at`, and `to_area_light` are never used [INFO] [stdout] --> src/rays/lights.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl PointLight { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new(position: Point, intensity: Color) -> PointLight { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn intensity_at(&self, point: Point, world: &World3D) -> Real { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn to_area_light(&self) -> AreaLight { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `default` and `get_position` are never used [INFO] [stdout] --> src/rays/lights.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl AreaLight { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn default( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn get_position(&self) -> Point { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `empty`, `is_empty`, `contains`, `add_point_light`, `update_object`, and `get_object` are never used [INFO] [stdout] --> src/scene/mod.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl World { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn empty() -> World { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn contains(&self, shape: &Object) -> bool [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn add_point_light(&mut self, point_light: PointLight) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn update_object(&mut self, i: usize, f: F) -> Object [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn get_object(&self, index: usize) -> Object [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `default`, `default_is_shadowed`, `shade_hit_default`, `reflected_color_default`, and `refracted_color_default` are never used [INFO] [stdout] --> src/scene/mod.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 92 | impl World3D { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 93 | pub(crate) fn default() -> World3D { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn default_is_shadowed(&self, point: Point) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | fn shade_hit_default(&self, comps: Comps3D) -> Color { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn reflected_color_default(&self, comps: Comps3D) -> Color { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn refracted_color_default(&self, comps: Comps3D) -> Color { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TestShape` is never constructed [INFO] [stdout] --> src/shapes/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum Geo { [INFO] [stdout] | --- variant in this enum [INFO] [stdout] 23 | Sphere, [INFO] [stdout] 24 | TestShape, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Geo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/shapes/mod.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl Shape { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn test() -> Shape { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn cylinder() -> Shape { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn cone() -> Shape { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn smooth_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn material_ref(self, material: &Material) -> Shape { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn geometry(mut self, geometry: Geo) -> Shape { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | pub fn default_normal_at(&self, world_point: Point) -> Vector { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `contains_point` and `contains_box` are never used [INFO] [stdout] --> src/shapes/bounds.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Bounds { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn contains_point(&self, point: Point) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn contains_box(&self, other: Bounds) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `empty`, `contains`, `is_empty`, `non_empty`, and `get_child` are never used [INFO] [stdout] --> src/shapes/groups.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Group { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn empty() -> Group { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn contains(&self, shape: Rc) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn non_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn get_child(&self, i: usize) -> Shape { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `not_a_group` is never used [INFO] [stdout] --> src/shapes/groups.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn not_a_group() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `glass` is never used [INFO] [stdout] --> src/shapes/spheres.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn glass() -> Shape { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `smooth`, `get_default_normal`, `get_p1`, `get_p2`, and `get_p3` are never used [INFO] [stdout] --> src/shapes/triangles.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl Triangle { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn smooth(p1: Point, p2: Point, p3: Point, n1: Vector, n2: Vector, n3: Vector) -> Triangle { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_default_normal(&self) -> Vector { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn get_p1(&self) -> Point { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn get_p2(&self) -> Point { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn get_p3(&self) -> Point { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Smooth` is never constructed [INFO] [stdout] --> src/shapes/triangles.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub enum TriangleKind { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] 122 | Regular { normal: Vector }, [INFO] [stdout] 123 | Smooth(Smooth), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TriangleKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `smooth` is never used [INFO] [stdout] --> src/shapes/triangles.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 126 | impl TriangleKind { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn smooth(n1: Vector, n2: Vector, n3: Vector) -> TriangleKind { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/shapes/triangles.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 143 | impl Smooth { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 144 | pub fn new(n1: Vector, n2: Vector, n3: Vector) -> Smooth { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_point`, `is_vector`, and `round_items` are never used [INFO] [stdout] --> src/tuples/mod.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl TupleLike { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | fn is_point(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | fn is_vector(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub(crate) fn round_items(&self) -> TupleLike { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rgbi` is never used [INFO] [stdout] --> src/tuples/mod.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 243 | pub fn rgbi(r: i32, g: i32, b: i32) -> Color { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `red` is never used [INFO] [stdout] --> src/tuples/mod.rs:266:23 [INFO] [stdout] | [INFO] [stdout] 247 | impl Color { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 266 | pub(crate) fn red() -> Color { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.57s [INFO] running `Command { std: "docker" "inspect" "176d5547d358379fb000dcc50a9d2983ac78ed28829e46a0e08ba99326c31171", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "176d5547d358379fb000dcc50a9d2983ac78ed28829e46a0e08ba99326c31171", kill_on_drop: false }` [INFO] [stdout] 176d5547d358379fb000dcc50a9d2983ac78ed28829e46a0e08ba99326c31171 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] a61c26d3fa314fefe186f82d1ea5ad688a65964160bf310ba0373ca3263ff01e [INFO] running `Command { std: "docker" "start" "-a" "a61c26d3fa314fefe186f82d1ea5ad688a65964160bf310ba0373ca3263ff01e", kill_on_drop: false }` [INFO] [stderr] Compiling erena v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `PointLight` [INFO] [stdout] --> src/renderer.rs:9:38 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::rays::lights::{AreaLight, PointLight}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `len` is never used [INFO] [stdout] --> src/parsers/mod.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 47 | impl Parser { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `intensity_at` is never used [INFO] [stdout] --> src/rays/lights.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl PointLight { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn intensity_at(&self, point: Point, world: &World3D) -> Real { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `geometry` is never used [INFO] [stdout] --> src/shapes/mod.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl Shape { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn geometry(mut self, geometry: Geo) -> Shape { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `empty` is never used [INFO] [stdout] --> src/shapes/groups.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Group { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn empty() -> Group { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rgbi` is never used [INFO] [stdout] --> src/tuples/mod.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 243 | pub fn rgbi(r: i32, g: i32, b: i32) -> Color { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.96s [INFO] running `Command { std: "docker" "inspect" "a61c26d3fa314fefe186f82d1ea5ad688a65964160bf310ba0373ca3263ff01e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a61c26d3fa314fefe186f82d1ea5ad688a65964160bf310ba0373ca3263ff01e", kill_on_drop: false }` [INFO] [stdout] a61c26d3fa314fefe186f82d1ea5ad688a65964160bf310ba0373ca3263ff01e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 9a34673c0ec0e4e49b1ce9ba9615c71eccfd3a0175d4864b22c6e8f4cd72da62 [INFO] running `Command { std: "docker" "start" "-a" "9a34673c0ec0e4e49b1ce9ba9615c71eccfd3a0175d4864b22c6e8f4cd72da62", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `PointLight` [INFO] [stderr] --> src/renderer.rs:9:38 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::rays::lights::{AreaLight, PointLight}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method `len` is never used [INFO] [stderr] --> src/parsers/mod.rs:61:12 [INFO] [stderr] | [INFO] [stderr] 47 | impl Parser { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 61 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method `intensity_at` is never used [INFO] [stderr] --> src/rays/lights.rs:23:12 [INFO] [stderr] | [INFO] [stderr] 15 | impl PointLight { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 23 | pub fn intensity_at(&self, point: Point, world: &World3D) -> Real { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `geometry` is never used [INFO] [stderr] --> src/shapes/mod.rs:173:12 [INFO] [stderr] | [INFO] [stderr] 62 | impl Shape { [INFO] [stderr] | ---------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 173 | pub fn geometry(mut self, geometry: Geo) -> Shape { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `empty` is never used [INFO] [stderr] --> src/shapes/groups.rs:24:12 [INFO] [stderr] | [INFO] [stderr] 16 | impl Group { [INFO] [stderr] | ---------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 24 | pub fn empty() -> Group { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `rgbi` is never used [INFO] [stderr] --> src/tuples/mod.rs:243:12 [INFO] [stderr] | [INFO] [stderr] 243 | pub fn rgbi(r: i32, g: i32, b: i32) -> Color { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: `erena` (bin "erena" test) generated 6 warnings (run `cargo fix --bin "erena" --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/erena-5450b24a3053f1cc) [INFO] [stdout] [INFO] [stdout] running 236 tests [INFO] [stdout] test canvas::tests::test_canvas_creation ... ok [INFO] [stdout] test canvas::tests::test_pixel_update ... ok [INFO] [stdout] test canvas::tests::test_long_lines_wrapping ... ok [INFO] [stdout] test canvas::tests::test_ppm_header ... ok [INFO] [stdout] test canvas::tests::test_ppm_pixel_data ... ok [INFO] [stdout] test materials::dielectrics::tests::test_schlick_n2_over_n1 ... ok [INFO] [stdout] test materials::tests::test_default_material ... ok [INFO] [stdout] test materials::tests::test_default_reflective ... ok [INFO] [stdout] test materials::dielectrics::tests::test_schlick_with_perpendicular_angle ... ok [INFO] [stdout] test materials::tests::test_default_transparency_and_refractive_index ... ok [INFO] [stdout] test materials::tests::test_in_reflection_path ... ok [INFO] [stdout] test materials::tests::test_lighting_behind_the_surface ... ok [INFO] [stdout] test materials::tests::test_lighting_in_between_offset_45 ... ok [INFO] [stdout] test materials::tests::test_lighting_uses_intensity ... ok [INFO] [stdout] test materials::dielectrics::tests::test_schlick_under_total_internal_reflection ... ok [INFO] [stdout] test materials::tests::test_lighting_in_between ... ok [INFO] [stdout] test math::random::tests::test_random_cyclic_sequence ... ok [INFO] [stdout] test materials::tests::test_lighting_samples_area_light ... ok [INFO] [stdout] test matrix::tests::test_2x2_determinant ... ok [INFO] [stdout] test matrix::tests::test_2x2_matrix ... ok [INFO] [stdout] test matrix::tests::test_cofactor_for_3x3 ... ok [INFO] [stdout] test matrix::tests::test_determinant_for_4x4 ... ok [INFO] [stdout] test matrix::tests::test_inverse ... ok [INFO] [stdout] test materials::tests::test_lighting_in_shadow ... ok [INFO] [stdout] test materials::tests::test_lighting_opposite_surface_offset_45 ... ok [INFO] [stdout] test matrix::tests::test_invertible ... ok [INFO] [stdout] test matrix::tests::test_matrix_equality ... ok [INFO] [stdout] test matrix::tests::test_matrix_inequality ... ok [INFO] [stdout] test matrix::tests::test_matrix_multiplication ... ok [INFO] [stdout] test matrix::tests::test_3x3_matrix ... ok [INFO] [stdout] test matrix::tests::test_4x4_matrix_creation ... ok [INFO] [stdout] test matrix::tests::test_determinant_for_3x3 ... ok [INFO] [stdout] test materials::tests::test_lighting_with_pattern ... ok [INFO] [stdout] test matrix::tests::test_identity_matrix ... ok [INFO] [stdout] test matrix::tests::test_matrix_tuple_multiplication ... ok [INFO] [stdout] test matrix::tests::test_minor_for_3x3 ... ok [INFO] [stdout] test matrix::tests::test_transposition ... ok [INFO] [stdout] test matrix::tests::test_submatrix ... ok [INFO] [stdout] test matrix::tests::test_multiply_product_by_inverse ... ok [INFO] [stdout] test matrix::tests::test_not_invertible ... ok [INFO] [stdout] test matrix::tests::transformations::test_an_arbitrary_view_transformation ... ok [INFO] [stdout] test matrix::tests::transformations::test_inverse_scaling ... ok [INFO] [stdout] test matrix::tests::transformations::test_reflection ... ok [INFO] [stdout] test matrix::tests::transformations::test_rotation_around_x ... ok [INFO] [stdout] test matrix::tests::transformations::test_rotation_around_y ... ok [INFO] [stdout] test matrix::tests::transformations::test_transformations_sequence ... ok [INFO] [stdout] test matrix::tests::transformations::test_translation ... ok [INFO] [stdout] test matrix::tests::transformations::test_translation_with_vectors ... ok [INFO] [stdout] test matrix::tests::transformations::test_scaling_with_a_point ... ok [INFO] [stdout] test matrix::tests::transformations::test_translation_inverse ... ok [INFO] [stdout] test matrix::tests::transformations::test_rotation_around_z ... ok [INFO] [stdout] test matrix::tests::transformations::test_shearing ... ok [INFO] [stdout] test matrix::tests::transformations::test_transformations_reverse_order ... ok [INFO] [stdout] test matrix::tests::transformations::test_scaling_with_a_vector ... ok [INFO] [stdout] test matrix::tests::transformations::test_inverse_x_rotation ... ok [INFO] [stdout] test matrix::tests::transformations::test_view_positive_z_direction ... ok [INFO] [stdout] test matrix::tests::transformations::test_view_transformation_moves_the_world ... ok [INFO] [stdout] test matrix::tests::transformations::test_view_default_orientation ... ok [INFO] [stdout] test parsers::tests::test_vertex_normal_records ... ok [INFO] [stdout] test parsers::tests::test_triangles_in_groups ... ok [INFO] [stdout] test parsers::tests::test_parsing_faces ... ok [INFO] [stdout] test patterns::tests::test_checkers_y_repeat ... ok [INFO] [stdout] test patterns::tests::test_checkers_z_repeat ... ok [INFO] [stdout] test patterns::tests::test_checkers_x_repeat ... ok [INFO] [stdout] test parsers::tests::test_ignoring_unrecognized_files ... ok [INFO] [stdout] test parsers::tests::test_parsing_vertex_records ... ok [INFO] [stdout] test parsers::tests::test_triangulating_polygons ... ok [INFO] [stdout] test patterns::tests::test_creating_stripe ... ok [INFO] [stdout] test patterns::tests::test_ring_extension ... ok [INFO] [stdout] test patterns::tests::test_stripe_in_x ... ok [INFO] [stdout] test patterns::tests::test_gradient_linear_interpolation ... ok [INFO] [stdout] test patterns::tests::test_stripe_in_y ... ok [INFO] [stdout] test patterns::tests::test_stripe_in_z ... ok [INFO] [stdout] test patterns::tests::test_stripes_with_both_transformation ... ok [INFO] [stdout] test rays::comps::tests::test_inside_intersection ... ok [INFO] [stdout] test rays::intersections::tests::test_hit_as_lowest_non_negative ... ok [INFO] [stdout] test parsers::tests::test_faces_with_normals ... ok [INFO] [stdout] test patterns::tests::test_stripes_with_object_transformation ... ok [INFO] [stdout] test rays::intersections::tests::test_hit_offset ... ok [INFO] [stdout] test rays::comps::tests::test_outside_intersection ... ok [INFO] [stdout] test patterns::tests::test_stripes_with_pattern_transformation ... ok [INFO] [stdout] test rays::comps::tests::test_intersection_state ... ok [INFO] [stdout] test rays::intersections::tests::test_hit_when_all_t_are_negative ... ok [INFO] [stdout] test rays::intersections::tests::test_finding_n1_and_n2 ... ok [INFO] [stdout] test rays::intersections::tests::test_hit_when_all_ts_are_positive ... ok [INFO] [stdout] test rays::intersections::tests::test_hit_when_some_ts_are_negative ... ok [INFO] [stdout] test rays::intersections::tests::test_intersection_fields ... ok [INFO] [stdout] test rays::intersections::tests::test_precompute_reflection_vector ... ok [INFO] [stdout] test rays::intersections::tests::test_under_point_offset_below ... ok [INFO] [stdout] test rays::lights::tests::test_creating_area_light ... ok [INFO] [stdout] test rays::lights::tests::test_finding_point_on_area_light ... ok [INFO] [stdout] test rays::intersections::tests::test_with_uv ... ok [INFO] [stdout] test rays::tests::test_creating_ray ... ok [INFO] [stdout] test rays::lights::tests::test_find_point_on_jittered_light ... ok [INFO] [stdout] test rays::tests::test_ray_translation ... ok [INFO] [stdout] test rays::tests::test_compute_point_from_distance ... ok [INFO] [stdout] test rays::tests::test_ray_scaling ... ok [INFO] [stdout] test scene::camera::tests::test_ray_through_corner ... ok [INFO] [stdout] test scene::camera::tests::test_ray_with_transformed_camera ... ok [INFO] [stdout] test rays::lights::tests::test_point_light_fields ... ok [INFO] [stdout] test scene::camera::tests::test_horizontal_pixel_size ... ok [INFO] [stdout] test scene::camera::tests::test_ray_through_center ... ok [INFO] [stdout] test scene::camera::tests::test_vertical_pixel_size ... ok [INFO] [stdout] test scene::tests::test_behind_ray_color ... ok [INFO] [stdout] test scene::tests::test_intersect ... ok [INFO] [stdout] test scene::tests::test_missed_ray_color ... ok [INFO] [stdout] test scene::tests::test_creating_world ... ok [INFO] [stdout] test scene::camera::tests::test_constructing_camera ... ok [INFO] [stdout] test scene::tests::test_default_world ... ok [INFO] [stdout] test scene::tests::shadows::test_occlusion_between_two_points ... ok [INFO] [stdout] test scene::tests::test_non_reflective_mat_reflection ... ok [INFO] [stdout] test scene::tests::test_no_collinear ... ok [INFO] [stdout] test scene::tests::test_object_shadow_between_point_and_light ... ok [INFO] [stdout] test scene::tests::shadows::test_intensity_for_point_light ... ok [INFO] [stdout] test scene::tests::test_opaque_surface_refraction ... ok [INFO] [stdout] test rays::lights::tests::test_area_light_intensity ... ok [INFO] [stdout] test scene::tests::test_no_object_shadow_behind_light ... ok [INFO] [stdout] test scene::tests::test_reflected_color_at_max_recursive_depth ... ok [INFO] [stdout] test scene::tests::test_mutually_reflective_surfaces_color ... ok [INFO] [stdout] test scene::tests::test_no_object_shadow_behind_point ... ok [INFO] [stdout] test scene::tests::test_reflective_mat_reflection ... ok [INFO] [stdout] test scene::tests::test_total_internal_reflection_refraction ... ok [INFO] [stdout] test scene::tests::test_refracted_color_with_refracted_ray ... ok [INFO] [stdout] test shapes::cubes::tests::test_ray_cube_intersection ... ok [INFO] [stdout] test scene::tests::test_shade_with_reflective_mat ... ok [INFO] [stdout] test scene::tests::test_shading_from_inside ... ok [INFO] [stdout] test shapes::cubes::tests::test_cube_normal ... ok [INFO] [stdout] test scene::tests::test_shading_an_intersection ... ok [INFO] [stdout] test shapes::tests::bounds::test_adding_bounding_boxes ... ok [INFO] [stdout] test scene::camera::tests::test_render_camera ... ok [INFO] [stdout] test shapes::tests::bounds::test_adding_points_to_box ... ok [INFO] [stdout] test shapes::tests::bounds::test_bound_of_test_shape ... ok [INFO] [stdout] test shapes::cubes::tests::test_ray_misses_a_cube ... ok [INFO] [stdout] test scene::tests::test_shade_hit_with_a_transparent_mat ... ok [INFO] [stdout] test shapes::tests::bounds::test_bounded_cone_bounds ... ok [INFO] [stdout] test scene::tests::test_shade_hit_intersection_in_shadow ... ok [INFO] [stdout] test shapes::tests::bounds::test_bounded_cylinder_bounds ... ok [INFO] [stdout] test shapes::tests::bounds::test_bounding_box_transformation ... ok [INFO] [stdout] test shapes::tests::bounds::test_box_containing_point ... ok [INFO] [stdout] test shapes::tests::bounds::test_box_in_parent_space ... ok [INFO] [stdout] test shapes::tests::bounds::test_creating_empty_box ... ok [INFO] [stdout] test shapes::tests::bounds::test_cube_bounds ... ok [INFO] [stdout] test shapes::tests::bounds::test_group_bounds ... ok [INFO] [stdout] test shapes::tests::bounds::test_plane_bounds ... ok [INFO] [stdout] test shapes::tests::bounds::test_sphere_bounds ... ok [INFO] [stdout] test shapes::tests::bounds::test_triangle_bounding_box ... ok [INFO] [stdout] test shapes::tests::bounds::test_unbounded_cylinder_bounds ... ok [INFO] [stdout] test shapes::tests::bounds::text_box_containing_box ... ok [INFO] [stdout] test shapes::tests::cylinders::test_default_min_max ... ok [INFO] [stdout] test shapes::tests::cylinders::test_default_closed_value ... ok [INFO] [stdout] test shapes::tests::cylinders::test_cylinder_end_caps_normal ... ok [INFO] [stdout] test shapes::tests::cylinders::test_intersecting_a_cone ... ok [INFO] [stdout] test shapes::tests::bounds::test_unbounded_cone_bounds ... ok [INFO] [stdout] test shapes::tests::cylinders::test_cylinder_normal ... ok [INFO] [stdout] test shapes::tests::cylinders::test_normal_on_a_cone ... ok [INFO] [stdout] test shapes::tests::cylinders::test_intersecting_cone_parallel_to_half ... ok [INFO] [stdout] test shapes::tests::cylinders::test_intersecting_closed_caps ... ok [INFO] [stdout] test shapes::tests::cylinders::test_intersecting_constrained ... ok [INFO] [stdout] test shapes::tests::groups::test_add_child ... ok [INFO] [stdout] test shapes::tests::cylinders::test_ray_misses_cylinder ... ok [INFO] [stdout] test shapes::tests::groups::test_create_group ... ok [INFO] [stdout] test shapes::tests::groups::test_intersect_empty ... ok [INFO] [stdout] test shapes::tests::groups::test_world_to_object_space_conversion ... ok [INFO] [stdout] test shapes::tests::groups::test_shape_parent ... ok [INFO] [stdout] test shapes::tests::groups::test_intersect_transformed ... ok [INFO] [stdout] test shapes::tests::groups::test_object_normal_to_world_space ... ok [INFO] [stdout] test shapes::tests::groups::test_intersect_non_empty ... ok [INFO] [stdout] test shapes::tests::planes::test_intersect_coplanar ... ok [INFO] [stdout] test shapes::tests::planes::test_intersect_parallel ... ok [INFO] [stdout] test shapes::tests::spheres::test_a_sphere_behind_ray ... ok [INFO] [stdout] test shapes::tests::cylinders::test_ray_strikes_cylinder ... ok [INFO] [stdout] test shapes::tests::spheres::test_default_material ... ok [INFO] [stdout] test shapes::tests::groups::test_normal_on_child ... ok [INFO] [stdout] test shapes::tests::planes::test_intersect_from_above ... ok [INFO] [stdout] test shapes::tests::planes::test_intersect_from_below ... ok [INFO] [stdout] test shapes::tests::planes::test_normal_at ... ok [INFO] [stdout] test shapes::tests::spheres::test_default_transformation ... ok [INFO] [stdout] test shapes::tests::spheres::test_glass_sphere ... ok [INFO] [stdout] test shapes::tests::spheres::test_intersect_with_scaled_sphere ... ok [INFO] [stdout] test shapes::tests::spheres::test_material_update ... ok [INFO] [stdout] test shapes::tests::spheres::test_intersect_with_translated_sphere ... ok [INFO] [stdout] test shapes::tests::spheres::test_normal_at_nonaxial_point ... ok [INFO] [stdout] test shapes::tests::spheres::test_normal_at_point_on_x_axis ... ok [INFO] [stdout] test shapes::tests::spheres::test_normal_at_point_on_y_axis ... ok [INFO] [stdout] test shapes::tests::spheres::test_normal_on_translated_sphere ... ok [INFO] [stdout] test shapes::tests::spheres::test_object_of_intersection ... ok [INFO] [stdout] test shapes::tests::spheres::test_ray_missing ... ok [INFO] [stdout] test shapes::tests::spheres::test_normal_at_point_on_z_axis ... ok [INFO] [stdout] test shapes::tests::spheres::test_ray_originating_inside ... ok [INFO] [stdout] test shapes::tests::spheres::test_tangent_intersection ... ok [INFO] [stdout] test shapes::tests::spheres::test_two_point_intersection ... ok [INFO] [stdout] test shapes::tests::test::test_default_transformation ... ok [INFO] [stdout] test shapes::tests::test::test_default_material ... ok [INFO] [stdout] test shapes::tests::spheres::test_normal_on_transformed_sphere ... ok [INFO] [stdout] test shapes::tests::test::test_intersection_with_scale ... ok [INFO] [stdout] test shapes::tests::test::test_normal_on_translated_shape ... ok [INFO] [stdout] test shapes::tests::test::test_set_material ... ok [INFO] [stdout] test shapes::tests::spheres::test_normal_is_normalized ... ok [INFO] [stdout] test shapes::tests::test::test_set_transformation ... ok [INFO] [stdout] test shapes::tests::triangles::test_constructing_triangle ... ok [INFO] [stdout] test shapes::tests::triangles::test_intersect_parallel ... ok [INFO] [stdout] test shapes::tests::test::test_intersection_with_translation ... ok [INFO] [stdout] test shapes::tests::triangles::test_construct_smooth_triangle ... ok [INFO] [stdout] test shapes::tests::test::test_normal_on_transformed_shape ... ok [INFO] [stdout] test shapes::tests::triangles::test_intersection_stores_uv ... ok [INFO] [stdout] test shapes::tests::triangles::test_ray_misses_p1_p3_edge ... ok [INFO] [stdout] test shapes::tests::triangles::test_prepare_normal_for_smooth ... ok [INFO] [stdout] test tuples::tests::test_colors_addition ... ok [INFO] [stdout] test tuples::tests::test_colors_scalar_multiplication ... ok [INFO] [stdout] test shapes::tests::triangles::test_ray_misses_p1_p2_edge ... ok [INFO] [stdout] test shapes::tests::triangles::test_uv_interpolation_with_normal ... ok [INFO] [stdout] test tuples::tests::test_colors_subtraction ... ok [INFO] [stdout] test shapes::tests::triangles::test_ray_strikes_triangle ... ok [INFO] [stdout] test shapes::tests::triangles::test_ray_misses_p2_p3_edge ... ok [INFO] [stdout] test tuples::tests::test_colors_as_tuples ... ok [INFO] [stdout] test shapes::tests::triangles::test_triangle_normal ... ok [INFO] [stdout] test tuples::tests::test_dot_product ... ok [INFO] [stdout] test tuples::tests::test_magnitude ... ok [INFO] [stdout] test tuples::tests::test_multiply_by_fraction ... ok [INFO] [stdout] test tuples::tests::test_normalization ... ok [INFO] [stdout] test tuples::tests::test_point_creation ... ok [INFO] [stdout] test tuples::tests::test_cross_product ... ok [INFO] [stdout] test tuples::tests::test_point_vector_subtraction ... ok [INFO] [stdout] test tuples::tests::test_hadamard_product ... ok [INFO] [stdout] test tuples::tests::test_reflecting_a_vector_off_a_slanted_surface ... ok [INFO] [stdout] test tuples::tests::test_scalar_division ... ok [INFO] [stdout] test tuples::tests::test_point_w ... ok [INFO] [stdout] test tuples::tests::test_scalar_multiplication ... ok [INFO] [stdout] test tuples::tests::test_tuple_negation ... ok [INFO] [stdout] test tuples::tests::test_tuples_addition ... ok [INFO] [stdout] test tuples::tests::test_points_subtraction ... ok [INFO] [stdout] test tuples::tests::test_reflecting_a_vector_approaching_at_45 ... ok [INFO] [stdout] test tuples::tests::test_vector_w ... ok [INFO] [stdout] test tuples::tests::test_vectors_subtraction ... ok [INFO] [stdout] test tuples::tests::test_vector_creation ... ok [INFO] [stdout] test tuples::tests::test_zero_vector_subtraction ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 236 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "9a34673c0ec0e4e49b1ce9ba9615c71eccfd3a0175d4864b22c6e8f4cd72da62", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9a34673c0ec0e4e49b1ce9ba9615c71eccfd3a0175d4864b22c6e8f4cd72da62", kill_on_drop: false }` [INFO] [stdout] 9a34673c0ec0e4e49b1ce9ba9615c71eccfd3a0175d4864b22c6e8f4cd72da62