[INFO] cloning repository https://github.com/nathan-teoh/rust-raytracing-in-one-weekend
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nathan-teoh/rust-raytracing-in-one-weekend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnathan-teoh%2Frust-raytracing-in-one-weekend", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnathan-teoh%2Frust-raytracing-in-one-weekend'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] df7a8c29217f8da3acc9c365fd6b3cbdd4998d38
[INFO] checking nathan-teoh/rust-raytracing-in-one-weekend against master#4b9792692fbb675174d4d2082e7c37b2bc930e71 for pr-153692-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnathan-teoh%2Frust-raytracing-in-one-weekend" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/nathan-teoh/rust-raytracing-in-one-weekend
[INFO] finished tweaking git repo https://github.com/nathan-teoh/rust-raytracing-in-one-weekend
[INFO] tweaked toml for git repo https://github.com/nathan-teoh/rust-raytracing-in-one-weekend written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nathan-teoh/rust-raytracing-in-one-weekend on toolchain 4b9792692fbb675174d4d2082e7c37b2bc930e71
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4b9792692fbb675174d4d2082e7c37b2bc930e71" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nathan-teoh/rust-raytracing-in-one-weekend 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" "+4b9792692fbb675174d4d2082e7c37b2bc930e71" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+4b9792692fbb675174d4d2082e7c37b2bc930e71" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bd6fa643c2596db92ed63c54493d1c7b619985d289238fca0e9c145505404565
[INFO] running `Command { std: "docker" "start" "-a" "bd6fa643c2596db92ed63c54493d1c7b619985d289238fca0e9c145505404565", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bd6fa643c2596db92ed63c54493d1c7b619985d289238fca0e9c145505404565", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd6fa643c2596db92ed63c54493d1c7b619985d289238fca0e9c145505404565", kill_on_drop: false }`
[INFO] [stdout] bd6fa643c2596db92ed63c54493d1c7b619985d289238fca0e9c145505404565
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+4b9792692fbb675174d4d2082e7c37b2bc930e71" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ececcf8a2bed6c7d38e48e40745d52c56ebd7befceded148fbb6240c37ba8413
[INFO] running `Command { std: "docker" "start" "-a" "ececcf8a2bed6c7d38e48e40745d52c56ebd7befceded148fbb6240c37ba8413", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking raytracing v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Ray` and `utils::deg_to_rads`
[INFO] [stdout]  --> src/main.rs:5:50
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{vec3::Vec3, color::WriteColor, ray::{Ray}, utils::deg_to_rads, hittable::HittableList, sphere::Sphere, camera::Camera};
[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: `HitRecord`, `color`, and `self`
[INFO] [stdout]  --> src/ray.rs:1:46
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{vec3::Vec3, hittable::{Hittable, HitRecord, HittableList}, utils::{self, INFTY}, color};
[INFO] [stdout]   |                                              ^^^^^^^^^                         ^^^^          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::BorrowMut`, `rc::Rc`, and `sync::Arc`
[INFO] [stdout]  --> src/hittable.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::Arc, rc::Rc, borrow::BorrowMut};
[INFO] [stdout]   |           ^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Div`
[INFO] [stdout]  --> src/sphere.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ops::{Sub, Div}};
[INFO] [stdout]   |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/utils.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{self, Rng};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/main.rs:45:22
[INFO] [stdout]    |
[INFO] [stdout] 45 |             for k in (0..samples){
[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] 45 -             for k in (0..samples){
[INFO] [stdout] 45 +             for k in 0..samples {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> src/main.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Sub, Div, Add, Mul};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ray` and `utils::deg_to_rads`
[INFO] [stdout]  --> src/main.rs:5:50
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{vec3::Vec3, color::WriteColor, ray::{Ray}, utils::deg_to_rads, hittable::HittableList, sphere::Sphere, camera::Camera};
[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: `HitRecord`, `color`, and `self`
[INFO] [stdout]  --> src/ray.rs:1:46
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{vec3::Vec3, hittable::{Hittable, HitRecord, HittableList}, utils::{self, INFTY}, color};
[INFO] [stdout]   |                                              ^^^^^^^^^                         ^^^^          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::BorrowMut`, `rc::Rc`, and `sync::Arc`
[INFO] [stdout]  --> src/hittable.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::Arc, rc::Rc, borrow::BorrowMut};
[INFO] [stdout]   |           ^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Div`
[INFO] [stdout]  --> src/sphere.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ops::{Sub, Div}};
[INFO] [stdout]   |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/utils.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{self, Rng};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/main.rs:45:22
[INFO] [stdout]    |
[INFO] [stdout] 45 |             for k in (0..samples){
[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] 45 -             for k in (0..samples){
[INFO] [stdout] 45 +             for k in 0..samples {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/hittable.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut temp_rec: HitRecord = HitRecord::default();
[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: unused variable: `temp_rec`
[INFO] [stdout]   --> src/hittable.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut temp_rec: HitRecord = HitRecord::default();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_rec`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lower_left_corner`
[INFO] [stdout]   --> src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let lower_left_corner = origin.sub(horizontal.div(2.0)).sub(vertical.div(2.0)).sub(focal);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lower_left_corner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]   --> src/main.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |             for k in (0..samples){
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `random` is never used
[INFO] [stdout]   --> src/vec3.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Vec3{
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn random() -> Vec3{
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hit_sphere` is never used
[INFO] [stdout]   --> src/ray.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn hit_sphere(center: Vec3, radius: f32, r: &Ray)->f32{
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `front_face` is never read
[INFO] [stdout]   --> src/hittable.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct HitRecord{
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub front_face: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HitRecord` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_face_normal` is never used
[INFO] [stdout]   --> src/hittable.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl HitRecord{
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 18 |     pub fn set_face_normal(mut self: Self, r: &Ray, outward_normal: Vec3){
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PI` is never used
[INFO] [stdout]  --> src/utils.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const PI: f32 = 3.1415926535897932385;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deg_to_rads` is never used
[INFO] [stdout]  --> src/utils.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn deg_to_rads(deg: f32)-> f32{
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `focalLength` is never read
[INFO] [stdout]  --> src/camera.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Camera{
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     pub focalLength: Vec3,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `focalLength` should have a snake case name
[INFO] [stdout]  --> src/camera.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub focalLength: Vec3,
[INFO] [stdout]   |         ^^^^^^^^^^^ help: convert the identifier to snake case: `focal_length`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> src/main.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Sub, Div, Add, Mul};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/hittable.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut temp_rec: HitRecord = HitRecord::default();
[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: unused variable: `temp_rec`
[INFO] [stdout]   --> src/hittable.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut temp_rec: HitRecord = HitRecord::default();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_rec`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lower_left_corner`
[INFO] [stdout]   --> src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let lower_left_corner = origin.sub(horizontal.div(2.0)).sub(vertical.div(2.0)).sub(focal);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lower_left_corner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]   --> src/main.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |             for k in (0..samples){
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `random` is never used
[INFO] [stdout]   --> src/vec3.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Vec3{
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn random() -> Vec3{
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hit_sphere` is never used
[INFO] [stdout]   --> src/ray.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn hit_sphere(center: Vec3, radius: f32, r: &Ray)->f32{
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `front_face` is never read
[INFO] [stdout]   --> src/hittable.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct HitRecord{
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub front_face: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HitRecord` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_face_normal` is never used
[INFO] [stdout]   --> src/hittable.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl HitRecord{
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 18 |     pub fn set_face_normal(mut self: Self, r: &Ray, outward_normal: Vec3){
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PI` is never used
[INFO] [stdout]  --> src/utils.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const PI: f32 = 3.1415926535897932385;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deg_to_rads` is never used
[INFO] [stdout]  --> src/utils.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn deg_to_rads(deg: f32)-> f32{
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `focalLength` is never read
[INFO] [stdout]  --> src/camera.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Camera{
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     pub focalLength: Vec3,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `focalLength` should have a snake case name
[INFO] [stdout]  --> src/camera.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub focalLength: Vec3,
[INFO] [stdout]   |         ^^^^^^^^^^^ help: convert the identifier to snake case: `focal_length`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.77s
[INFO] running `Command { std: "docker" "inspect" "ececcf8a2bed6c7d38e48e40745d52c56ebd7befceded148fbb6240c37ba8413", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ececcf8a2bed6c7d38e48e40745d52c56ebd7befceded148fbb6240c37ba8413", kill_on_drop: false }`
[INFO] [stdout] ececcf8a2bed6c7d38e48e40745d52c56ebd7befceded148fbb6240c37ba8413
