[INFO] cloning repository https://github.com/luisfos/rust_render
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/luisfos/rust_render" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluisfos%2Frust_render", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluisfos%2Frust_render'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 42c8e28e6cd803cb46975603965aa16e7ea7e0a1
[INFO] checking luisfos/rust_render against master#6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd for pr-153721
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluisfos%2Frust_render" "/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/luisfos/rust_render
[INFO] finished tweaking git repo https://github.com/luisfos/rust_render
[INFO] tweaked toml for git repo https://github.com/luisfos/rust_render written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/luisfos/rust_render on toolchain 6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/luisfos/rust_render 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" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "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/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a0ff18d7fb0b04d38fdc739751697d7a19c3af955776af785e382a3073d1f282
[INFO] running `Command { std: "docker" "start" "a0ff18d7fb0b04d38fdc739751697d7a19c3af955776af785e382a3073d1f282", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a0ff18d7fb0b04d38fdc739751697d7a19c3af955776af785e382a3073d1f282" "/opt/rustwide/cargo-home/bin/cargo" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a0ff18d7fb0b04d38fdc739751697d7a19c3af955776af785e382a3073d1f282", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a0ff18d7fb0b04d38fdc739751697d7a19c3af955776af785e382a3073d1f282" "/opt/rustwide/cargo-home/bin/cargo" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.2
[INFO] [stderr]    Compiling libc v0.2.47
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.1
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.4
[INFO] [stderr]     Checking rand_os v0.1.1
[INFO] [stderr]     Checking rust_render v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[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 import: `std::mem`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/main.rs:70:64
[INFO] [stdout]    |
[INFO] [stdout] 70 |         Err(why) => panic!("Couldn't create {}: {}", display, why.description()),
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/main.rs:146:66
[INFO] [stdout]     |
[INFO] [stdout] 146 |         Err(why) => panic!("couldn't write to {}: {}", display,    why.description()),
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v` is never read
[INFO] [stdout]   --> src/main.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut v: Vec3 = Vec3::zero();
[INFO] [stdout]    |                       ^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 29 |     loop{
[INFO] [stdout] 30 |         v = 2.0*Vec3::new(random(),random(),random()) - Vec3::new(1.0,1.0,1.0);
[INFO] [stdout]    |         ---------------------------------------------------------------------- `v` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bl_corner`
[INFO] [stdout]    --> src/main.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let bl_corner: Vec3 = Vec3::new(-2.0, -1.0, -1.0);
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bl_corner`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `horizontal`
[INFO] [stdout]    --> src/main.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let horizontal: Vec3 = Vec3::new(4.0, 0.0, 0.0);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_horizontal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vertical`
[INFO] [stdout]    --> src/main.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let vertical: Vec3 = Vec3::new(0.0, 2.0, 0.0);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vertical`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]    --> src/main.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let origin: Vec3 = Vec3::zero();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Plane` is never constructed
[INFO] [stdout]   --> src/general.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct Plane{
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/camera.rs:8:6
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Camera{
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  8 |     pub right: Vec3,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]  9 |     pub up: Vec3,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 10 |     pub forward: Vec3,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     pub near: f64,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 13 |     pub far: f64,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 14 |     pub fov_deg: f64,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 15 |     pub aspect_ratio: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     topLeft: Vec3,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 19 |     topRight: Vec3,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     botLeft: Vec3,
[INFO] [stdout] 21 |     botRight: Vec3,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Camera` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/main.rs:70:64
[INFO] [stdout]    |
[INFO] [stdout] 70 |         Err(why) => panic!("Couldn't create {}: {}", display, why.description()),
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `topLeft` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:18:2
[INFO] [stdout]    |
[INFO] [stdout] 18 |     topLeft: Vec3,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `top_left`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `topRight` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:19:2
[INFO] [stdout]    |
[INFO] [stdout] 19 |     topRight: Vec3,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `top_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `botLeft` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:20:2
[INFO] [stdout]    |
[INFO] [stdout] 20 |     botLeft: Vec3,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `bot_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `botRight` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:21:2
[INFO] [stdout]    |
[INFO] [stdout] 21 |     botRight: Vec3,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `bot_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_topLeft` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let _topLeft: Vec3  = center + up * (height*0.5) - right * (width*0.5);
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `_top_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_topRight` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let _topRight: Vec3 = center + up * (height*0.5) + right * (width*0.5);
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `_top_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_botLeft` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let _botLeft: Vec3  = center - up * (height*0.5) - right * (width*0.5);
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `_bot_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_botRight` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let _botRight: Vec3 = center - up * (height*0.5) + right * (width*0.5);
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `_bot_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/main.rs:146:66
[INFO] [stdout]     |
[INFO] [stdout] 146 |         Err(why) => panic!("couldn't write to {}: {}", display,    why.description()),
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `v` is never read
[INFO] [stdout]   --> src/main.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut v: Vec3 = Vec3::zero();
[INFO] [stdout]    |                       ^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 29 |     loop{
[INFO] [stdout] 30 |         v = 2.0*Vec3::new(random(),random(),random()) - Vec3::new(1.0,1.0,1.0);
[INFO] [stdout]    |         ---------------------------------------------------------------------- `v` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bl_corner`
[INFO] [stdout]    --> src/main.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let bl_corner: Vec3 = Vec3::new(-2.0, -1.0, -1.0);
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bl_corner`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `horizontal`
[INFO] [stdout]    --> src/main.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let horizontal: Vec3 = Vec3::new(4.0, 0.0, 0.0);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_horizontal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vertical`
[INFO] [stdout]    --> src/main.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let vertical: Vec3 = Vec3::new(0.0, 2.0, 0.0);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vertical`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]    --> src/main.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let origin: Vec3 = Vec3::zero();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Plane` is never constructed
[INFO] [stdout]   --> src/general.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct Plane{
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/camera.rs:8:6
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Camera{
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  8 |     pub right: Vec3,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]  9 |     pub up: Vec3,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 10 |     pub forward: Vec3,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     pub near: f64,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 13 |     pub far: f64,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 14 |     pub fov_deg: f64,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 15 |     pub aspect_ratio: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     topLeft: Vec3,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 19 |     topRight: Vec3,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     botLeft: Vec3,
[INFO] [stdout] 21 |     botRight: Vec3,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Camera` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `topLeft` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:18:2
[INFO] [stdout]    |
[INFO] [stdout] 18 |     topLeft: Vec3,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `top_left`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `topRight` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:19:2
[INFO] [stdout]    |
[INFO] [stdout] 19 |     topRight: Vec3,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `top_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `botLeft` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:20:2
[INFO] [stdout]    |
[INFO] [stdout] 20 |     botLeft: Vec3,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `bot_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `botRight` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:21:2
[INFO] [stdout]    |
[INFO] [stdout] 21 |     botRight: Vec3,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `bot_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_topLeft` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let _topLeft: Vec3  = center + up * (height*0.5) - right * (width*0.5);
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `_top_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_topRight` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let _topRight: Vec3 = center + up * (height*0.5) + right * (width*0.5);
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `_top_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_botLeft` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let _botLeft: Vec3  = center - up * (height*0.5) - right * (width*0.5);
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `_bot_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_botRight` should have a snake case name
[INFO] [stdout]   --> src/camera.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let _botRight: Vec3 = center - up * (height*0.5) + right * (width*0.5);
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `_bot_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.53s
[INFO] running `Command { std: "docker" "inspect" "a0ff18d7fb0b04d38fdc739751697d7a19c3af955776af785e382a3073d1f282", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a0ff18d7fb0b04d38fdc739751697d7a19c3af955776af785e382a3073d1f282", kill_on_drop: false }`
[INFO] [stdout] a0ff18d7fb0b04d38fdc739751697d7a19c3af955776af785e382a3073d1f282
