[INFO] cloning repository https://github.com/Angle-Brackets/RustTracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Angle-Brackets/RustTracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAngle-Brackets%2FRustTracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAngle-Brackets%2FRustTracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 73aca32d36161790fabcf8572d6ff459ca186255
[INFO] testing Angle-Brackets/RustTracer against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAngle-Brackets%2FRustTracer" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Angle-Brackets/RustTracer
[INFO] finished tweaking git repo https://github.com/Angle-Brackets/RustTracer
[INFO] tweaked toml for git repo https://github.com/Angle-Brackets/RustTracer written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Angle-Brackets/RustTracer on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Angle-Brackets/RustTracer 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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 22e0d88bac3ac3af4a544ece53cc388b898ae853198c0b30730fd18ca8b2ed94
[INFO] running `Command { std: "docker" "start" "-a" "22e0d88bac3ac3af4a544ece53cc388b898ae853198c0b30730fd18ca8b2ed94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "22e0d88bac3ac3af4a544ece53cc388b898ae853198c0b30730fd18ca8b2ed94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22e0d88bac3ac3af4a544ece53cc388b898ae853198c0b30730fd18ca8b2ed94", kill_on_drop: false }`
[INFO] [stdout] 22e0d88bac3ac3af4a544ece53cc388b898ae853198c0b30730fd18ca8b2ed94
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a03254efe5ac79e5df743f5b46342c6e0ed5662892c9c753b74362500f8ecc69
[INFO] running `Command { std: "docker" "start" "-a" "a03254efe5ac79e5df743f5b46342c6e0ed5662892c9c753b74362500f8ecc69", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.152
[INFO] [stderr]    Compiling getrandom v0.2.12
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rustraytracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/math/interval.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 |         if(x < self.min){
[INFO] [stdout]    |           ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 35 -         if(x < self.min){
[INFO] [stdout] 35 +         if x < self.min {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/math/interval.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 |         if(x > self.max){
[INFO] [stdout]    |           ^            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -         if(x > self.max){
[INFO] [stdout] 38 +         if x > self.max {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color3`
[INFO] [stdout]  --> src/shapes/hittable.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::math::vec3::{Vec3, Color3};
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/shapes/hittable.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |         if(self.front_face){
[INFO] [stdout]    |           ^               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 -         if(self.front_face){
[INFO] [stdout] 26 +         if self.front_face {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/shapes/sphere.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 |         if(discriminant < 0.0){
[INFO] [stdout]    |           ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 35 -         if(discriminant < 0.0){
[INFO] [stdout] 35 +         if discriminant < 0.0 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/shapes/sphere.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 |         if(!interval.surrounds(root)){
[INFO] [stdout]    |           ^                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 43 -         if(!interval.surrounds(root)){
[INFO] [stdout] 43 +         if !interval.surrounds(root) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/shapes/sphere.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 |             if(!interval.surrounds(root)){
[INFO] [stdout]    |               ^                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 45 -             if(!interval.surrounds(root)){
[INFO] [stdout] 45 +             if !interval.surrounds(root) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HittableList` and `Hittable`
[INFO] [stdout]  --> src/shapes/material.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{HitRecord, Hittable, HittableList};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `global::Parameters`
[INFO] [stdout]  --> src/render/camera.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{global::Parameters};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iter`
[INFO] [stdout]  --> src/render/camera.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{fs, iter};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/render/camera.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 |             if(rec.material.scatter(ray, &rec, &mut attenuation, &mut scattered)){
[INFO] [stdout]    |               ^                                                                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 78 -             if(rec.material.scatter(ray, &rec, &mut attenuation, &mut scattered)){
[INFO] [stdout] 78 +             if rec.material.scatter(ray, &rec, &mut attenuation, &mut scattered) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Point3`
[INFO] [stdout]  --> src/main.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use math::vec3::{Color3, Vec3, Point3};
[INFO] [stdout]   |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `direction` is never read
[INFO] [stdout]   --> src/shapes/material.rs:60:25
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 let mut direction : Vec3 = Vec3::default();
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Point3` is never used
[INFO] [stdout]   --> src/math/vec3.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type Point3 = Vec3;
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/math/ray.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Ray {
[INFO] [stdout]   | -------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(orig : Vec3, direction : Vec3) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `empty` is never used
[INFO] [stdout]  --> src/math/interval.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const empty : Interval = Interval {
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `universe` is never used
[INFO] [stdout]   --> src/math/interval.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const universe : Interval = Interval {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains` is never used
[INFO] [stdout]   --> src/math/interval.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Interval {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn contains(&self, x : f64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]   --> src/shapes/hittable.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl HittableList {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn clear(&mut self){
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `aspect_ratio` is never read
[INFO] [stdout]   --> src/render/camera.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Camera {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     aspect_ratio : f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Camera` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `empty` should have an upper case name
[INFO] [stdout]  --> src/math/interval.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const empty : Interval = Interval {
[INFO] [stdout]   |           ^^^^^ help: convert the identifier to upper case: `EMPTY`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `universe` should have an upper case name
[INFO] [stdout]   --> src/math/interval.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const universe : Interval = Interval {
[INFO] [stdout]    |           ^^^^^^^^ help: convert the identifier to upper case: `UNIVERSE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `RNG` should have a snake case name
[INFO] [stdout]    --> src/render/camera.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut RNG : rand::rngs::ThreadRng = rand::thread_rng();
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case: `rng`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.99s
[INFO] running `Command { std: "docker" "inspect" "a03254efe5ac79e5df743f5b46342c6e0ed5662892c9c753b74362500f8ecc69", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a03254efe5ac79e5df743f5b46342c6e0ed5662892c9c753b74362500f8ecc69", kill_on_drop: false }`
[INFO] [stdout] a03254efe5ac79e5df743f5b46342c6e0ed5662892c9c753b74362500f8ecc69
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] aa83746085118a845d3c3f4fb8bd0dd3d3f97fc90f08af4bc53f5dac67a1fad5
[INFO] running `Command { std: "docker" "start" "-a" "aa83746085118a845d3c3f4fb8bd0dd3d3f97fc90f08af4bc53f5dac67a1fad5", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustraytracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/math/interval.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 |         if(x < self.min){
[INFO] [stdout]    |           ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 35 -         if(x < self.min){
[INFO] [stdout] 35 +         if x < self.min {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/math/interval.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 |         if(x > self.max){
[INFO] [stdout]    |           ^            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -         if(x > self.max){
[INFO] [stdout] 38 +         if x > self.max {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color3`
[INFO] [stdout]  --> src/shapes/hittable.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::math::vec3::{Vec3, Color3};
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/shapes/hittable.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |         if(self.front_face){
[INFO] [stdout]    |           ^               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 -         if(self.front_face){
[INFO] [stdout] 26 +         if self.front_face {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/shapes/sphere.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 |         if(discriminant < 0.0){
[INFO] [stdout]    |           ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 35 -         if(discriminant < 0.0){
[INFO] [stdout] 35 +         if discriminant < 0.0 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/shapes/sphere.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 |         if(!interval.surrounds(root)){
[INFO] [stdout]    |           ^                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 43 -         if(!interval.surrounds(root)){
[INFO] [stdout] 43 +         if !interval.surrounds(root) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/shapes/sphere.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 |             if(!interval.surrounds(root)){
[INFO] [stdout]    |               ^                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 45 -             if(!interval.surrounds(root)){
[INFO] [stdout] 45 +             if !interval.surrounds(root) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HittableList` and `Hittable`
[INFO] [stdout]  --> src/shapes/material.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{HitRecord, Hittable, HittableList};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `global::Parameters`
[INFO] [stdout]  --> src/render/camera.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{global::Parameters};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iter`
[INFO] [stdout]  --> src/render/camera.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{fs, iter};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/render/camera.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 |             if(rec.material.scatter(ray, &rec, &mut attenuation, &mut scattered)){
[INFO] [stdout]    |               ^                                                                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 78 -             if(rec.material.scatter(ray, &rec, &mut attenuation, &mut scattered)){
[INFO] [stdout] 78 +             if rec.material.scatter(ray, &rec, &mut attenuation, &mut scattered) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Point3`
[INFO] [stdout]  --> src/main.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use math::vec3::{Color3, Vec3, Point3};
[INFO] [stdout]   |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `direction` is never read
[INFO] [stdout]   --> src/shapes/material.rs:60:25
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 let mut direction : Vec3 = Vec3::default();
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Point3` is never used
[INFO] [stdout]   --> src/math/vec3.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type Point3 = Vec3;
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/math/ray.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Ray {
[INFO] [stdout]   | -------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(orig : Vec3, direction : Vec3) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `empty` is never used
[INFO] [stdout]  --> src/math/interval.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const empty : Interval = Interval {
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `universe` is never used
[INFO] [stdout]   --> src/math/interval.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const universe : Interval = Interval {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains` is never used
[INFO] [stdout]   --> src/math/interval.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Interval {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn contains(&self, x : f64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]   --> src/shapes/hittable.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl HittableList {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn clear(&mut self){
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `aspect_ratio` is never read
[INFO] [stdout]   --> src/render/camera.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Camera {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     aspect_ratio : f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Camera` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `empty` should have an upper case name
[INFO] [stdout]  --> src/math/interval.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const empty : Interval = Interval {
[INFO] [stdout]   |           ^^^^^ help: convert the identifier to upper case: `EMPTY`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `universe` should have an upper case name
[INFO] [stdout]   --> src/math/interval.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const universe : Interval = Interval {
[INFO] [stdout]    |           ^^^^^^^^ help: convert the identifier to upper case: `UNIVERSE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `RNG` should have a snake case name
[INFO] [stdout]    --> src/render/camera.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut RNG : rand::rngs::ThreadRng = rand::thread_rng();
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case: `rng`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.42s
[INFO] running `Command { std: "docker" "inspect" "aa83746085118a845d3c3f4fb8bd0dd3d3f97fc90f08af4bc53f5dac67a1fad5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa83746085118a845d3c3f4fb8bd0dd3d3f97fc90f08af4bc53f5dac67a1fad5", kill_on_drop: false }`
[INFO] [stdout] aa83746085118a845d3c3f4fb8bd0dd3d3f97fc90f08af4bc53f5dac67a1fad5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a5327591101425e8177aa067f11c6c3c8d66e779cd88f7580c3b5ba0fb4a230f
[INFO] running `Command { std: "docker" "start" "-a" "a5327591101425e8177aa067f11c6c3c8d66e779cd88f7580c3b5ba0fb4a230f", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stdout] 
[INFO] [stderr]   --> src/math/interval.rs:35:11
[INFO] [stdout] running 0 tests
[INFO] [stderr]    |
[INFO] [stdout] 
[INFO] [stderr] 35 |         if(x < self.min){
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]    |           ^            ^
[INFO] [stdout] 
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 35 -         if(x < self.min){
[INFO] [stderr] 35 +         if x < self.min {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/math/interval.rs:38:11
[INFO] [stderr]    |
[INFO] [stderr] 38 |         if(x > self.max){
[INFO] [stderr]    |           ^            ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 38 -         if(x > self.max){
[INFO] [stderr] 38 +         if x > self.max {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Color3`
[INFO] [stderr]  --> src/shapes/hittable.rs:1:31
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::math::vec3::{Vec3, Color3};
[INFO] [stderr]   |                               ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/shapes/hittable.rs:26:11
[INFO] [stderr]    |
[INFO] [stderr] 26 |         if(self.front_face){
[INFO] [stderr]    |           ^               ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 26 -         if(self.front_face){
[INFO] [stderr] 26 +         if self.front_face {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/shapes/sphere.rs:35:11
[INFO] [stderr]    |
[INFO] [stderr] 35 |         if(discriminant < 0.0){
[INFO] [stderr]    |           ^                  ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 35 -         if(discriminant < 0.0){
[INFO] [stderr] 35 +         if discriminant < 0.0 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/shapes/sphere.rs:43:11
[INFO] [stderr]    |
[INFO] [stderr] 43 |         if(!interval.surrounds(root)){
[INFO] [stderr]    |           ^                         ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 43 -         if(!interval.surrounds(root)){
[INFO] [stderr] 43 +         if !interval.surrounds(root) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/shapes/sphere.rs:45:15
[INFO] [stderr]    |
[INFO] [stderr] 45 |             if(!interval.surrounds(root)){
[INFO] [stderr]    |               ^                         ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 45 -             if(!interval.surrounds(root)){
[INFO] [stderr] 45 +             if !interval.surrounds(root) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HittableList` and `Hittable`
[INFO] [stderr]  --> src/shapes/material.rs:6:24
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::{HitRecord, Hittable, HittableList};
[INFO] [stderr]   |                        ^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `global::Parameters`
[INFO] [stderr]  --> src/render/camera.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::{global::Parameters};
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `iter`
[INFO] [stderr]  --> src/render/camera.rs:6:15
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::{fs, iter};
[INFO] [stderr]   |               ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/render/camera.rs:78:15
[INFO] [stderr]    |
[INFO] [stderr] 78 |             if(rec.material.scatter(ray, &rec, &mut attenuation, &mut scattered)){
[INFO] [stderr]    |               ^                                                                 ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 78 -             if(rec.material.scatter(ray, &rec, &mut attenuation, &mut scattered)){
[INFO] [stderr] 78 +             if rec.material.scatter(ray, &rec, &mut attenuation, &mut scattered) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Point3`
[INFO] [stderr]  --> src/main.rs:7:32
[INFO] [stderr]   |
[INFO] [stderr] 7 | use math::vec3::{Color3, Vec3, Point3};
[INFO] [stderr]   |                                ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `direction` is never read
[INFO] [stderr]   --> src/shapes/material.rs:60:25
[INFO] [stderr]    |
[INFO] [stderr] 60 |                 let mut direction : Vec3 = Vec3::default();
[INFO] [stderr]    |                         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Point3` is never used
[INFO] [stderr]   --> src/math/vec3.rs:14:10
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub type Point3 = Vec3;
[INFO] [stderr]    |          ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]  --> src/math/ray.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | impl Ray {
[INFO] [stderr]   | -------- associated function in this implementation
[INFO] [stderr] 9 |     pub fn new(orig : Vec3, direction : Vec3) -> Self {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `empty` is never used
[INFO] [stderr]  --> src/math/interval.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub const empty : Interval = Interval {
[INFO] [stderr]   |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `universe` is never used
[INFO] [stderr]   --> src/math/interval.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub const universe : Interval = Interval {
[INFO] [stderr]    |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `contains` is never used
[INFO] [stderr]   --> src/math/interval.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl Interval {
[INFO] [stderr]    | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub fn contains(&self, x : f64) -> bool {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `clear` is never used
[INFO] [stderr]   --> src/shapes/hittable.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 35 | impl HittableList {
[INFO] [stderr]    | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn clear(&mut self){
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `aspect_ratio` is never read
[INFO] [stderr]   --> src/render/camera.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct Camera {
[INFO] [stderr]    |            ------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 21 |     aspect_ratio : f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Camera` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: constant `empty` should have an upper case name
[INFO] [stderr]  --> src/math/interval.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub const empty : Interval = Interval {
[INFO] [stderr]   |           ^^^^^ help: convert the identifier to upper case: `EMPTY`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `universe` should have an upper case name
[INFO] [stderr]   --> src/math/interval.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub const universe : Interval = Interval {
[INFO] [stderr]    |           ^^^^^^^^ help: convert the identifier to upper case: `UNIVERSE`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `RNG` should have a snake case name
[INFO] [stderr]    --> src/render/camera.rs:189:17
[INFO] [stderr]     |
[INFO] [stderr] 189 |         let mut RNG : rand::rngs::ThreadRng = rand::thread_rng();
[INFO] [stderr]     |                 ^^^ help: convert the identifier to snake case: `rng`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rustraytracer` (bin "rustraytracer" test) generated 23 warnings (run `cargo fix --bin "rustraytracer" --tests` to apply 14 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rustraytracer-8920a0c98e78009e)
[INFO] running `Command { std: "docker" "inspect" "a5327591101425e8177aa067f11c6c3c8d66e779cd88f7580c3b5ba0fb4a230f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a5327591101425e8177aa067f11c6c3c8d66e779cd88f7580c3b5ba0fb4a230f", kill_on_drop: false }`
[INFO] [stdout] a5327591101425e8177aa067f11c6c3c8d66e779cd88f7580c3b5ba0fb4a230f
