[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] checking blargg/rust-tracer against master#568f6a8641e391ffcdcdb03e79d0901731d8d399 for pr-117164-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fblargg%2Frust-tracer" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/blargg/rust-tracer on toolchain 568f6a8641e391ffcdcdb03e79d0901731d8d399
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", 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-0-tc1/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: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded byteorder v1.3.1
[INFO] [stderr]   Downloaded num-integer v0.1.39
[INFO] [stderr]   Downloaded tempfile v3.0.7
[INFO] [stderr]   Downloaded autocfg v0.1.2
[INFO] [stderr]   Downloaded crossbeam-epoch v0.3.1
[INFO] [stderr]   Downloaded crossbeam-deque v0.2.0
[INFO] [stderr]   Downloaded num-complex v0.2.1
[INFO] [stderr]   Downloaded nodrop v0.1.13
[INFO] [stderr]   Downloaded lazy_static v1.3.0
[INFO] [stderr]   Downloaded memoffset v0.2.1
[INFO] [stderr]   Downloaded adler32 v1.0.3
[INFO] [stderr]   Downloaded num-iter v0.1.37
[INFO] [stderr]   Downloaded remove_dir_all v0.5.1
[INFO] [stderr]   Downloaded matrixmultiply v0.2.2
[INFO] [stderr]   Downloaded image v0.21.1
[INFO] [stderr]   Downloaded winapi v0.3.7
[INFO] [stderr]   Downloaded typenum v1.10.0
[INFO] [stderr]   Downloaded rayon-core v1.4.1
[INFO] [stderr]   Downloaded alga v0.9.0
[INFO] [stderr]   Downloaded nalgebra v0.18.0
[INFO] [stderr]   Downloaded png v0.14.0
[INFO] [stderr]   Downloaded either v1.5.2
[INFO] [stderr]   Downloaded gif v0.10.1
[INFO] [stderr]   Downloaded num-traits v0.2.6
[INFO] [stderr]   Downloaded rayon v1.0.3
[INFO] [stderr]   Downloaded proc-macro2 v0.4.27
[INFO] [stderr]   Downloaded libc v0.2.51
[INFO] [stderr]   Downloaded regex-syntax v0.6.6
[INFO] [stderr]   Downloaded num-bigint v0.2.2
[INFO] [stderr]   Downloaded quick-error v1.2.2
[INFO] [stderr]   Downloaded syn v0.15.32
[INFO] [stderr]   Downloaded deflate v0.7.19
[INFO] [stderr]   Downloaded generic-array v0.12.0
[INFO] [stderr]   Downloaded jpeg-decoder v0.1.15
[INFO] [stderr]   Downloaded arrayvec v0.4.10
[INFO] [stderr]   Downloaded obj v0.9.0
[INFO] [stderr]   Downloaded rand_core v0.4.0
[INFO] [stderr]   Downloaded rand_jitter v0.1.3
[INFO] [stderr]   Downloaded num-derive v0.2.4
[INFO] [stderr]   Downloaded ucd-util v0.1.3
[INFO] [stderr]   Downloaded bit-vec v0.5.1
[INFO] [stderr]   Downloaded quote v0.6.12
[INFO] [stderr]   Downloaded bitflags v1.0.4
[INFO] [stderr]   Downloaded num-rational v0.2.1
[INFO] [stderr]   Downloaded cfg-if v0.1.7
[INFO] [stderr]   Downloaded bit-set v0.5.1
[INFO] [stderr]   Downloaded redox_syscall v0.1.54
[INFO] [stderr]   Downloaded scopeguard v0.3.3
[INFO] [stderr]   Downloaded num v0.2.0
[INFO] [stderr]   Downloaded crossbeam-utils v0.2.2
[INFO] [stderr]   Downloaded num_cpus v1.10.0
[INFO] [stderr]   Downloaded libm v0.1.2
[INFO] [stderr]   Downloaded proptest v0.9.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a6f5d3c6dae78990b927bb3620c49cd09fe6ec331ed6434a10cf67a8a4c2819c
[INFO] running `Command { std: "docker" "start" "-a" "a6f5d3c6dae78990b927bb3620c49cd09fe6ec331ed6434a10cf67a8a4c2819c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a6f5d3c6dae78990b927bb3620c49cd09fe6ec331ed6434a10cf67a8a4c2819c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6f5d3c6dae78990b927bb3620c49cd09fe6ec331ed6434a10cf67a8a4c2819c", kill_on_drop: false }`
[INFO] [stdout] a6f5d3c6dae78990b927bb3620c49cd09fe6ec331ed6434a10cf67a8a4c2819c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 66fcd8c5b466ef517b1dabeab48a504be4191b560f97d830a9855097461515a0
[INFO] running `Command { std: "docker" "start" "-a" "66fcd8c5b466ef517b1dabeab48a504be4191b560f97d830a9855097461515a0", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling libc v0.2.51
[INFO] [stderr]     Checking rand_core v0.4.0
[INFO] [stderr]    Compiling autocfg v0.1.2
[INFO] [stderr]     Checking cfg-if v0.1.7
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling arrayvec v0.4.10
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]     Checking lazy_static v1.3.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.27
[INFO] [stderr]     Checking nodrop v0.1.13
[INFO] [stderr]    Compiling rayon-core v1.4.1
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling num-bigint v0.2.2
[INFO] [stderr]     Checking crossbeam-utils v0.2.2
[INFO] [stderr]    Compiling syn v0.15.32
[INFO] [stderr]    Compiling num-complex v0.2.1
[INFO] [stderr]    Compiling num-iter v0.1.37
[INFO] [stderr]     Checking adler32 v1.0.3
[INFO] [stderr]    Compiling rayon v1.0.3
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]    Compiling num-rational v0.2.1
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking rand_jitter v0.1.3
[INFO] [stderr]    Compiling num-derive v0.2.4
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]     Checking either v1.5.2
[INFO] [stderr]     Checking bitflags v1.0.4
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]     Checking rawpointer v0.1.0
[INFO] [stderr]     Checking libm v0.1.2
[INFO] [stderr]     Checking color_quant v1.0.1
[INFO] [stderr]     Checking remove_dir_all v0.5.1
[INFO] [stderr]     Checking matrixmultiply v0.2.2
[INFO] [stderr]     Checking bit-vec v0.5.1
[INFO] [stderr]     Checking ucd-util v0.1.3
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking gif v0.10.1
[INFO] [stderr]     Checking deflate v0.7.19
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking regex-syntax v0.6.6
[INFO] [stderr]     Checking obj v0.9.0
[INFO] [stderr]     Checking bit-set v0.5.1
[INFO] [stderr]     Checking crossbeam-epoch v0.3.1
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking num_cpus v1.10.0
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking crossbeam-deque v0.2.0
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking generic-array v0.12.0
[INFO] [stderr]     Checking alga v0.9.0
[INFO] [stderr]     Checking png v0.14.0
[INFO] [stderr]     Checking tempfile v3.0.7
[INFO] [stderr]     Checking rusty-fork v0.2.2
[INFO] [stderr]     Checking nalgebra v0.18.0
[INFO] [stderr]     Checking proptest v0.9.2
[INFO] [stderr]     Checking num v0.2.0
[INFO] [stderr]     Checking jpeg-decoder v0.1.15
[INFO] [stderr]     Checking tiff v0.2.2
[INFO] [stderr]     Checking image v0.21.1
[INFO] [stderr]     Checking 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 trailing semicolon
[INFO] [stdout]   --> src/render/material.rs:87:33
[INFO] [stdout]    |
[INFO] [stdout] 87 |         fn is_BSDF<B: BSDF>() {};
[INFO] [stdout]    |                                 ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/render/material.rs:93:41
[INFO] [stdout]    |
[INFO] [stdout] 93 |         fn is_material<M: Material>() {};
[INFO] [stdout]    |                                         ^ help: remove this semicolon
[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]    |                                                      ^          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 75 -             let r: Ray<f64> = Ray::new_normalize(v0, (point - v0));
[INFO] [stdout] 75 +             let r: Ray<f64> = Ray::new_normalize(v0, point - v0);
[INFO] [stdout]    |
[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/renderable.rs:56:45
[INFO] [stdout]    |
[INFO] [stdout] 56 |         fn is_renderable<R: Renderable>() {};
[INFO] [stdout]    |                                             ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/render/renderable.rs:61:41
[INFO] [stdout]    |
[INFO] [stdout] 61 |         fn is_material<M: Material>() {};
[INFO] [stdout]    |                                         ^ help: remove this semicolon
[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] 
[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 `EPSILON_64` is never used
[INFO] [stdout]  --> src/number.rs:1:11
[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 `Plane` is never constructed
[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 `new` is never used
[INFO] [stdout]  --> src/render/plane.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl<T: Scalar> Plane<T> {
[INFO] [stdout]   | ------------------------ associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(normal: Vector3<T>, dist: T) -> Plane<T> {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_at_point` and `distance_to` are never used
[INFO] [stdout]   --> src/render/plane.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<T: RealField> Plane<T> {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new_at_point(position: Point3<T>, normal: Vector3<T>) -> Plane<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[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 `new` is never used
[INFO] [stdout]   --> src/render/ray.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl<T: Scalar> Ray<T> {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn new(origin: Point3<T>, direction: UnitVec3<T>) -> Ray<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `closest_point` is never used
[INFO] [stdout]   --> src/render/ray.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<T: RealField> Ray<T> {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn closest_point(&self, p: Point3<T>) -> Point3<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position` and `normal` are never read
[INFO] [stdout]   --> src/render/shape.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct DiffGeom<T: Scalar> {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 21 |     position: Point3<T>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 22 |     normal: Vector3<T>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/render/sphere.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<T: Scalar + Zero + PartialOrd> Sphere<T> {
[INFO] [stdout]    | --------------------------------------------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new(center: Point3<T>, radius: T) -> Sphere<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EPSILON_64` is never used
[INFO] [stdout]  --> src/number.rs:1:11
[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 `lambert_is_BSDF` is never used
[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 `uniform_is_material` is never used
[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 `new` is never used
[INFO] [stdout]   --> src/render/ray.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl<T: Scalar> Ray<T> {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn new(origin: Point3<T>, direction: UnitVec3<T>) -> Ray<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shapemat_is_renderable` is never used
[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 `uniform_is_material` is never used
[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: fields `position` and `normal` are never read
[INFO] [stdout]   --> src/render/shape.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct DiffGeom<T: Scalar> {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 21 |     position: Point3<T>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 22 |     normal: Vector3<T>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arb_tri` is never used
[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: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 24.80s
[INFO] running `Command { std: "docker" "inspect" "66fcd8c5b466ef517b1dabeab48a504be4191b560f97d830a9855097461515a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66fcd8c5b466ef517b1dabeab48a504be4191b560f97d830a9855097461515a0", kill_on_drop: false }`
[INFO] [stdout] 66fcd8c5b466ef517b1dabeab48a504be4191b560f97d830a9855097461515a0
