[INFO] cloning repository https://github.com/amejii/edupt-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/amejii/edupt-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Famejii%2Fedupt-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Famejii%2Fedupt-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 754ae3c6f281fbdf64ee0c3993fa0a20c647ba49
[INFO] testing amejii/edupt-rust against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Famejii%2Fedupt-rust" "/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/amejii/edupt-rust on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/amejii/edupt-rust
[INFO] finished tweaking git repo https://github.com/amejii/edupt-rust
[INFO] tweaked toml for git repo https://github.com/amejii/edupt-rust written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] crate git repo https://github.com/amejii/edupt-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 85ba39b13d97cc726665e39d2803da620ddc5f16178fd8ed8a18d707b659f94f
[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" "85ba39b13d97cc726665e39d2803da620ddc5f16178fd8ed8a18d707b659f94f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "85ba39b13d97cc726665e39d2803da620ddc5f16178fd8ed8a18d707b659f94f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "85ba39b13d97cc726665e39d2803da620ddc5f16178fd8ed8a18d707b659f94f", kill_on_drop: false }`
[INFO] [stdout] 85ba39b13d97cc726665e39d2803da620ddc5f16178fd8ed8a18d707b659f94f
[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" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 766390ba9ce8c051d5f8000c644f035b7ed00ece662ca7c501696586094fd3ef
[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" "766390ba9ce8c051d5f8000c644f035b7ed00ece662ca7c501696586094fd3ef", kill_on_drop: false }`
[INFO] [stderr]    Compiling edupt_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `REFLECTION_TYPE_DIFFUSE` should have an upper camel case name
[INFO] [stdout]  --> src/material.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     REFLECTION_TYPE_DIFFUSE,        
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeDiffuse`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REFLECTION_TYPE_SPECULAR` should have an upper camel case name
[INFO] [stdout]  --> src/material.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     REFLECTION_TYPE_SPECULAR,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeSpecular`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REFLECTION_TYPE_REFRACTION` should have an upper camel case name
[INFO] [stdout]  --> src/material.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     REFLECTION_TYPE_REFRACTION,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeRefraction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/radiance.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         (-1.0 * hitpoint.normal)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/ppm.rs:34:74
[INFO] [stdout]    |
[INFO] [stdout] 34 |         Err(why) => panic!("couldn't create {}: {}", path.display(), why.description()),
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/ppm.rs:42:52
[INFO] [stdout]    |
[INFO] [stdout] 42 | ...                   why.description())
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `weight` is never read
[INFO] [stdout]   --> src/radiance.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut weight : Color = Color{x:1.0, y:1.0, z:1.0};
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/radiance.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let mut u : Vector; let mut v : Vector;
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/radiance.rs:52:37
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let mut u : Vector; let mut v : Vector;
[INFO] [stdout]    |                                     ----^
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/render.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let mut image_index = (height - y - 1) * width + x;
[INFO] [stdout]    |                 ----^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/ray.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn new(org : Vector, dir : Vector) -> Ray{
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/sphere.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn new(radius:f64, position: Vector, emission: Color, color: Color, reflection_type: ReflectionType) -> Sphere {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/ppm.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         file.write_all(data.as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D4` should have a snake case name
[INFO] [stdout]   --> src/sphere.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let D4 = b * b - dot(p_o, p_o) + self.radius * self.radius;
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `d4`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sqrt_D4` should have a snake case name
[INFO] [stdout]   --> src/sphere.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let sqrt_D4 = Sqrt::sqrt(D4);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `sqrt_d4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `spheres` should have an upper case name
[INFO] [stdout]  --> src/scene.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const spheres : [Sphere;10]= [
[INFO] [stdout]   |           ^^^^^^^ help: convert the identifier to upper case: `SPHERES`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R0` should have a snake case name
[INFO] [stdout]   --> src/radiance.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let R0 = (a * a) / (b * b);
[INFO] [stdout]    |                 ^^ help: convert the identifier to snake case: `r0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Re` should have a snake case name
[INFO] [stdout]    --> src/radiance.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let Re = R0 + (1.0 - R0) * c.powf(5.0);
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `re`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Tr` should have a snake case name
[INFO] [stdout]    --> src/radiance.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let Tr = (1.0 - Re) * nnt2;
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `tr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1.57s
[INFO] running `Command { std: "docker" "inspect" "766390ba9ce8c051d5f8000c644f035b7ed00ece662ca7c501696586094fd3ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "766390ba9ce8c051d5f8000c644f035b7ed00ece662ca7c501696586094fd3ef", kill_on_drop: false }`
[INFO] [stdout] 766390ba9ce8c051d5f8000c644f035b7ed00ece662ca7c501696586094fd3ef
[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" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 743212a1c4ca716629418087c830d3a4f07478d2b74482ab242b3dd70b6fa8ad
[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" "743212a1c4ca716629418087c830d3a4f07478d2b74482ab242b3dd70b6fa8ad", kill_on_drop: false }`
[INFO] [stderr]    Compiling edupt_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `REFLECTION_TYPE_DIFFUSE` should have an upper camel case name
[INFO] [stdout]  --> src/material.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     REFLECTION_TYPE_DIFFUSE,        
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeDiffuse`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REFLECTION_TYPE_SPECULAR` should have an upper camel case name
[INFO] [stdout]  --> src/material.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     REFLECTION_TYPE_SPECULAR,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeSpecular`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REFLECTION_TYPE_REFRACTION` should have an upper camel case name
[INFO] [stdout]  --> src/material.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     REFLECTION_TYPE_REFRACTION,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeRefraction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/radiance.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         (-1.0 * hitpoint.normal)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/ppm.rs:34:74
[INFO] [stdout]    |
[INFO] [stdout] 34 |         Err(why) => panic!("couldn't create {}: {}", path.display(), why.description()),
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/ppm.rs:42:52
[INFO] [stdout]    |
[INFO] [stdout] 42 | ...                   why.description())
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `weight` is never read
[INFO] [stdout]   --> src/radiance.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut weight : Color = Color{x:1.0, y:1.0, z:1.0};
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/radiance.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let mut u : Vector; let mut v : Vector;
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/radiance.rs:52:37
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let mut u : Vector; let mut v : Vector;
[INFO] [stdout]    |                                     ----^
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/render.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let mut image_index = (height - y - 1) * width + x;
[INFO] [stdout]    |                 ----^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/ray.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn new(org : Vector, dir : Vector) -> Ray{
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/sphere.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn new(radius:f64, position: Vector, emission: Color, color: Color, reflection_type: ReflectionType) -> Sphere {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/ppm.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         file.write_all(data.as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D4` should have a snake case name
[INFO] [stdout]   --> src/sphere.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let D4 = b * b - dot(p_o, p_o) + self.radius * self.radius;
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `d4`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sqrt_D4` should have a snake case name
[INFO] [stdout]   --> src/sphere.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let sqrt_D4 = Sqrt::sqrt(D4);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `sqrt_d4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `spheres` should have an upper case name
[INFO] [stdout]  --> src/scene.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const spheres : [Sphere;10]= [
[INFO] [stdout]   |           ^^^^^^^ help: convert the identifier to upper case: `SPHERES`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R0` should have a snake case name
[INFO] [stdout]   --> src/radiance.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let R0 = (a * a) / (b * b);
[INFO] [stdout]    |                 ^^ help: convert the identifier to snake case: `r0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Re` should have a snake case name
[INFO] [stdout]    --> src/radiance.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let Re = R0 + (1.0 - R0) * c.powf(5.0);
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `re`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Tr` should have a snake case name
[INFO] [stdout]    --> src/radiance.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let Tr = (1.0 - Re) * nnt2;
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `tr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REFLECTION_TYPE_DIFFUSE` should have an upper camel case name
[INFO] [stdout]  --> src/material.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     REFLECTION_TYPE_DIFFUSE,        
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeDiffuse`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REFLECTION_TYPE_SPECULAR` should have an upper camel case name
[INFO] [stdout]  --> src/material.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     REFLECTION_TYPE_SPECULAR,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeSpecular`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REFLECTION_TYPE_REFRACTION` should have an upper camel case name
[INFO] [stdout]  --> src/material.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     REFLECTION_TYPE_REFRACTION,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeRefraction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/radiance.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         (-1.0 * hitpoint.normal)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/ppm.rs:34:74
[INFO] [stdout]    |
[INFO] [stdout] 34 |         Err(why) => panic!("couldn't create {}: {}", path.display(), why.description()),
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/ppm.rs:42:52
[INFO] [stdout]    |
[INFO] [stdout] 42 | ...                   why.description())
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `weight` is never read
[INFO] [stdout]   --> src/radiance.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut weight : Color = Color{x:1.0, y:1.0, z:1.0};
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/radiance.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let mut u : Vector; let mut v : Vector;
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/radiance.rs:52:37
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let mut u : Vector; let mut v : Vector;
[INFO] [stdout]    |                                     ----^
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/render.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let mut image_index = (height - y - 1) * width + x;
[INFO] [stdout]    |                 ----^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/ray.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn new(org : Vector, dir : Vector) -> Ray{
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/sphere.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn new(radius:f64, position: Vector, emission: Color, color: Color, reflection_type: ReflectionType) -> Sphere {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/ppm.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         file.write_all(data.as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D4` should have a snake case name
[INFO] [stdout]   --> src/sphere.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let D4 = b * b - dot(p_o, p_o) + self.radius * self.radius;
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `d4`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sqrt_D4` should have a snake case name
[INFO] [stdout]   --> src/sphere.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let sqrt_D4 = Sqrt::sqrt(D4);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `sqrt_d4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `spheres` should have an upper case name
[INFO] [stdout]  --> src/scene.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const spheres : [Sphere;10]= [
[INFO] [stdout]   |           ^^^^^^^ help: convert the identifier to upper case: `SPHERES`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R0` should have a snake case name
[INFO] [stdout]   --> src/radiance.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let R0 = (a * a) / (b * b);
[INFO] [stdout]    |                 ^^ help: convert the identifier to snake case: `r0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Re` should have a snake case name
[INFO] [stdout]    --> src/radiance.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let Re = R0 + (1.0 - R0) * c.powf(5.0);
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `re`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Tr` should have a snake case name
[INFO] [stdout]    --> src/radiance.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let Tr = (1.0 - Re) * nnt2;
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `tr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.28s
[INFO] running `Command { std: "docker" "inspect" "743212a1c4ca716629418087c830d3a4f07478d2b74482ab242b3dd70b6fa8ad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "743212a1c4ca716629418087c830d3a4f07478d2b74482ab242b3dd70b6fa8ad", kill_on_drop: false }`
[INFO] [stdout] 743212a1c4ca716629418087c830d3a4f07478d2b74482ab242b3dd70b6fa8ad
[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" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9edb909b61e4428fbc2610e81abaf326e9a9cd519de16b2815eefbad75bc39aa
[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" "9edb909b61e4428fbc2610e81abaf326e9a9cd519de16b2815eefbad75bc39aa", kill_on_drop: false }`
[INFO] [stderr] warning: variant `REFLECTION_TYPE_DIFFUSE` should have an upper camel case name
[INFO] [stderr]  --> src/material.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 |     REFLECTION_TYPE_DIFFUSE,        
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeDiffuse`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `REFLECTION_TYPE_SPECULAR` should have an upper camel case name
[INFO] [stderr]  --> src/material.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     REFLECTION_TYPE_SPECULAR,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeSpecular`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `REFLECTION_TYPE_REFRACTION` should have an upper camel case name
[INFO] [stderr]  --> src/material.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     REFLECTION_TYPE_REFRACTION,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeRefraction`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> src/radiance.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 27 |         (-1.0 * hitpoint.normal)
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/ppm.rs:34:74
[INFO] [stderr]    |
[INFO] [stderr] 34 |         Err(why) => panic!("couldn't create {}: {}", path.display(), why.description()),
[INFO] [stderr]    |                                                                          ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/ppm.rs:42:52
[INFO] [stderr]    |
[INFO] [stderr] 42 | ...                   why.description())
[INFO] [stderr]    |                           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `weight` is never read
[INFO] [stderr]   --> src/radiance.rs:44:9
[INFO] [stderr]    |
[INFO] [stderr] 44 |     let mut weight : Color = Color{x:1.0, y:1.0, z:1.0};
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/radiance.rs:52:17
[INFO] [stderr]    |
[INFO] [stderr] 52 |             let mut u : Vector; let mut v : Vector;
[INFO] [stderr]    |                 ----^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/radiance.rs:52:37
[INFO] [stderr]    |
[INFO] [stderr] 52 |             let mut u : Vector; let mut v : Vector;
[INFO] [stderr]    |                                     ----^
[INFO] [stderr]    |                                     |
[INFO] [stderr]    |                                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/render.rs:28:17
[INFO] [stderr]    |
[INFO] [stderr] 28 |             let mut image_index = (height - y - 1) * width + x;
[INFO] [stderr]    |                 ----^^^^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/ray.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 |     fn new(org : Vector, dir : Vector) -> Ray{
[INFO] [stderr]    |        ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/sphere.rs:18:8
[INFO] [stderr]    |
[INFO] [stderr] 18 |     fn new(radius:f64, position: Vector, emission: Color, color: Color, reflection_type: ReflectionType) -> Sphere {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/ppm.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 50 |         file.write_all(data.as_bytes());
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: variable `D4` should have a snake case name
[INFO] [stderr]   --> src/sphere.rs:31:13
[INFO] [stderr]    |
[INFO] [stderr] 31 |         let D4 = b * b - dot(p_o, p_o) + self.radius * self.radius;
[INFO] [stderr]    |             ^^ help: convert the identifier to snake case: `d4`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `sqrt_D4` should have a snake case name
[INFO] [stderr]   --> src/sphere.rs:37:13
[INFO] [stderr]    |
[INFO] [stderr] 37 |         let sqrt_D4 = Sqrt::sqrt(D4);
[INFO] [stderr]    |             ^^^^^^^ help: convert the identifier to snake case: `sqrt_d4`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `spheres` should have an upper case name
[INFO] [stderr]  --> src/scene.rs:9:11
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const spheres : [Sphere;10]= [
[INFO] [stderr]   |           ^^^^^^^ help: convert the identifier to upper case: `SPHERES`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R0` should have a snake case name
[INFO] [stderr]   --> src/radiance.rs:96:17
[INFO] [stderr]    |
[INFO] [stderr] 96 |             let R0 = (a * a) / (b * b);
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case: `r0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Re` should have a snake case name
[INFO] [stderr]    --> src/radiance.rs:101:17
[INFO] [stderr]     |
[INFO] [stderr] 101 |             let Re = R0 + (1.0 - R0) * c.powf(5.0);
[INFO] [stderr]     |                 ^^ help: convert the identifier to snake case: `re`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Tr` should have a snake case name
[INFO] [stderr]    --> src/radiance.rs:103:17
[INFO] [stderr]     |
[INFO] [stderr] 103 |             let Tr = (1.0 - Re) * nnt2;
[INFO] [stderr]     |                 ^^ help: convert the identifier to snake case: `tr`
[INFO] [stderr] 
[INFO] [stderr] warning: 19 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: variant `REFLECTION_TYPE_DIFFUSE` should have an upper camel case name
[INFO] [stderr]  --> src/material.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 |     REFLECTION_TYPE_DIFFUSE,        
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeDiffuse`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `REFLECTION_TYPE_SPECULAR` should have an upper camel case name
[INFO] [stderr]  --> src/material.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     REFLECTION_TYPE_SPECULAR,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeSpecular`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `REFLECTION_TYPE_REFRACTION` should have an upper camel case name
[INFO] [stderr]  --> src/material.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     REFLECTION_TYPE_REFRACTION,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeRefraction`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> src/radiance.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 27 |         (-1.0 * hitpoint.normal)
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/ppm.rs:34:74
[INFO] [stderr]    |
[INFO] [stderr] 34 |         Err(why) => panic!("couldn't create {}: {}", path.display(), why.description()),
[INFO] [stderr]    |                                                                          ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/ppm.rs:42:52
[INFO] [stderr]    |
[INFO] [stderr] 42 | ...                   why.description())
[INFO] [stderr]    |                           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `weight` is never read
[INFO] [stderr]   --> src/radiance.rs:44:9
[INFO] [stderr]    |
[INFO] [stderr] 44 |     let mut weight : Color = Color{x:1.0, y:1.0, z:1.0};
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/radiance.rs:52:17
[INFO] [stderr]    |
[INFO] [stderr] 52 |             let mut u : Vector; let mut v : Vector;
[INFO] [stderr]    |                 ----^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/radiance.rs:52:37
[INFO] [stderr]    |
[INFO] [stderr] 52 |             let mut u : Vector; let mut v : Vector;
[INFO] [stderr]    |                                     ----^
[INFO] [stderr]    |                                     |
[INFO] [stderr]    |                                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/render.rs:28:17
[INFO] [stderr]    |
[INFO] [stderr] 28 |             let mut image_index = (height - y - 1) * width + x;
[INFO] [stderr]    |                 ----^^^^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/ray.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 |     fn new(org : Vector, dir : Vector) -> Ray{
[INFO] [stderr]    |        ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/sphere.rs:18:8
[INFO] [stderr]    |
[INFO] [stderr] 18 |     fn new(radius:f64, position: Vector, emission: Color, color: Color, reflection_type: ReflectionType) -> Sphere {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/ppm.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 50 |         file.write_all(data.as_bytes());
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: variable `D4` should have a snake case name
[INFO] [stderr]   --> src/sphere.rs:31:13
[INFO] [stderr]    |
[INFO] [stderr] 31 |         let D4 = b * b - dot(p_o, p_o) + self.radius * self.radius;
[INFO] [stderr]    |             ^^ help: convert the identifier to snake case: `d4`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `sqrt_D4` should have a snake case name
[INFO] [stderr]   --> src/sphere.rs:37:13
[INFO] [stderr]    |
[INFO] [stderr] 37 |         let sqrt_D4 = Sqrt::sqrt(D4);
[INFO] [stderr]    |             ^^^^^^^ help: convert the identifier to snake case: `sqrt_d4`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `spheres` should have an upper case name
[INFO] [stderr]  --> src/scene.rs:9:11
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const spheres : [Sphere;10]= [
[INFO] [stderr]   |           ^^^^^^^ help: convert the identifier to upper case: `SPHERES`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R0` should have a snake case name
[INFO] [stderr]   --> src/radiance.rs:96:17
[INFO] [stderr]    |
[INFO] [stderr] 96 |             let R0 = (a * a) / (b * b);
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case: `r0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Re` should have a snake case name
[INFO] [stderr]    --> src/radiance.rs:101:17
[INFO] [stderr]     |
[INFO] [stderr] 101 |             let Re = R0 + (1.0 - R0) * c.powf(5.0);
[INFO] [stderr]     |                 ^^ help: convert the identifier to snake case: `re`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Tr` should have a snake case name
[INFO] [stderr]    --> src/radiance.rs:103:17
[INFO] [stderr]     |
[INFO] [stderr] 103 |             let Tr = (1.0 - Re) * nnt2;
[INFO] [stderr]     |                 ^^ help: convert the identifier to snake case: `tr`
[INFO] [stderr] 
[INFO] [stderr] warning: 19 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/edupt-3b0e1ff1af829ede
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/executable-16513c24a9226426
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests edupt
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr] warning: variant `REFLECTION_TYPE_DIFFUSE` should have an upper camel case name
[INFO] [stderr]  --> /opt/rustwide/workdir/src/material.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 |     REFLECTION_TYPE_DIFFUSE,        
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeDiffuse`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `REFLECTION_TYPE_SPECULAR` should have an upper camel case name
[INFO] [stderr]  --> /opt/rustwide/workdir/src/material.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     REFLECTION_TYPE_SPECULAR,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeSpecular`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `REFLECTION_TYPE_REFRACTION` should have an upper camel case name
[INFO] [stderr]  --> /opt/rustwide/workdir/src/material.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     REFLECTION_TYPE_REFRACTION,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReflectionTypeRefraction`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> /opt/rustwide/workdir/src/radiance.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 27 |         (-1.0 * hitpoint.normal)
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 4 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9edb909b61e4428fbc2610e81abaf326e9a9cd519de16b2815eefbad75bc39aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9edb909b61e4428fbc2610e81abaf326e9a9cd519de16b2815eefbad75bc39aa", kill_on_drop: false }`
[INFO] [stdout] 9edb909b61e4428fbc2610e81abaf326e9a9cd519de16b2815eefbad75bc39aa
