[INFO] cloning repository https://github.com/arora-aditya/just-another-ray-tracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/arora-aditya/just-another-ray-tracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farora-aditya%2Fjust-another-ray-tracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farora-aditya%2Fjust-another-ray-tracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3e2d170c47330f795ca19a1109c4a7e6eb8118e7
[INFO] testing arora-aditya/just-another-ray-tracer against beta-2021-08-01 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farora-aditya%2Fjust-another-ray-tracer" "/workspace/builds/worker-11/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-11/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/arora-aditya/just-another-ray-tracer on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/arora-aditya/just-another-ray-tracer
[INFO] finished tweaking git repo https://github.com/arora-aditya/just-another-ray-tracer
[INFO] tweaked toml for git repo https://github.com/arora-aditya/just-another-ray-tracer written to /workspace/builds/worker-11/source/Cargo.toml
[INFO] crate git repo https://github.com/arora-aditya/just-another-ray-tracer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1df0f328d600ba3737c7761aeb8f5dcef38d8c2ef01ed2547e062d9d3e025001
[INFO] running `Command { std: "docker" "start" "-a" "1df0f328d600ba3737c7761aeb8f5dcef38d8c2ef01ed2547e062d9d3e025001", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1df0f328d600ba3737c7761aeb8f5dcef38d8c2ef01ed2547e062d9d3e025001", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1df0f328d600ba3737c7761aeb8f5dcef38d8c2ef01ed2547e062d9d3e025001", kill_on_drop: false }`
[INFO] [stdout] 1df0f328d600ba3737c7761aeb8f5dcef38d8c2ef01ed2547e062d9d3e025001
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a22884e4cb24a1f04fbdf4a9fca6c9f138d2cfb6df679f399ee0656901502bc9
[INFO] running `Command { std: "docker" "start" "-a" "a22884e4cb24a1f04fbdf4a9fca6c9f138d2cfb6df679f399ee0656901502bc9", kill_on_drop: false }`
[INFO] [stderr]    Compiling rayon-core v1.6.1
[INFO] [stderr]    Compiling weezl v0.1.5
[INFO] [stderr]    Compiling bytemuck v1.5.1
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.0
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling memoffset v0.5.3
[INFO] [stderr]    Compiling num_cpus v1.11.1
[INFO] [stderr]    Compiling gif v0.11.2
[INFO] [stderr]    Compiling crossbeam-queue v0.2.0
[INFO] [stderr]    Compiling crossbeam-deque v0.7.2
[INFO] [stderr]    Compiling rayon v1.2.1
[INFO] [stderr]    Compiling jpeg-decoder v0.1.22
[INFO] [stderr]    Compiling tiff v0.6.1
[INFO] [stderr]    Compiling image v0.23.14
[INFO] [stderr]    Compiling ray-tracing-in-a-weekend v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/render/mod.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::tracer::ray::{self, Ray};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::material`
[INFO] [stdout]   --> src/render/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::material;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SphereThing`
[INFO] [stdout]   --> src/render/mod.rs:16:52
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::objects::sphere::{Sphere, MovingSphere, SphereThing};
[INFO] [stdout]    |                                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/render/mod.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::camera::camera::{self, Camera};
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::textures::texture::Texture`
[INFO] [stdout]   --> src/render/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::textures::texture::Texture;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/render/mod.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |             if ((center-Vec3{e: [4.0,0.2,0.0]}).length() > 0.9) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Random`
[INFO] [stdout]   --> src/tracer/vec3.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::utils::{self, Random};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/tracer/vec3.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         (self.e[0]*self.e[0] + self.e[1]*self.e[1] + self.e[2]*self.e[2])
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MulAssign`
[INFO] [stdout]  --> src/tracer/color.rs:1:48
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Add, AddAssign, DivAssign, Mul, MulAssign};
[INFO] [stdout]   |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::borrow::Borrow`
[INFO] [stdout]  --> src/objects/hittable_list.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use core::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/objects/hittable_list.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |         if (self.hitables.is_empty()){
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/objects/sphere.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub material: Box<Material>,
[INFO] [stdout]    |                       ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/objects/sphere.rs:19:57
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new(center: Vec3, radius: f32, material: Box<Material>) -> Sphere{
[INFO] [stdout]    |                                                         ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/objects/sphere.rs:74:23
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub material: Box<Material>,
[INFO] [stdout]    |                       ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::borrow::Borrow`
[INFO] [stdout]  --> src/objects/aabb.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::hittable::Hittable`
[INFO] [stdout]  --> src/objects/aabb.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::objects::hittable::Hittable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::hittable::HitRecord`
[INFO] [stdout]  --> src/objects/aabb.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::objects::hittable::HitRecord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::material::metal::MetalMaterial`
[INFO] [stdout]  --> src/objects/aabb.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::material::metal::MetalMaterial;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/objects/aabb.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |             if (inv_d < 0.0){
[INFO] [stdout]    |                ^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/objects/aabb.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let t_min2 = if (t0 > t_min) { t0 } else { t_min };
[INFO] [stdout]    |                             ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/objects/aabb.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let t_max2 = if (t1 < t_max) { t1 } else { t_max };
[INFO] [stdout]    |                             ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/objects/aabb.rs:44:16
[INFO] [stdout]    |
[INFO] [stdout] 44 |             if (t_max2 <= t_min2){
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tracer::vec3`
[INFO] [stdout]  --> src/objects/bvh_node.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::tracer::vec3;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Vec3`, `self`
[INFO] [stdout]  --> src/material/base.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tracer::vec3::{self, Vec3};
[INFO] [stdout]   |                           ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/material/base.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::utils::{self, Random};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: patterns aren't allowed in functions without bodies
[INFO] [stdout]   --> src/material/base.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn scatter(&self, mut random: &mut Random, r_in: Ray, hit_record: HitRecord) -> Option<ScatterRecord>;
[INFO] [stdout]    |                       ^^^^^^^^^^ help: remove `mut` from the parameter: `random`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(patterns_in_fns_without_body)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #35203 <https://github.com/rust-lang/rust/issues/35203>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/material/dielectric.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::utils::{self, Random};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::textures::perlin::Perlin`
[INFO] [stdout]  --> src/textures/image.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::textures::perlin::Perlin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/render/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let n: i32 = 500;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/render/mod.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let i: i32 = 1;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aperture`
[INFO] [stdout]    --> src/render/mod.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |     let mut aperture: f32;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aperture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/render/mod.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |     let r: f32 = (std::f32::consts::PI/4.0).cos();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `aperture` is never read
[INFO] [stdout]    --> src/render/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             aperture = 0.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: value assigned to `aperture` is never read
[INFO] [stdout]    --> src/render/mod.rs:222:13
[INFO] [stdout]     |
[INFO] [stdout] 222 |             aperture = 0.0;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `aperture` is never read
[INFO] [stdout]    --> src/render/mod.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |             aperture = 0.0;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `aperture` is never read
[INFO] [stdout]    --> src/render/mod.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |             aperture = 0.0;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `aperture` is never read
[INFO] [stdout]    --> src/render/mod.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |             aperture = 0.0;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `aperture` is never read
[INFO] [stdout]    --> src/render/mod.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |             aperture = 0.0;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/render/mod.rs:292:17
[INFO] [stdout]     |
[INFO] [stdout] 292 |             for s in 0..ns {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first_box`
[INFO] [stdout]   --> src/objects/hittable_list.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut first_box: bool = true;
[INFO] [stdout]    |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_box`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time0`
[INFO] [stdout]   --> src/objects/sphere.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn bounding_box(&self, time0: f32, time1: f32) -> Option<AABB> {
[INFO] [stdout]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time1`
[INFO] [stdout]   --> src/objects/sphere.rs:64:40
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn bounding_box(&self, time0: f32, time1: f32) -> Option<AABB> {
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time0`
[INFO] [stdout]    --> src/objects/bvh_node.rs:115:28
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn bounding_box(&self, time0: f32, time1: f32) -> Option<AABB> {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time1`
[INFO] [stdout]    --> src/objects/bvh_node.rs:115:40
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn bounding_box(&self, time0: f32, time1: f32) -> Option<AABB> {
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/textures/solid_color.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn value(&self, u: f32, v: f32, p: &Vec3) -> Color3 {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/textures/solid_color.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn value(&self, u: f32, v: f32, p: &Vec3) -> Color3 {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/textures/solid_color.rs:18:37
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn value(&self, u: f32, v: f32, p: &Vec3) -> Color3 {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/render/mod.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let mut nx: i32 = 200;
[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/render/mod.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |     let mut ny: i32 = 100;
[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/mod.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |     let mut ns: i32;
[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/mod.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let mut vfov: f32;
[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/mod.rs:194:9
[INFO] [stdout]     |
[INFO] [stdout] 194 |     let mut lookfrom: Vec3;
[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/mod.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |     let mut lookat: Vec3;
[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/mod.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 196 |     let mut dist_to_focus: f32;
[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/mod.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let mut background: Vec3;
[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/objects/hittable_list.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut first_box: bool = true;
[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/material/metal.rs:25:23
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn scatter(&self, mut random: &mut Random, r_in: Ray, hit_record: HitRecord) -> Option<ScatterRecord> {
[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/material/dielectric.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn scatter(&self, mut random: &mut Random, r_in: Ray, hit_record: HitRecord) -> Option<ScatterRecord> {        
[INFO] [stdout]    |                       ----^^^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `random_in_unit_sphere`
[INFO] [stdout]    --> src/render/mod.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn random_in_unit_sphere(random: &mut utils::Random) -> Vec3 {
[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/tracer/ray.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(origin: Vec3, dir: Vec3, time: f32) -> Ray {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `zero`
[INFO] [stdout]   --> src/objects/hittable.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn zero(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Fixed`
[INFO] [stdout]    --> src/objects/sphere.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     Fixed(Sphere),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Moving`
[INFO] [stdout]    --> src/objects/sphere.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     Moving(MovingSphere),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/objects/bvh_node.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `box_compare`
[INFO] [stdout]   --> src/objects/bvh_node.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn box_compare(a: &Rc<dyn Hittable>, b: &Rc<dyn Hittable>, axis: u32) -> std::cmp::Ordering {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `box_x_compare`
[INFO] [stdout]   --> src/objects/bvh_node.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn box_x_compare(a: &Rc<dyn Hittable>, b: &Rc<dyn Hittable>) -> std::cmp::Ordering {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `box_y_compare`
[INFO] [stdout]   --> src/objects/bvh_node.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn box_y_compare(a: &Rc<dyn Hittable>, b: &Rc<dyn Hittable>) -> std::cmp::Ordering {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `box_z_compare`
[INFO] [stdout]   --> src/objects/bvh_node.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn box_z_compare(a: &Rc<dyn Hittable>, b: &Rc<dyn Hittable>) -> std::cmp::Ordering {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `seed`
[INFO] [stdout]  --> src/utils/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     seed:  [u8; 32],
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 69 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 29.22s
[INFO] running `Command { std: "docker" "inspect" "a22884e4cb24a1f04fbdf4a9fca6c9f138d2cfb6df679f399ee0656901502bc9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a22884e4cb24a1f04fbdf4a9fca6c9f138d2cfb6df679f399ee0656901502bc9", kill_on_drop: false }`
[INFO] [stdout] a22884e4cb24a1f04fbdf4a9fca6c9f138d2cfb6df679f399ee0656901502bc9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 69a8630da99654b02398faa6e1fcf32b59b916f88c8e8c15d2c42367189df133
[INFO] running `Command { std: "docker" "start" "-a" "69a8630da99654b02398faa6e1fcf32b59b916f88c8e8c15d2c42367189df133", kill_on_drop: false }`
[INFO] [stderr]    Compiling ray-tracing-in-a-weekend v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `super::vec3`
[INFO] [stdout]   --> src/tracer/ray.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     use super::vec3;
[INFO] [stdout]    |         ^^^^^^^----
[INFO] [stdout]    |         |      |
[INFO] [stdout]    |         |      help: a similar name exists in the module (notice the capitalization): `Vec3`
[INFO] [stdout]    |         no `vec3` in `tracer::ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Vec3` in this scope
[INFO] [stdout]    --> src/tracer/ray.rs:57:20
[INFO] [stdout]     |
[INFO] [stdout] 57  |                   a: Vec3{e: [1.0, 0.0, 2.0]},
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 57  |                 a: Vec{e: [1.0, 0.0, 2.0]},
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 50  |     use crate::textures::image::Vec3;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Vec3` in this scope
[INFO] [stdout]    --> src/tracer/ray.rs:58:20
[INFO] [stdout]     |
[INFO] [stdout] 58  |                   b: Vec3{e: [4.0, 5.0, 6.0]},
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 58  |                 b: Vec{e: [4.0, 5.0, 6.0]},
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 50  |     use crate::textures::image::Vec3;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Vec3` in this scope
[INFO] [stdout]    --> src/tracer/ray.rs:60:13
[INFO] [stdout]     |
[INFO] [stdout] 60  |               Vec3{e: [17.0, 20.0, 26.0]}
[INFO] [stdout]     |               ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 60  |             Vec{e: [17.0, 20.0, 26.0]}
[INFO] [stdout]     |             ^^^
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 50  |     use crate::textures::image::Vec3;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Vec3` in this scope
[INFO] [stdout]    --> src/tracer/ray.rs:68:20
[INFO] [stdout]     |
[INFO] [stdout] 68  |                   a: Vec3{e: [1.0, 0.0, 2.0]},
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 68  |                 a: Vec{e: [1.0, 0.0, 2.0]},
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 50  |     use crate::textures::image::Vec3;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Vec3` in this scope
[INFO] [stdout]    --> src/tracer/ray.rs:69:20
[INFO] [stdout]     |
[INFO] [stdout] 69  |                   b: Vec3{e: [4.0, 5.0, 6.0]},
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 69  |                 b: Vec{e: [4.0, 5.0, 6.0]},
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 50  |     use crate::textures::image::Vec3;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Vec3` in this scope
[INFO] [stdout]    --> src/tracer/ray.rs:71:13
[INFO] [stdout]     |
[INFO] [stdout] 71  |               Vec3{e: [1.0, 0.0, 2.0]}
[INFO] [stdout]     |               ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 71  |             Vec{e: [1.0, 0.0, 2.0]}
[INFO] [stdout]     |             ^^^
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 50  |     use crate::textures::image::Vec3;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Vec3` in this scope
[INFO] [stdout]    --> src/tracer/ray.rs:79:20
[INFO] [stdout]     |
[INFO] [stdout] 79  |                   a: Vec3{e: [1.0, 0.0, 2.0]},
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 79  |                 a: Vec{e: [1.0, 0.0, 2.0]},
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 50  |     use crate::textures::image::Vec3;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Vec3` in this scope
[INFO] [stdout]    --> src/tracer/ray.rs:80:20
[INFO] [stdout]     |
[INFO] [stdout] 80  |                   b: Vec3{e: [4.0, 5.0, 6.0]},
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 80  |                 b: Vec{e: [4.0, 5.0, 6.0]},
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 50  |     use crate::textures::image::Vec3;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Vec3` in this scope
[INFO] [stdout]    --> src/tracer/ray.rs:82:13
[INFO] [stdout]     |
[INFO] [stdout] 82  |               Vec3{e: [4.0, 5.0, 6.0]}
[INFO] [stdout]     |               ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 82  |             Vec{e: [4.0, 5.0, 6.0]}
[INFO] [stdout]     |             ^^^
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 50  |     use crate::textures::image::Vec3;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/render/mod.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::tracer::ray::{self, Ray};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::material`
[INFO] [stdout]   --> src/render/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::material;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SphereThing`
[INFO] [stdout]   --> src/render/mod.rs:16:52
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::objects::sphere::{Sphere, MovingSphere, SphereThing};
[INFO] [stdout]    |                                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/render/mod.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::camera::camera::{self, Camera};
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::textures::texture::Texture`
[INFO] [stdout]   --> src/render/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::textures::texture::Texture;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/render/mod.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |             if ((center-Vec3{e: [4.0,0.2,0.0]}).length() > 0.9) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Random`
[INFO] [stdout]   --> src/tracer/vec3.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::utils::{self, Random};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/tracer/vec3.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         (self.e[0]*self.e[0] + self.e[1]*self.e[1] + self.e[2]*self.e[2])
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MulAssign`
[INFO] [stdout]  --> src/tracer/color.rs:1:48
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Add, AddAssign, DivAssign, Mul, MulAssign};
[INFO] [stdout]   |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::borrow::Borrow`
[INFO] [stdout]  --> src/objects/hittable_list.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use core::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/objects/hittable_list.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |         if (self.hitables.is_empty()){
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/objects/sphere.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub material: Box<Material>,
[INFO] [stdout]    |                       ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/objects/sphere.rs:19:57
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new(center: Vec3, radius: f32, material: Box<Material>) -> Sphere{
[INFO] [stdout]    |                                                         ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/objects/sphere.rs:74:23
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub material: Box<Material>,
[INFO] [stdout]    |                       ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::borrow::Borrow`
[INFO] [stdout]  --> src/objects/aabb.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::hittable::Hittable`
[INFO] [stdout]  --> src/objects/aabb.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::objects::hittable::Hittable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::hittable::HitRecord`
[INFO] [stdout]  --> src/objects/aabb.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::objects::hittable::HitRecord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::material::metal::MetalMaterial`
[INFO] [stdout]  --> src/objects/aabb.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::material::metal::MetalMaterial;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/objects/aabb.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |             if (inv_d < 0.0){
[INFO] [stdout]    |                ^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/objects/aabb.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let t_min2 = if (t0 > t_min) { t0 } else { t_min };
[INFO] [stdout]    |                             ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/objects/aabb.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let t_max2 = if (t1 < t_max) { t1 } else { t_max };
[INFO] [stdout]    |                             ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/objects/aabb.rs:44:16
[INFO] [stdout]    |
[INFO] [stdout] 44 |             if (t_max2 <= t_min2){
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tracer::vec3`
[INFO] [stdout]  --> src/objects/bvh_node.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::tracer::vec3;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Vec3`, `self`
[INFO] [stdout]  --> src/material/base.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tracer::vec3::{self, Vec3};
[INFO] [stdout]   |                           ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/material/base.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::utils::{self, Random};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: patterns aren't allowed in functions without bodies
[INFO] [stdout]   --> src/material/base.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn scatter(&self, mut random: &mut Random, r_in: Ray, hit_record: HitRecord) -> Option<ScatterRecord>;
[INFO] [stdout]    |                       ^^^^^^^^^^ help: remove `mut` from the parameter: `random`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(patterns_in_fns_without_body)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #35203 <https://github.com/rust-lang/rust/issues/35203>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/material/dielectric.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::utils::{self, Random};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::textures::perlin::Perlin`
[INFO] [stdout]  --> src/textures/image.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::textures::perlin::Perlin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `_time` in initializer of `Ray`
[INFO] [stdout]   --> src/tracer/ray.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Ray {
[INFO] [stdout]    |             ^^^ missing `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `_time` in initializer of `Ray`
[INFO] [stdout]   --> src/tracer/ray.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |             Ray {
[INFO] [stdout]    |             ^^^ missing `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `_time` in initializer of `Ray`
[INFO] [stdout]   --> src/tracer/ray.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |             Ray {
[INFO] [stdout]    |             ^^^ missing `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 13 previous errors; 28 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0063, E0422, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ray-tracing-in-a-weekend` due to 14 previous errors; 28 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "69a8630da99654b02398faa6e1fcf32b59b916f88c8e8c15d2c42367189df133", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69a8630da99654b02398faa6e1fcf32b59b916f88c8e8c15d2c42367189df133", kill_on_drop: false }`
[INFO] [stdout] 69a8630da99654b02398faa6e1fcf32b59b916f88c8e8c15d2c42367189df133
