[INFO] cloning repository https://github.com/blargg/rust-tracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/blargg/rust-tracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fblargg%2Frust-tracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fblargg%2Frust-tracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fc8ca0d165ea56691329d754117d178b5245dc28
[INFO] testing blargg/rust-tracer against beta-2020-10-09 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fblargg%2Frust-tracer" "/workspace/builds/worker-3/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/blargg/rust-tracer on toolchain beta-2020-10-09
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/blargg/rust-tracer
[INFO] finished tweaking git repo https://github.com/blargg/rust-tracer
[INFO] tweaked toml for git repo https://github.com/blargg/rust-tracer written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] crate git repo https://github.com/blargg/rust-tracer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded matrixmultiply v0.2.2
[INFO] [stderr]   Downloaded num-bigint v0.2.2
[INFO] [stderr]   Downloaded alga v0.9.0
[INFO] [stderr]   Downloaded syn v0.15.32
[INFO] [stderr]   Downloaded nalgebra v0.18.0
[INFO] [stderr]   Downloaded proptest v0.9.2
[INFO] [stderr]   Downloaded obj v0.9.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e65aea555eab33e16d8a0ec1f83ec098e0b23c7cc3a66d6381104b92a611d311
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "e65aea555eab33e16d8a0ec1f83ec098e0b23c7cc3a66d6381104b92a611d311", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e65aea555eab33e16d8a0ec1f83ec098e0b23c7cc3a66d6381104b92a611d311", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e65aea555eab33e16d8a0ec1f83ec098e0b23c7cc3a66d6381104b92a611d311", kill_on_drop: false }`
[INFO] [stdout] e65aea555eab33e16d8a0ec1f83ec098e0b23c7cc3a66d6381104b92a611d311
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a33dd8590464afdb5233e9d31f43af41c3708ff90952b4c94846a92752f8ac8b
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a33dd8590464afdb5233e9d31f43af41c3708ff90952b4c94846a92752f8ac8b", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v0.15.32
[INFO] [stderr]    Compiling obj v0.9.0
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling num_cpus v1.10.0
[INFO] [stderr]    Compiling num-complex v0.2.1
[INFO] [stderr]    Compiling approx v0.3.2
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling num-bigint v0.2.2
[INFO] [stderr]    Compiling rayon-core v1.4.1
[INFO] [stderr]    Compiling alga v0.9.0
[INFO] [stderr]    Compiling rayon v1.0.3
[INFO] [stderr]    Compiling num-rational v0.2.1
[INFO] [stderr]    Compiling num v0.2.0
[INFO] [stderr]    Compiling nalgebra v0.18.0
[INFO] [stderr]    Compiling jpeg-decoder v0.1.15
[INFO] [stderr]    Compiling num-derive v0.2.4
[INFO] [stderr]    Compiling tiff v0.2.2
[INFO] [stderr]    Compiling image v0.21.1
[INFO] [stderr]    Compiling rust-tracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated type `BSDF_fn` should have an upper camel case name
[INFO] [stdout]   --> src/render/material.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 |     type BSDF_fn;
[INFO] [stdout]    |          ^^^^^^^ help: convert the identifier to upper camel case: `BsdfFn`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::plane::Plane`
[INFO] [stdout]  --> src/render/triangle.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::plane::Plane;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `EPSILON_64`
[INFO] [stdout]  --> src/number.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const EPSILON_64: f64 = 0.00001;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Plane`
[INFO] [stdout]  --> src/render/plane.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Plane<T: Scalar> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]  --> src/render/plane.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(normal: Vector3<T>, dist: T) -> Plane<T> {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_at_point`
[INFO] [stdout]   --> src/render/plane.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new_at_point(position: Point3<T>, normal: Vector3<T>) -> Plane<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `distance_to`
[INFO] [stdout]   --> src/render/plane.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn distance_to(&self, point: Point3<T>) -> T {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/render/ray.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(origin: Point3<T>, direction: UnitVec3<T>) -> Ray<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `closest_point`
[INFO] [stdout]   --> src/render/ray.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn closest_point(&self, p: Point3<T>) -> Point3<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `position`
[INFO] [stdout]   --> src/render/shape.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     position: Point3<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `normal`
[INFO] [stdout]   --> src/render/shape.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     normal: Vector3<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/render/sphere.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(center: Point3<T>, radius: T) -> Sphere<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "a33dd8590464afdb5233e9d31f43af41c3708ff90952b4c94846a92752f8ac8b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a33dd8590464afdb5233e9d31f43af41c3708ff90952b4c94846a92752f8ac8b", kill_on_drop: false }`
[INFO] [stdout] a33dd8590464afdb5233e9d31f43af41c3708ff90952b4c94846a92752f8ac8b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7ba0912e32331876621a85adf30fbaa35723f72e1f381e0d65c7cbf4ed862ad0
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "7ba0912e32331876621a85adf30fbaa35723f72e1f381e0d65c7cbf4ed862ad0", kill_on_drop: false }`
[INFO] [stderr]    Compiling wait-timeout v0.2.0
[INFO] [stderr]    Compiling tempfile v3.0.7
[INFO] [stderr]    Compiling rusty-fork v0.2.2
[INFO] [stderr]    Compiling proptest v0.9.2
[INFO] [stderr]    Compiling rust-tracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated type `BSDF_fn` should have an upper camel case name
[INFO] [stdout]   --> src/render/material.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 |     type BSDF_fn;
[INFO] [stdout]    |          ^^^^^^^ help: convert the identifier to upper camel case: `BsdfFn`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/render/ray.rs:75:54
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let r: Ray<f64> = Ray::new_normalize(v0, (point - v0));
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::number::*`
[INFO] [stdout]   --> src/render/renderable.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     use crate::number::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/render/sphere.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 |         };;
[INFO] [stdout]    |           ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `EPSILON_64`
[INFO] [stdout]  --> src/number.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const EPSILON_64: f64 = 0.00001;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `lambert_is_BSDF`
[INFO] [stdout]   --> src/render/material.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn lambert_is_BSDF() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `uniform_is_material`
[INFO] [stdout]   --> src/render/material.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn uniform_is_material() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/render/ray.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(origin: Point3<T>, direction: UnitVec3<T>) -> Ray<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `shapemat_is_renderable`
[INFO] [stdout]   --> src/render/renderable.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn shapemat_is_renderable() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `uniform_is_material`
[INFO] [stdout]   --> src/render/renderable.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn uniform_is_material() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `position`
[INFO] [stdout]   --> src/render/shape.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     position: Point3<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `normal`
[INFO] [stdout]   --> src/render/shape.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     normal: Vector3<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `arb_tri`
[INFO] [stdout]   --> src/render/triangle.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn arb_tri<T: Scalar>(
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lambert_is_BSDF` should have a snake case name
[INFO] [stdout]   --> src/render/material.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn lambert_is_BSDF() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambert_is_bsdf`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_BSDF` should have a snake case name
[INFO] [stdout]   --> src/render/material.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 |         fn is_BSDF<B: BSDF>() {};
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to snake case: `is_bsdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 23.74s
[INFO] running `Command { std: "docker" "inspect" "7ba0912e32331876621a85adf30fbaa35723f72e1f381e0d65c7cbf4ed862ad0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ba0912e32331876621a85adf30fbaa35723f72e1f381e0d65c7cbf4ed862ad0", kill_on_drop: false }`
[INFO] [stdout] 7ba0912e32331876621a85adf30fbaa35723f72e1f381e0d65c7cbf4ed862ad0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 0ff879a9e56f3c095587af41be0cee56f2ea0c0f7dcc4eb23d794b4f6997bf11
[INFO] running `Command { std: "docker" "start" "-a" "0ff879a9e56f3c095587af41be0cee56f2ea0c0f7dcc4eb23d794b4f6997bf11", kill_on_drop: false }`
[INFO] [stderr] warning: associated type `BSDF_fn` should have an upper camel case name
[INFO] [stderr]   --> src/render/material.rs:32:10
[INFO] [stderr]    |
[INFO] [stderr] 32 |     type BSDF_fn;
[INFO] [stderr]    |          ^^^^^^^ help: convert the identifier to upper camel case: `BsdfFn`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> src/render/ray.rs:75:54
[INFO] [stderr]    |
[INFO] [stderr] 75 |             let r: Ray<f64> = Ray::new_normalize(v0, (point - v0));
[INFO] [stderr]    |                                                      ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::number::*`
[INFO] [stderr]   --> src/render/renderable.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 53 |     use crate::number::*;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/render/sphere.rs:90:11
[INFO] [stderr]    |
[INFO] [stderr] 90 |         };;
[INFO] [stderr]    |           ^ help: remove this semicolon
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `EPSILON_64`
[INFO] [stderr]  --> src/number.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub const EPSILON_64: f64 = 0.00001;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `lambert_is_BSDF`
[INFO] [stderr]   --> src/render/material.rs:86:8
[INFO] [stderr]    |
[INFO] [stderr] 86 |     fn lambert_is_BSDF() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `uniform_is_material`
[INFO] [stderr]   --> src/render/material.rs:92:8
[INFO] [stderr]    |
[INFO] [stderr] 92 |     fn uniform_is_material() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/render/ray.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub fn new(origin: Point3<T>, direction: UnitVec3<T>) -> Ray<T> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `shapemat_is_renderable`
[INFO] [stderr]   --> src/render/renderable.rs:55:8
[INFO] [stderr]    |
[INFO] [stderr] 55 |     fn shapemat_is_renderable() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `uniform_is_material`
[INFO] [stderr]   --> src/render/renderable.rs:60:8
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn uniform_is_material() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `position`
[INFO] [stderr]   --> src/render/shape.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     position: Point3<T>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `normal`
[INFO] [stderr]   --> src/render/shape.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     normal: Vector3<T>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `arb_tri`
[INFO] [stderr]   --> src/render/triangle.rs:81:12
[INFO] [stderr]    |
[INFO] [stderr] 81 |     pub fn arb_tri<T: Scalar>(
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `lambert_is_BSDF` should have a snake case name
[INFO] [stderr]   --> src/render/material.rs:86:8
[INFO] [stderr]    |
[INFO] [stderr] 86 |     fn lambert_is_BSDF() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lambert_is_bsdf`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_BSDF` should have a snake case name
[INFO] [stderr]   --> src/render/material.rs:87:12
[INFO] [stderr]    |
[INFO] [stderr] 87 |         fn is_BSDF<B: BSDF>() {};
[INFO] [stderr]    |            ^^^^^^^ help: convert the identifier to snake case: `is_bsdf`
[INFO] [stderr] 
[INFO] [stderr] warning: 15 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/rust_tracer-55135213a151078f
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test render::sphere::tests::intersection_test ... ok
[INFO] [stdout] test render::plane::tests::distance_to_test ... ok
[INFO] [stdout] test render::triangle::tests::traingle_is_shape ... ok
[INFO] [stdout] test render::triangle::tests::intersects_triangle ... ok
[INFO] [stdout] test render::plane::tests::new_at_point_test ... ok
[INFO] [stdout] test render::camera::tests::center_point_at_position ... ok
[INFO] [stdout] test render::ray::tests::closest_in_front ... ok
[INFO] [stdout] test render::ray::tests::closest_origin ... ok
[INFO] [stdout] test render::sphere::tests::intersection_detection ... ok
[INFO] [stdout] test render::camera::tests::center_ray_views_direction ... ok
[INFO] [stdout] test render::sphere::tests::intersection_on_surface ... ok
[INFO] [stdout] test render::ray::tests::closest_behind ... ok
[INFO] [stdout] test render::camera::tests::camera_width ... ok
[INFO] [stdout] test render::camera::tests::camera_height ... ok
[INFO] [stdout] test render::camera::tests::horizontal_view_angle_is_fov ... ok
[INFO] [stdout] test render::camera::tests::ray_origin_on_view_plane ... ok
[INFO] [stdout] test render::camera::tests::looks_at_point ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0ff879a9e56f3c095587af41be0cee56f2ea0c0f7dcc4eb23d794b4f6997bf11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ff879a9e56f3c095587af41be0cee56f2ea0c0f7dcc4eb23d794b4f6997bf11", kill_on_drop: false }`
[INFO] [stdout] 0ff879a9e56f3c095587af41be0cee56f2ea0c0f7dcc4eb23d794b4f6997bf11
