[INFO] updating cached repository https://github.com/gsingh93/ray-trace
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] a39de2ca33aeb93abef4822aadd3bb07a91c95c5
[INFO] checking gsingh93/ray-trace against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgsingh93%2Fray-trace" "/workspace/builds/worker-1/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/gsingh93/ray-trace on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/gsingh93/ray-trace
[INFO] finished tweaking git repo https://github.com/gsingh93/ray-trace
[INFO] tweaked toml for git repo https://github.com/gsingh93/ray-trace written to /workspace/builds/worker-1/source/Cargo.toml
[INFO] crate git repo https://github.com/gsingh93/ray-trace already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] error: the lock file /workspace/builds/worker-1/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] b1dd68004842a4e5f03dba2ec7a76cb0b7835a162fca23047905b5e11fb21b04
[INFO] running `"docker" "start" "-a" "b1dd68004842a4e5f03dba2ec7a76cb0b7835a162fca23047905b5e11fb21b04"`
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling proc-macro-hack v0.5.15
[INFO] [stderr]     Checking bytemuck v1.2.0
[INFO] [stderr]     Checking inflate v0.3.4
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]     Checking deflate v0.7.20
[INFO] [stderr]     Checking deflate v0.8.4
[INFO] [stderr]     Checking tiff v0.4.0
[INFO] [stderr]     Checking toml v0.5.6
[INFO] [stderr]    Compiling syn v1.0.17
[INFO] [stderr]     Checking rand_distr v0.2.2
[INFO] [stderr]     Checking png v0.16.2
[INFO] [stderr]     Checking num-integer v0.1.42
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking num-iter v0.1.40
[INFO] [stderr]     Checking num-rational v0.1.42
[INFO] [stderr]     Checking png v0.11.0
[INFO] [stderr]     Checking image v0.23.3
[INFO] [stderr]     Checking image v0.18.0
[INFO] [stderr]    Compiling paste-impl v0.1.10
[INFO] [stderr]     Checking noise v0.6.0
[INFO] [stderr]     Checking paste v0.1.10
[INFO] [stderr]     Checking simba v0.1.2
[INFO] [stderr]     Checking nalgebra v0.21.0
[INFO] [stderr]     Checking ray-tracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] error[E0432]: unresolved import `nalgebra::dot`
[INFO] [stderr]  --> src/material.rs:7:16
[INFO] [stderr]   |
[INFO] [stderr] 7 | use nalgebra::{dot, Norm};
[INFO] [stderr]   |                ^^^ no `dot` in the root
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved imports `noise::Brownian3`, `noise::Seed`
[INFO] [stderr]  --> src/material.rs:9:19
[INFO] [stderr]   |
[INFO] [stderr] 9 | use noise::{self, Brownian3, Seed};
[INFO] [stderr]   |                   ^^^^^^^^^  ^^^^ no `Seed` in the root
[INFO] [stderr]   |                   |
[INFO] [stderr]   |                   no `Brownian3` in the root
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved imports `nalgebra::dot`, `nalgebra::cross`
[INFO] [stderr]  --> src/surface.rs:7:16
[INFO] [stderr]   |
[INFO] [stderr] 7 | use nalgebra::{dot, cross, Norm};
[INFO] [stderr]   |                ^^^  ^^^^^ no `cross` in the root
[INFO] [stderr]   |                |
[INFO] [stderr]   |                no `dot` in the root
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `image::ImageRgb8`
[INFO] [stderr]  --> src/texture.rs:3:19
[INFO] [stderr]   |
[INFO] [stderr] 3 | use image::{self, ImageRgb8, RgbImage};
[INFO] [stderr]   |                   ^^^^^^^^^ no `ImageRgb8` in the root
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved imports `nalgebra::cross`, `nalgebra::dot`
[INFO] [stderr]   --> src/lib.rs:19:23
[INFO] [stderr]    |
[INFO] [stderr] 19 | use nalgebra::{clamp, cross, dot, Norm};
[INFO] [stderr]    |                       ^^^^^  ^^^ no `dot` in the root
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       no `cross` in the root
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `nalgebra::dot`
[INFO] [stderr]  --> src/material.rs:7:16
[INFO] [stderr]   |
[INFO] [stderr] 7 | use nalgebra::{dot, Norm};
[INFO] [stderr]   |                ^^^ no `dot` in the root
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `perlin3` in crate `noise`
[INFO] [stderr]    --> src/material.rs:122:43
[INFO] [stderr]     |
[INFO] [stderr] 122 |         let noise = Brownian3::new(noise::perlin3, self.octaves)
[INFO] [stderr]     |                                           ^^^^^^^ not found in `noise`
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `perlin3` in crate `noise`
[INFO] [stderr]    --> src/material.rs:164:43
[INFO] [stderr]     |
[INFO] [stderr] 164 |         let noise = Brownian3::new(noise::perlin3, self.octaves)
[INFO] [stderr]     |                                           ^^^^^^^ not found in `noise`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved imports `noise::Brownian3`, `noise::Seed`
[INFO] [stderr]  --> src/material.rs:9:19
[INFO] [stderr]   |
[INFO] [stderr] 9 | use noise::{self, Brownian3, Seed};
[INFO] [stderr]   |                   ^^^^^^^^^  ^^^^ no `Seed` in the root
[INFO] [stderr]   |                   |
[INFO] [stderr]   |                   no `Brownian3` in the root
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved imports `nalgebra::dot`, `nalgebra::cross`
[INFO] [stderr]  --> src/surface.rs:7:16
[INFO] [stderr]   |
[INFO] [stderr] 7 | use nalgebra::{dot, cross, Norm};
[INFO] [stderr]   |                ^^^  ^^^^^ no `cross` in the root
[INFO] [stderr]   |                |
[INFO] [stderr]   |                no `dot` in the root
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `image::ImageRgb8`
[INFO] [stderr]  --> src/texture.rs:3:19
[INFO] [stderr]   |
[INFO] [stderr] 3 | use image::{self, ImageRgb8, RgbImage};
[INFO] [stderr]   |                   ^^^^^^^^^ no `ImageRgb8` in the root
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved imports `nalgebra::cross`, `nalgebra::dot`
[INFO] [stderr]   --> src/lib.rs:19:23
[INFO] [stderr]    |
[INFO] [stderr] 19 | use nalgebra::{clamp, cross, dot, Norm};
[INFO] [stderr]    |                       ^^^^^  ^^^ no `dot` in the root
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       no `cross` in the root
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Norm`
[INFO] [stderr]  --> src/material.rs:7:21
[INFO] [stderr]   |
[INFO] [stderr] 7 | use nalgebra::{dot, Norm};
[INFO] [stderr]   |                     ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/material.rs:17:25
[INFO] [stderr]    |
[INFO] [stderr] 17 |     texture: Option<Box<Texture>>,
[INFO] [stderr]    |                         ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/material.rs:39:55
[INFO] [stderr]    |
[INFO] [stderr] 39 |                reflectivity: f32, texture: Option<Box<Texture>>,
[INFO] [stderr]    |                                                       ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `nalgebra::Norm`
[INFO] [stderr]  --> src/ray.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use nalgebra::Norm;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Norm`
[INFO] [stderr]  --> src/surface.rs:7:28
[INFO] [stderr]   |
[INFO] [stderr] 7 | use nalgebra::{dot, cross, Norm};
[INFO] [stderr]   |                            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/texture.rs:7:29
[INFO] [stderr]   |
[INFO] [stderr] 7 |     fn clone_(&self) -> Box<Texture>;
[INFO] [stderr]   |                             ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/texture.rs:49:29
[INFO] [stderr]    |
[INFO] [stderr] 49 |     fn clone_(&self) -> Box<Texture> {
[INFO] [stderr]    |                             ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/texture.rs:80:29
[INFO] [stderr]    |
[INFO] [stderr] 80 |     fn clone_(&self) -> Box<Texture> {
[INFO] [stderr]    |                             ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:54:22
[INFO] [stderr]    |
[INFO] [stderr] 54 |     objects: Vec<Box<Surface>>,
[INFO] [stderr]    |                      ^^^^^^^ help: use `dyn`: `dyn Surface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:62:33
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn new(objects: Vec<Box<Surface>>,
[INFO] [stderr]    |                                 ^^^^^^^ help: use `dyn`: `dyn Surface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:76:52
[INFO] [stderr]    |
[INFO] [stderr] 76 |     fn intersect(&self, ray: &Ray) -> Option<(&Box<Surface>, Intersection)> {
[INFO] [stderr]    |                                                    ^^^^^^^ help: use `dyn`: `dyn Surface`
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `perlin3` in crate `noise`
[INFO] [stderr]    --> src/material.rs:122:43
[INFO] [stderr]     |
[INFO] [stderr] 122 |         let noise = Brownian3::new(noise::perlin3, self.octaves)
[INFO] [stderr]     |                                           ^^^^^^^ not found in `noise`
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `perlin3` in crate `noise`
[INFO] [stderr]    --> src/material.rs:164:43
[INFO] [stderr]     |
[INFO] [stderr] 164 |         let noise = Brownian3::new(noise::perlin3, self.octaves)
[INFO] [stderr]     |                                           ^^^^^^^ not found in `noise`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Norm`
[INFO] [stderr]  --> src/material.rs:7:21
[INFO] [stderr]   |
[INFO] [stderr] 7 | use nalgebra::{dot, Norm};
[INFO] [stderr]   |                     ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/material.rs:17:25
[INFO] [stderr]    |
[INFO] [stderr] 17 |     texture: Option<Box<Texture>>,
[INFO] [stderr]    |                         ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/material.rs:39:55
[INFO] [stderr]    |
[INFO] [stderr] 39 |                reflectivity: f32, texture: Option<Box<Texture>>,
[INFO] [stderr]    |                                                       ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `nalgebra::Norm`
[INFO] [stderr]  --> src/ray.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use nalgebra::Norm;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Norm`
[INFO] [stderr]  --> src/surface.rs:7:28
[INFO] [stderr]   |
[INFO] [stderr] 7 | use nalgebra::{dot, cross, Norm};
[INFO] [stderr]   |                            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/texture.rs:7:29
[INFO] [stderr]   |
[INFO] [stderr] 7 |     fn clone_(&self) -> Box<Texture>;
[INFO] [stderr]   |                             ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/texture.rs:49:29
[INFO] [stderr]    |
[INFO] [stderr] 49 |     fn clone_(&self) -> Box<Texture> {
[INFO] [stderr]    |                             ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/texture.rs:80:29
[INFO] [stderr]    |
[INFO] [stderr] 80 |     fn clone_(&self) -> Box<Texture> {
[INFO] [stderr]    |                             ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:54:22
[INFO] [stderr]    |
[INFO] [stderr] 54 |     objects: Vec<Box<Surface>>,
[INFO] [stderr]    |                      ^^^^^^^ help: use `dyn`: `dyn Surface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:62:33
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn new(objects: Vec<Box<Surface>>,
[INFO] [stderr]    |                                 ^^^^^^^ help: use `dyn`: `dyn Surface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:76:52
[INFO] [stderr]    |
[INFO] [stderr] 76 |     fn intersect(&self, ray: &Ray) -> Option<(&Box<Surface>, Intersection)> {
[INFO] [stderr]    |                                                    ^^^^^^^ help: use `dyn`: `dyn Surface`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `nalgebra::constraint::ShapeConstraint: nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not satisfied
[INFO] [stderr]    --> src/lib.rs:116:38
[INFO] [stderr]     |
[INFO] [stderr] 116 |         color = material.raw_color() * (scene.ambient_color / 255.) * scene.ambient_coeff;
[INFO] [stderr]     |                                      ^ the trait `nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not implemented for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the following implementations were found:
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, D>>
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, nalgebra::Dynamic>>
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<nalgebra::Dynamic, D>>
[INFO] [stderr]     = note: required because of the requirements on the impl of `nalgebra::constraint::AreMultipliable<nalgebra::U3, nalgebra::U1, nalgebra::U3, nalgebra::U1>` for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]     = note: required because of the requirements on the impl of `std::ops::Mul` for `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f32, nalgebra::U3, nalgebra::U1>>`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `nalgebra::constraint::ShapeConstraint: nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not satisfied
[INFO] [stderr]    --> src/lib.rs:116:38
[INFO] [stderr]     |
[INFO] [stderr] 116 |         color = material.raw_color() * (scene.ambient_color / 255.) * scene.ambient_coeff;
[INFO] [stderr]     |                                      ^ the trait `nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not implemented for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the following implementations were found:
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, D>>
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, nalgebra::Dynamic>>
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<nalgebra::Dynamic, D>>
[INFO] [stderr]     = note: required because of the requirements on the impl of `nalgebra::constraint::AreMultipliable<nalgebra::U3, nalgebra::U1, nalgebra::U3, nalgebra::U1>` for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]     = note: required because of the requirements on the impl of `std::ops::Mul` for `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f32, nalgebra::U3, nalgebra::U1>>`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `nalgebra::constraint::ShapeConstraint: nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not satisfied
[INFO] [stderr]    --> src/lib.rs:128:25
[INFO] [stderr]     |
[INFO] [stderr] 128 |                         * (*light.color() / 255.) * light.intensity();
[INFO] [stderr]     |                         ^ the trait `nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not implemented for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the following implementations were found:
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, D>>
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, nalgebra::Dynamic>>
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<nalgebra::Dynamic, D>>
[INFO] [stderr]     = note: required because of the requirements on the impl of `nalgebra::constraint::AreMultipliable<nalgebra::U3, nalgebra::U1, nalgebra::U3, nalgebra::U1>` for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]     = note: required because of the requirements on the impl of `std::ops::Mul` for `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f32, nalgebra::U3, nalgebra::U1>>`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `nalgebra::constraint::ShapeConstraint: nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not satisfied
[INFO] [stderr]    --> src/lib.rs:128:25
[INFO] [stderr]     |
[INFO] [stderr] 128 |                         * (*light.color() / 255.) * light.intensity();
[INFO] [stderr]     |                         ^ the trait `nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not implemented for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the following implementations were found:
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, D>>
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, nalgebra::Dynamic>>
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<nalgebra::Dynamic, D>>
[INFO] [stderr]     = note: required because of the requirements on the impl of `nalgebra::constraint::AreMultipliable<nalgebra::U3, nalgebra::U1, nalgebra::U3, nalgebra::U1>` for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]     = note: required because of the requirements on the impl of `std::ops::Mul` for `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f32, nalgebra::U3, nalgebra::U1>>`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `nalgebra::constraint::ShapeConstraint: nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not satisfied
[INFO] [stderr]    --> src/lib.rs:133:21
[INFO] [stderr]     |
[INFO] [stderr] 133 |                     * (*light.color() / 255.) * light.intensity();
[INFO] [stderr]     |                     ^ the trait `nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not implemented for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the following implementations were found:
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, D>>
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, nalgebra::Dynamic>>
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<nalgebra::Dynamic, D>>
[INFO] [stderr]     = note: required because of the requirements on the impl of `nalgebra::constraint::AreMultipliable<nalgebra::U3, nalgebra::U1, nalgebra::U3, nalgebra::U1>` for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]     = note: required because of the requirements on the impl of `std::ops::Mul` for `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f32, nalgebra::U3, nalgebra::U1>>`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `nalgebra::constraint::ShapeConstraint: nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not satisfied
[INFO] [stderr]    --> src/lib.rs:133:21
[INFO] [stderr]     |
[INFO] [stderr] 133 |                     * (*light.color() / 255.) * light.intensity();
[INFO] [stderr]     |                     ^ the trait `nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not implemented for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the following implementations were found:
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, D>>
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, nalgebra::Dynamic>>
[INFO] [stderr]               <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<nalgebra::Dynamic, D>>
[INFO] [stderr]     = note: required because of the requirements on the impl of `nalgebra::constraint::AreMultipliable<nalgebra::U3, nalgebra::U1, nalgebra::U3, nalgebra::U1>` for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]     = note: required because of the requirements on the impl of `std::ops::Mul` for `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f32, nalgebra::U3, nalgebra::U1>>`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `nalgebra::constraint::ShapeConstraint: nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not satisfied
[INFO] [stderr]   --> src/material.rs:57:65
[INFO] [stderr]    |
[INFO] [stderr] 57 |         let diffuse_color = self.color * f * self.diffuse_coeff * match self.texture {
[INFO] [stderr]    |                                                                 ^ the trait `nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not implemented for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]    |
[INFO] [stderr]    = help: the following implementations were found:
[INFO] [stderr]              <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, D>>
[INFO] [stderr]              <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, nalgebra::Dynamic>>
[INFO] [stderr]              <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<nalgebra::Dynamic, D>>
[INFO] [stderr]    = note: required because of the requirements on the impl of `nalgebra::constraint::AreMultipliable<nalgebra::U3, nalgebra::U1, nalgebra::U3, nalgebra::U1>` for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]    = note: required because of the requirements on the impl of `std::ops::Mul` for `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f32, nalgebra::U3, nalgebra::U1>>`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `nalgebra::constraint::ShapeConstraint: nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not satisfied
[INFO] [stderr]   --> src/material.rs:57:65
[INFO] [stderr]    |
[INFO] [stderr] 57 |         let diffuse_color = self.color * f * self.diffuse_coeff * match self.texture {
[INFO] [stderr]    |                                                                 ^ the trait `nalgebra::constraint::DimEq<nalgebra::U1, nalgebra::U3>` is not implemented for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]    |
[INFO] [stderr]    = help: the following implementations were found:
[INFO] [stderr]              <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, D>>
[INFO] [stderr]              <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<D, nalgebra::Dynamic>>
[INFO] [stderr]              <nalgebra::constraint::ShapeConstraint as nalgebra::constraint::DimEq<nalgebra::Dynamic, D>>
[INFO] [stderr]    = note: required because of the requirements on the impl of `nalgebra::constraint::AreMultipliable<nalgebra::U3, nalgebra::U1, nalgebra::U3, nalgebra::U1>` for `nalgebra::constraint::ShapeConstraint`
[INFO] [stderr]    = note: required because of the requirements on the impl of `std::ops::Mul` for `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f32, nalgebra::U3, nalgebra::U1>>`
[INFO] [stderr] 
[INFO] [stderr] error[E0560]: struct `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f32, nalgebra::U3, nalgebra::U1>>` has no field named `x`
[INFO] [stderr]    --> src/surface.rs:117:33
[INFO] [stderr]     |
[INFO] [stderr] 117 |             let u_axis = Vec3 { x: n.y, y: n.z, z: -n.x };
[INFO] [stderr]     |                                 ^ `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<_, _, _>>` does not have this field
[INFO] [stderr]     |
[INFO] [stderr]     = note: available fields are: `data`
[INFO] [stderr] 
[INFO] [stderr] error[E0560]: struct `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f32, nalgebra::U3, nalgebra::U1>>` has no field named `y`
[INFO] [stderr]    --> src/surface.rs:117:41
[INFO] [stderr]     |
[INFO] [stderr] 117 |             let u_axis = Vec3 { x: n.y, y: n.z, z: -n.x };
[INFO] [stderr]     |                                         ^ `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<_, _, _>>` does not have this field
[INFO] [stderr]     |
[INFO] [stderr]     = note: available fields are: `data`
[INFO] [stderr] 
[INFO] [stderr] error[E0560]: struct `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f32, nalgebra::U3, nalgebra::U1>>` has no field named `z`
[INFO] [stderr]    --> src/surface.rs:117:49
[INFO] [stderr]     |
[INFO] [stderr] 117 |             let u_axis = Vec3 { x: n.y, y: n.z, z: -n.x };
[INFO] [stderr]     |                                                 ^ `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<_, _, _>>` does not have this field
[INFO] [stderr]     |
[INFO] [stderr]     = note: available fields are: `data`
[INFO] [stderr] 
[INFO] [stderr] error[E0560]: struct `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f32, nalgebra::U3, nalgebra::U1>>` has no field named `x`
[INFO] [stderr]    --> src/surface.rs:117:33
[INFO] [stderr]     |
[INFO] [stderr] 117 |             let u_axis = Vec3 { x: n.y, y: n.z, z: -n.x };
[INFO] [stderr]     |                                 ^ `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<_, _, _>>` does not have this field
[INFO] [stderr]     |
[INFO] [stderr]     = note: available fields are: `data`
[INFO] [stderr] 
[INFO] [stderr] error[E0560]: struct `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f32, nalgebra::U3, nalgebra::U1>>` has no field named `y`
[INFO] [stderr]    --> src/surface.rs:117:41
[INFO] [stderr]     |
[INFO] [stderr] 117 |             let u_axis = Vec3 { x: n.y, y: n.z, z: -n.x };
[INFO] [stderr]     |                                         ^ `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<_, _, _>>` does not have this field
[INFO] [stderr]     |
[INFO] [stderr]     = note: available fields are: `data`
[INFO] [stderr] 
[INFO] [stderr] error[E0560]: struct `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f32, nalgebra::U3, nalgebra::U1>>` has no field named `z`
[INFO] [stderr]    --> src/surface.rs:117:49
[INFO] [stderr]     |
[INFO] [stderr] 117 |             let u_axis = Vec3 { x: n.y, y: n.z, z: -n.x };
[INFO] [stderr]     |                                                 ^ `nalgebra::Matrix<f32, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<_, _, _>>` does not have this field
[INFO] [stderr]     |
[INFO] [stderr]     = note: available fields are: `data`
[INFO] [stderr] 
[INFO] [stderr] error[E0609]: no field `data` on type `&image::Rgb<u8>`
[INFO] [stderr]   --> src/texture.rs:77:21
[INFO] [stderr]    |
[INFO] [stderr] 77 |         Vec3::new(p.data[0] as f32, p.data[1] as f32, p.data[2] as f32)
[INFO] [stderr]    |                     ^^^^ unknown field
[INFO] [stderr]    |
[INFO] [stderr]    = note: available fields are: `0`
[INFO] [stderr] 
[INFO] [stderr] error[E0609]: no field `data` on type `&image::Rgb<u8>`
[INFO] [stderr]   --> src/texture.rs:77:39
[INFO] [stderr]    |
[INFO] [stderr] 77 |         Vec3::new(p.data[0] as f32, p.data[1] as f32, p.data[2] as f32)
[INFO] [stderr]    |                                       ^^^^ unknown field
[INFO] [stderr]    |
[INFO] [stderr]    = note: available fields are: `0`
[INFO] [stderr] 
[INFO] [stderr] error[E0609]: no field `data` on type `&image::Rgb<u8>`
[INFO] [stderr]   --> src/texture.rs:77:21
[INFO] [stderr]    |
[INFO] [stderr] 77 |         Vec3::new(p.data[0] as f32, p.data[1] as f32, p.data[2] as f32)
[INFO] [stderr]    |                     ^^^^ unknown field
[INFO] [stderr]    |
[INFO] [stderr]    = note: available fields are: `0`
[INFO] [stderr] 
[INFO] [stderr] error[E0609]: no field `data` on type `&image::Rgb<u8>`
[INFO] [stderr]   --> src/texture.rs:77:57
[INFO] [stderr]    |
[INFO] [stderr] 77 |         Vec3::new(p.data[0] as f32, p.data[1] as f32, p.data[2] as f32)
[INFO] [stderr]    |                                                         ^^^^ unknown field
[INFO] [stderr]    |
[INFO] [stderr]    = note: available fields are: `0`
[INFO] [stderr] 
[INFO] [stderr] error[E0609]: no field `data` on type `&image::Rgb<u8>`
[INFO] [stderr]   --> src/texture.rs:77:39
[INFO] [stderr]    |
[INFO] [stderr] 77 |         Vec3::new(p.data[0] as f32, p.data[1] as f32, p.data[2] as f32)
[INFO] [stderr]    |                                       ^^^^ unknown field
[INFO] [stderr]    |
[INFO] [stderr]    = note: available fields are: `0`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Norm`
[INFO] [stderr]   --> src/lib.rs:19:35
[INFO] [stderr]    |
[INFO] [stderr] 19 | use nalgebra::{clamp, cross, dot, Norm};
[INFO] [stderr]    |                                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0609]: no field `data` on type `&image::Rgb<u8>`
[INFO] [stderr]   --> src/texture.rs:77:57
[INFO] [stderr]    |
[INFO] [stderr] 77 |         Vec3::new(p.data[0] as f32, p.data[1] as f32, p.data[2] as f32)
[INFO] [stderr]    |                                                         ^^^^ unknown field
[INFO] [stderr]    |
[INFO] [stderr]    = note: available fields are: `0`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 17 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0425, E0432, E0560, E0609.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] warning: unused import: `Norm`
[INFO] [stderr]   --> src/lib.rs:19:35
[INFO] [stderr]    |
[INFO] [stderr] 19 | use nalgebra::{clamp, cross, dot, Norm};
[INFO] [stderr]    |                                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 17 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0425, E0432, E0560, E0609.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] error: could not compile `ray-tracer`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `ray-tracer`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "b1dd68004842a4e5f03dba2ec7a76cb0b7835a162fca23047905b5e11fb21b04"`
[INFO] running `"docker" "rm" "-f" "b1dd68004842a4e5f03dba2ec7a76cb0b7835a162fca23047905b5e11fb21b04"`
[INFO] [stdout] b1dd68004842a4e5f03dba2ec7a76cb0b7835a162fca23047905b5e11fb21b04
