[INFO] cloning repository https://github.com/MyUsernamee/rust-raytracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MyUsernamee/rust-raytracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMyUsernamee%2Frust-raytracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMyUsernamee%2Frust-raytracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5a1f2e41132e72abd1398df0fcbcface1881210d
[INFO] checking MyUsernamee/rust-raytracer against try#ddcf048784667508cd676fef4667f88ae15628a3 for pr-148271
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMyUsernamee%2Frust-raytracer" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/MyUsernamee/rust-raytracer
[INFO] finished tweaking git repo https://github.com/MyUsernamee/rust-raytracer
[INFO] tweaked toml for git repo https://github.com/MyUsernamee/rust-raytracer written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MyUsernamee/rust-raytracer on toolchain ddcf048784667508cd676fef4667f88ae15628a3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ddcf048784667508cd676fef4667f88ae15628a3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MyUsernamee/rust-raytracer 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" "+ddcf048784667508cd676fef4667f88ae15628a3" "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] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unicode-ident v1.0.2
[INFO] [stderr]   Downloaded proc-macro2 v1.0.42
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.10
[INFO] [stderr]   Downloaded bytemuck v1.11.0
[INFO] [stderr]   Downloaded tiff v0.7.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+ddcf048784667508cd676fef4667f88ae15628a3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a7e8e437795b6c4342487192a8276e9c210cd6c31cdb542a07e5207343ae4e83
[INFO] running `Command { std: "docker" "start" "-a" "a7e8e437795b6c4342487192a8276e9c210cd6c31cdb542a07e5207343ae4e83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a7e8e437795b6c4342487192a8276e9c210cd6c31cdb542a07e5207343ae4e83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7e8e437795b6c4342487192a8276e9c210cd6c31cdb542a07e5207343ae4e83", kill_on_drop: false }`
[INFO] [stdout] a7e8e437795b6c4342487192a8276e9c210cd6c31cdb542a07e5207343ae4e83
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "-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" "+ddcf048784667508cd676fef4667f88ae15628a3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ae51330e63dcd63f4a4977449aba6c3f89606441ce56cfccd7f4ce7321038034
[INFO] running `Command { std: "docker" "start" "-a" "ae51330e63dcd63f4a4977449aba6c3f89606441ce56cfccd7f4ce7321038034", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.11
[INFO] [stderr]    Compiling proc-macro2 v1.0.42
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.10
[INFO] [stderr]    Compiling quote v1.0.20
[INFO] [stderr]    Compiling unicode-ident v1.0.2
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]    Compiling rayon v1.5.3
[INFO] [stderr]    Compiling rayon-core v1.9.3
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking miniz_oxide v0.5.3
[INFO] [stderr]     Checking getrandom v0.2.7
[INFO] [stderr]     Checking either v1.7.0
[INFO] [stderr]     Checking spin v0.9.4
[INFO] [stderr]     Checking deflate v1.0.0
[INFO] [stderr]     Checking futures-sink v0.3.21
[INFO] [stderr]     Checking weezl v0.1.7
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]     Checking half v1.8.2
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking lebe v0.5.1
[INFO] [stderr]     Checking smallvec v1.9.0
[INFO] [stderr]    Compiling cgmath v0.18.0
[INFO] [stderr]     Checking bit_field v0.10.1
[INFO] [stderr]     Checking gif v0.11.4
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]     Checking bytemuck v1.11.0
[INFO] [stderr]     Checking flate2 v1.0.24
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking png v0.17.5
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking num-rational v0.4.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.6
[INFO] [stderr]     Checking crossbeam-deque v0.8.2
[INFO] [stderr]     Checking jpeg-decoder v0.2.6
[INFO] [stderr]    Compiling pin-project-internal v1.0.11
[INFO] [stderr]     Checking tiff v0.7.3
[INFO] [stderr]     Checking pin-project v1.0.11
[INFO] [stderr]     Checking flume v0.10.14
[INFO] [stderr]     Checking exr v1.4.2
[INFO] [stderr]     Checking image v0.24.3
[INFO] [stderr]     Checking Raytracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected one of `!`, `,`, `.`, `::`, `?`, `{`, `}`, or an operator, found `:`
[INFO] [stdout]    --> src/renderer/mod.rs:150:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 intersection: Intersection { 
[INFO] [stdout]     |                               ------------ while parsing this struct
[INFO] [stdout] ...
[INFO] [stdout] 150 |                     distance: 0.0,
[INFO] [stdout]     |                             ^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             expected one of 8 possible tokens
[INFO] [stdout]     |                             help: try adding a comma: `,`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `,`
[INFO] [stdout]    --> src/renderer/mod.rs:160:84
[INFO] [stdout]     |
[INFO] [stdout] 160 |         intersect_objects(last_bounce.intersection.interseciont.starting_position, , objects)
[INFO] [stdout]     |                                                                                    ^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `!`, `,`, `.`, `::`, `?`, `{`, `}`, or an operator, found `:`
[INFO] [stdout]    --> src/renderer/mod.rs:150:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 intersection: Intersection { 
[INFO] [stdout]     |                               ------------ while parsing this struct
[INFO] [stdout] ...
[INFO] [stdout] 150 |                     distance: 0.0,
[INFO] [stdout]     |                             ^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             expected one of 8 possible tokens
[INFO] [stdout]     |                             help: try adding a comma: `,`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `,`
[INFO] [stdout]    --> src/renderer/mod.rs:160:84
[INFO] [stdout]     |
[INFO] [stdout] 160 |         intersect_objects(last_bounce.intersection.interseciont.starting_position, , objects)
[INFO] [stdout]     |                                                                                    ^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/intersections/mod.rs:65:37
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let distance = plane_normal.dot((plane_position - starting_position)) / dot;
[INFO] [stdout]    |                                     ^                                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 65 -     let distance = plane_normal.dot((plane_position - starting_position)) / dot;
[INFO] [stdout] 65 +     let distance = plane_normal.dot(plane_position - starting_position ) / dot;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SquareMatrix`
[INFO] [stdout]  --> src/renderer/mod.rs:1:74
[INFO] [stdout]   |
[INFO] [stdout] 1 | use cgmath::{Vector3, Matrix4, InnerSpace, Matrix, ElementWise, Matrix3, SquareMatrix, MetricSpace};
[INFO] [stdout]   |                                                                          ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/renderer/mod.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{thread_rng, Rng};
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `intersect_object`
[INFO] [stdout]  --> src/renderer/mod.rs:5:91
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{object::{IntersectableObject, intersect_objects, get_random_point_on_surface, intersect_object, ObjectIntersection}, intersec...
[INFO] [stdout]   |                                                                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/renderer/mod.rs:79:16
[INFO] [stdout]    |
[INFO] [stdout] 79 | ...if (hit_intersection.object.material.color.x > 1.0 || hit_intersection.object.material.color.y > 1.0 || hit_intersection.object.material.color.z > 1.0) {
[INFO] [stdout]    |       ^                                                                                                                                                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 79 -             if (hit_intersection.object.material.color.x > 1.0 || hit_intersection.object.material.color.y > 1.0 || hit_intersection.object.material.color.z > 1.0) {
[INFO] [stdout] 79 +             if hit_intersection.object.material.color.x > 1.0 || hit_intersection.object.material.color.y > 1.0 || hit_intersection.object.material.color.z > 1.0  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `f64::consts::TAU` and `io::Write`
[INFO] [stdout]  --> src/main.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{fs::File, io::Write, f64::consts::TAU, env};
[INFO] [stdout]   |                     ^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Matrix3`, `Matrix4`, `Matrix`, `Point3`, and `Transform`
[INFO] [stdout]  --> src/main.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cgmath::{Matrix4, Vector3, Point3, InnerSpace, Matrix3, Matrix, Transform};
[INFO] [stdout]   |              ^^^^^^^           ^^^^^^              ^^^^^^^  ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericImageView`, `ImageBuffer`, `Rgb`, `RgbaImage`, `Rgba`, and `png::FilterType`
[INFO] [stdout]  --> src/main.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | ...::{ImageBuffer, GenericImageView, codecs::{png::FilterType, gif::{GifEncoder, Repeat}}, Rgb, RgbaImage, Frame, DynamicImage, Delay, Rgba};
[INFO] [stdout]   |       ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^           ^^^^^^^^^^^^^^^                              ^^^  ^^^^^^^^^                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `intersections::*`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use intersections::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `intersect_objects`
[INFO] [stdout]   --> src/main.rs:10:47
[INFO] [stdout]    |
[INFO] [stdout] 10 | use object::{IntersectableObject, ObjectType, intersect_objects, Material};
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::ParallelBridge`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rayon::iter::ParallelBridge;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/intersections/mod.rs:65:37
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let distance = plane_normal.dot((plane_position - starting_position)) / dot;
[INFO] [stdout]    |                                     ^                                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 65 -     let distance = plane_normal.dot((plane_position - starting_position)) / dot;
[INFO] [stdout] 65 +     let distance = plane_normal.dot(plane_position - starting_position ) / dot;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SquareMatrix`
[INFO] [stdout]  --> src/renderer/mod.rs:1:74
[INFO] [stdout]   |
[INFO] [stdout] 1 | use cgmath::{Vector3, Matrix4, InnerSpace, Matrix, ElementWise, Matrix3, SquareMatrix, MetricSpace};
[INFO] [stdout]   |                                                                          ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/renderer/mod.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{thread_rng, Rng};
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `intersect_object`
[INFO] [stdout]  --> src/renderer/mod.rs:5:91
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{object::{IntersectableObject, intersect_objects, get_random_point_on_surface, intersect_object, ObjectIntersection}, intersec...
[INFO] [stdout]   |                                                                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/renderer/mod.rs:79:16
[INFO] [stdout]    |
[INFO] [stdout] 79 | ...if (hit_intersection.object.material.color.x > 1.0 || hit_intersection.object.material.color.y > 1.0 || hit_intersection.object.material.color.z > 1.0) {
[INFO] [stdout]    |       ^                                                                                                                                                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 79 -             if (hit_intersection.object.material.color.x > 1.0 || hit_intersection.object.material.color.y > 1.0 || hit_intersection.object.material.color.z > 1.0) {
[INFO] [stdout] 79 +             if hit_intersection.object.material.color.x > 1.0 || hit_intersection.object.material.color.y > 1.0 || hit_intersection.object.material.color.z > 1.0  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `f64::consts::TAU` and `io::Write`
[INFO] [stdout]  --> src/main.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{fs::File, io::Write, f64::consts::TAU, env};
[INFO] [stdout]   |                     ^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Matrix3`, `Matrix4`, `Matrix`, `Point3`, and `Transform`
[INFO] [stdout]  --> src/main.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cgmath::{Matrix4, Vector3, Point3, InnerSpace, Matrix3, Matrix, Transform};
[INFO] [stdout]   |              ^^^^^^^           ^^^^^^              ^^^^^^^  ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericImageView`, `ImageBuffer`, `Rgb`, `RgbaImage`, `Rgba`, and `png::FilterType`
[INFO] [stdout]  --> src/main.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | ...::{ImageBuffer, GenericImageView, codecs::{png::FilterType, gif::{GifEncoder, Repeat}}, Rgb, RgbaImage, Frame, DynamicImage, Delay, Rgba};
[INFO] [stdout]   |       ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^           ^^^^^^^^^^^^^^^                              ^^^  ^^^^^^^^^                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `intersections::*`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use intersections::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `intersect_objects`
[INFO] [stdout]   --> src/main.rs:10:47
[INFO] [stdout]    |
[INFO] [stdout] 10 | use object::{IntersectableObject, ObjectType, intersect_objects, Material};
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::ParallelBridge`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rayon::iter::ParallelBridge;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `distance` in initializer of `intersections::Intersection`
[INFO] [stdout]    --> src/renderer/mod.rs:146:31
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 intersection: Intersection { 
[INFO] [stdout]     |                               ^^^^^^^^^^^^ missing `distance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/renderer/mod.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |   pub fn trace_bdpt(origin: Vector3<f64>, direction: Vector3<f64>, objects: &Vec<IntersectableObject>, light: &IntersectableObject, bounces: usize) -> Vector3<f64> {
[INFO] [stdout]     |                                                                                                                                                        ------------ expected `Vector3<f64>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 158 | /     for i in 0..bounces {
[INFO] [stdout] 159 | |         let last_bounce = light_bounce_points.last().unwrap();
[INFO] [stdout] 160 | |         intersect_objects(last_bounce.intersection.interseciont.starting_position, , objects)
[INFO] [stdout] 161 | |     }
[INFO] [stdout]     | |_____^ expected `Vector3<f64>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vector3<f64>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout]     = note: `for` loops evaluate to unit type `()`
[INFO] [stdout] help: consider returning a value here
[INFO] [stdout]     |
[INFO] [stdout] 161 ~     }
[INFO] [stdout] 162 +     /* `Vector3<f64>` value */
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `distance` in initializer of `intersections::Intersection`
[INFO] [stdout]    --> src/renderer/mod.rs:146:31
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 intersection: Intersection { 
[INFO] [stdout]     |                               ^^^^^^^^^^^^ missing `distance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MetricSpace`
[INFO] [stdout]  --> src/renderer/mod.rs:1:88
[INFO] [stdout]   |
[INFO] [stdout] 1 | use cgmath::{Vector3, Matrix4, InnerSpace, Matrix, ElementWise, Matrix3, SquareMatrix, MetricSpace};
[INFO] [stdout]   |                                                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/intersections/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut inside_sphere = false;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/renderer/mod.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |   pub fn trace_bdpt(origin: Vector3<f64>, direction: Vector3<f64>, objects: &Vec<IntersectableObject>, light: &IntersectableObject, bounces: usize) -> Vector3<f64> {
[INFO] [stdout]     |                                                                                                                                                        ------------ expected `Vector3<f64>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 158 | /     for i in 0..bounces {
[INFO] [stdout] 159 | |         let last_bounce = light_bounce_points.last().unwrap();
[INFO] [stdout] 160 | |         intersect_objects(last_bounce.intersection.interseciont.starting_position, , objects)
[INFO] [stdout] 161 | |     }
[INFO] [stdout]     | |_____^ expected `Vector3<f64>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vector3<f64>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout]     = note: `for` loops evaluate to unit type `()`
[INFO] [stdout] help: consider returning a value here
[INFO] [stdout]     |
[INFO] [stdout] 161 ~     }
[INFO] [stdout] 162 +     /* `Vector3<f64>` value */
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MetricSpace`
[INFO] [stdout]  --> src/renderer/mod.rs:1:88
[INFO] [stdout]   |
[INFO] [stdout] 1 | use cgmath::{Vector3, Matrix4, InnerSpace, Matrix, ElementWise, Matrix3, SquareMatrix, MetricSpace};
[INFO] [stdout]   |                                                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample`
[INFO] [stdout]   --> src/renderer/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     for sample in 0..samples {
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/intersections/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut inside_sphere = false;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `total_bounces` is assigned to, but never used
[INFO] [stdout]   --> src/renderer/mod.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut total_bounces = bounces;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_total_bounces` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `total_bounces` is never read
[INFO] [stdout]   --> src/renderer/mod.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |             total_bounces += bounce + 1;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut camera_position = Vector3::new(0.0, 0.0, -2.5);
[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/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let mut camera_direction = Vector3::new(0.0, 0.0, 1.0).normalize();
[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/main.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let mut img = DynamicImage::from(img);
[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/main.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut img = img.to_rgba8();
[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/main.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let mut file = File::create("animation.gif").unwrap();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample`
[INFO] [stdout]   --> src/renderer/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     for sample in 0..samples {
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0063, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] [stdout] warning: variable `total_bounces` is assigned to, but never used
[INFO] [stdout]   --> src/renderer/mod.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut total_bounces = bounces;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_total_bounces` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `total_bounces` is never read
[INFO] [stdout]   --> src/renderer/mod.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |             total_bounces += bounce + 1;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut camera_position = Vector3::new(0.0, 0.0, -2.5);
[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/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let mut camera_direction = Vector3::new(0.0, 0.0, 1.0).normalize();
[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/main.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let mut img = DynamicImage::from(img);
[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/main.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut img = img.to_rgba8();
[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/main.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let mut file = File::create("animation.gif").unwrap();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0063, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `Raytracer` (bin "Raytracer" test) due to 4 previous errors; 21 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `Raytracer` (bin "Raytracer") due to 4 previous errors; 21 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ae51330e63dcd63f4a4977449aba6c3f89606441ce56cfccd7f4ce7321038034", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae51330e63dcd63f4a4977449aba6c3f89606441ce56cfccd7f4ce7321038034", kill_on_drop: false }`
[INFO] [stdout] ae51330e63dcd63f4a4977449aba6c3f89606441ce56cfccd7f4ce7321038034
