[INFO] cloning repository https://github.com/Casgen/RustRayTracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Casgen/RustRayTracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCasgen%2FRustRayTracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCasgen%2FRustRayTracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c2b6bd780fb7b353ddf719b7f82be97a1cf097de
[INFO] testing Casgen/RustRayTracer against 1.75.0 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCasgen%2FRustRayTracer" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Casgen/RustRayTracer on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Casgen/RustRayTracer
[INFO] finished tweaking git repo https://github.com/Casgen/RustRayTracer
[INFO] tweaked toml for git repo https://github.com/Casgen/RustRayTracer written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Casgen/RustRayTracer 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" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded csfml-graphics-sys v0.1.0
[INFO] [stderr]   Downloaded sfml-types v0.1.0
[INFO] [stderr]   Downloaded csfml-system-sys v0.1.0
[INFO] [stderr]   Downloaded csfml-network-sys v0.1.0
[INFO] [stderr]   Downloaded csfml-audio-sys v0.1.0
[INFO] [stderr]   Downloaded csfml-window-sys v0.1.1
[INFO] [stderr]   Downloaded sfml v0.11.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 55ce63d2cb6820f7ee04bccdab88c8305fc63f7aad528d46e984fee557a7094f
[INFO] running `Command { std: "docker" "start" "-a" "55ce63d2cb6820f7ee04bccdab88c8305fc63f7aad528d46e984fee557a7094f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "55ce63d2cb6820f7ee04bccdab88c8305fc63f7aad528d46e984fee557a7094f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "55ce63d2cb6820f7ee04bccdab88c8305fc63f7aad528d46e984fee557a7094f", kill_on_drop: false }`
[INFO] [stdout] 55ce63d2cb6820f7ee04bccdab88c8305fc63f7aad528d46e984fee557a7094f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fb69cab80409852631828c5eb7040a3c702a4228a5a52efedfa610356df24935
[INFO] running `Command { std: "docker" "start" "-a" "fb69cab80409852631828c5eb7040a3c702a4228a5a52efedfa610356df24935", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling csfml-system-sys v0.1.0
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling sfml-types v0.1.0
[INFO] [stderr]    Compiling csfml-window-sys v0.1.1
[INFO] [stderr]    Compiling rustc-serialize v0.3.24
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling regex-syntax v0.3.9
[INFO] [stderr]    Compiling utf8-ranges v0.1.3
[INFO] [stderr]    Compiling csfml-audio-sys v0.1.0
[INFO] [stderr]    Compiling csfml-graphics-sys v0.1.0
[INFO] [stderr]    Compiling csfml-network-sys v0.1.0
[INFO] [stderr]    Compiling bitflags v0.5.0
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling getrandom v0.2.7
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling sfml v0.11.2
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling num-bigint v0.1.44
[INFO] [stderr]    Compiling num-complex v0.1.43
[INFO] [stderr]    Compiling env_logger v0.3.5
[INFO] [stderr]    Compiling quickcheck v0.2.27
[INFO] [stderr]    Compiling num-rational v0.1.42
[INFO] [stderr]    Compiling num v0.1.42
[INFO] [stderr]    Compiling glm v0.2.3
[INFO] [stderr]    Compiling RustRayTracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinHandle`, `Thread`
[INFO] [stdout]  --> src/main.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::thread::{JoinHandle, Thread};
[INFO] [stdout]   |                   ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `length`
[INFO] [stdout]  --> src/main.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use glm::{IVec2, length, vec3, Vec3};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Text`
[INFO] [stdout]  --> src/main.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sfml::graphics::{Color, Image, RenderTarget, RenderWindow, Sprite, Text, Texture};
[INFO] [stdout]   |                      ^^^^^                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::model::hittableObject::HittableObject`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::model::hittableObject::HittableObject;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/render/scene.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]  --> src/render/scene.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ptr::null;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mat4`, `mat4`, `vec4`
[INFO] [stdout]  --> src/render/scene.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use glm::{length, Mat4, mat4, Vec3, vec3, vec4};
[INFO] [stdout]   |                   ^^^^  ^^^^              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/render/scene.rs:38:64
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn Hit(&self, ray: &Ray, hitRecord: &mut HitRecord) -> (bool) {
[INFO] [stdout]    |                                                                ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -     pub fn Hit(&self, ray: &Ray, hitRecord: &mut HitRecord) -> (bool) {
[INFO] [stdout] 38 +     pub fn Hit(&self, ray: &Ray, hitRecord: &mut HitRecord) -> bool {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/render/camera.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IVec4`, `Mat4`, `Vec4`, `cos`, `ivec4`, `mat4`, `sin`, `vec4`
[INFO] [stdout]  --> src/render/camera.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use glm::{cos, cross, IVec4, ivec4, mat4, Mat4, normalize, radians, sin, tan, vec3, Vec3, Vec4, vec4};
[INFO] [stdout]   |           ^^^         ^^^^^  ^^^^^  ^^^^  ^^^^                      ^^^                   ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `look_at`, `perspective`
[INFO] [stdout]  --> src/render/camera.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use glm::ext::{look_at, perspective};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/render/renderer.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/model/sphere.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `isNearlyZero_Vec4`
[INFO] [stdout]  --> src/model/lambertian.rs:2:49
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::math::mathUtils::{isNearlyZero_Vec3, isNearlyZero_Vec4, randomUnitVector3};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Mul`
[INFO] [stdout]  --> src/math/mathUtils.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Add, Mul};
[INFO] [stdout]   |                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `min`, `to_vec3`
[INFO] [stdout]  --> src/math/mathUtils.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use glm::{dot, min, normalize, sqrt, to_vec3, Vec3, vec3, Vec4};
[INFO] [stdout]   |                ^^^                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]  --> src/math/ray.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Mul;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/render/renderer.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 let target: Vec3 = hitRecord.point + randomInHemisphere(&hitRecord.normal);
[INFO] [stdout]    |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/render/renderer.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 for s in 0..self.sampling {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> src/model/lambertian.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn scatter(&self, ray: &Ray, hitRecord: &HitRecord, attenuation: &mut VColor, scattered: &mut Ray) -> bool {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let mut tex: Texture;
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_cam` is never used
[INFO] [stdout]   --> src/render/scene.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Scene {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn new_cam(camera: Camera) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `getRadius` and `setRadius` are never used
[INFO] [stdout]   --> src/model/sphere.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl Sphere {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn getRadius(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn setRadius(&mut self, radius: f32) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/model/hitRecord.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl HitRecord {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 17 |     
[INFO] [stdout] 18 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isNearlyZero_Vec4` is never used
[INFO] [stdout]   --> src/math/mathUtils.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn isNearlyZero_Vec4(vec: &Vec4, tolerance: Option<f32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomVec3` is never used
[INFO] [stdout]   --> src/math/mathUtils.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn randomVec3() -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_vec4`, `new_rgba`, and `getColorRGB` are never used
[INFO] [stdout]   --> src/math/vColor.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl VColor {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn new_vec4(vec: &Vec4) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn new_rgba(r: f32, g: f32, b: f32, a: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn getColorRGB(&self) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `RustRayTracer` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `rust_ray_tracer`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `camPos` should have a snake case name
[INFO] [stdout]   --> src/main.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let camPos: Vec3 = vec3(13.0,-2.0,-2.0);
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `cam_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lookAt` should have a snake case name
[INFO] [stdout]   --> src/main.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let lookAt: Vec3 = vec3(0.0,0.0,0.0);
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `look_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `optTexture` should have a snake case name
[INFO] [stdout]   --> src/main.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let optTexture: Option<Texture> = Texture::new_from_image(&renderer.imageBuffer);
[INFO] [stdout]    |                 ^^^^^^^^^^ help: convert the identifier to snake case: `opt_texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `hittableObjects` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     hittableObjects: Vec<Box<dyn HittableObject>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hittable_objects`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tMax` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     tMax: f32,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to snake case: `t_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tMin` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     tMin: f32,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to snake case: `t_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setCam` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn setCam(&mut self, camera: Camera) { self.cam = camera}
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to snake case: `set_cam`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Hit` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn Hit(&self, ray: &Ray, hitRecord: &mut HitRecord) -> (bool) {
[INFO] [stdout]    |            ^^^ help: convert the identifier to snake case: `hit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:38:34
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn Hit(&self, ray: &Ray, hitRecord: &mut HitRecord) -> (bool) {
[INFO] [stdout]    |                                  ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitAnything` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let mut hitAnything: bool = false;
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `hit_anything`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `closestSoFar` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut closestSoFar: f32 = self.tMax;
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `closest_so_far`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getCamera` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn getCamera(&self) -> &Camera {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `get_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `addObject` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn addObject(&mut self, object: Box<dyn HittableObject>) {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `add_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `randomScene` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn randomScene() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to snake case: `random_scene`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `groundMaterial` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let groundMaterial: Lambertian = Lambertian::new(VColor::new_sc(0.5));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ground_material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `chooseMat` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:69:21
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 let chooseMat: f64 = thread_rng().gen();
[INFO] [stdout]    |                     ^^^^^^^^^ help: convert the identifier to snake case: `choose_mat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sphereMat` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:73:25
[INFO] [stdout]    |
[INFO] [stdout] 73 |                     let sphereMat: Rc<dyn Material>;
[INFO] [stdout]    |                         ^^^^^^^^^ help: convert the identifier to snake case: `sphere_mat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `eyePosition` should have a snake case name
[INFO] [stdout]  --> src/render/camera.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     eyePosition: Vec3,
[INFO] [stdout]   |     ^^^^^^^^^^^ help: convert the identifier to snake case: `eye_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `viewDirection` should have a snake case name
[INFO] [stdout]  --> src/render/camera.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     viewDirection: Vec3,
[INFO] [stdout]   |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `view_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `upVector` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     upVector: Vec3,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `up_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sideVector` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     sideVector: Vec3,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `side_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lensRadius` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     lensRadius: f32,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `lens_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lowerLeftCorner` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     lowerLeftCorner: Vec3,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lower_left_corner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lookAt` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(position: Vec3, lookAt: Vec3, width: i32, height: i32, aperture: f32, focusDist: f32, fov: f32) -> Camera {
[INFO] [stdout]    |                                ^^^^^^ help: convert the identifier to snake case: `look_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `focusDist` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:23:86
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(position: Vec3, lookAt: Vec3, width: i32, height: i32, aperture: f32, focusDist: f32, fov: f32) -> Camera {
[INFO] [stdout]    |                                                                                      ^^^^^^^^^ help: convert the identifier to snake case: `focus_dist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `aspectRatio` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let aspectRatio: f32 = width as f32 / height as f32;
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `aspect_ratio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vwHeight` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let vwHeight: f32 = 2.0 * h;
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `vw_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vwWidth` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let vwWidth: f32 = aspectRatio * vwHeight;
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `vw_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `viewDirection` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let viewDirection: Vec3 = normalize(position - lookAt);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `view_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sideVector` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let sideVector: Vec3 = normalize(cross(vec3(0.0,0.0,0.1), viewDirection));
[INFO] [stdout]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `side_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `upVector` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let upVector: Vec3 = cross(viewDirection, sideVector);
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `up_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `createARay` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn createARay(&self, x: f32, y: f32) -> Ray {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to snake case: `create_aray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `aspectRatio` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let aspectRatio: f32 = 800.0 as f32 / 600.0 as f32;
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `aspect_ratio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vwHeight` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let vwHeight: f32 = 2.0 * h;
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `vw_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vwWidth` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let vwWidth: f32 = aspectRatio * vwHeight;
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `vw_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `viewDirection` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let viewDirection: Vec3 = normalize( position - vec3(1.0,0.0,0.0));
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `view_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sideVector` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let sideVector: Vec3 = normalize(cross(vec3(0.0,0.0,0.1), viewDirection));
[INFO] [stdout]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `side_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `upVector` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let upVector: Vec3 = cross(viewDirection, sideVector);
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `up_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rayRecursionDepth` should have a snake case name
[INFO] [stdout]   --> src/render/renderer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     rayRecursionDepth: i16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ray_recursion_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `imageBuffer` should have a snake case name
[INFO] [stdout]   --> src/render/renderer.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub imageBuffer: Image,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `image_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `viewPort` should have a snake case name
[INFO] [stdout]   --> src/render/renderer.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     viewPort: IVec4,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `view_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `colorRay` should have a snake case name
[INFO] [stdout]   --> src/render/renderer.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn colorRay(&self, x: i32, y: i32, ray: &Ray, depth: i16) -> VColor {
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to snake case: `color_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]   --> src/render/renderer.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut hitRecord: HitRecord = HitRecord::default();
[INFO] [stdout]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `unitDirection` should have a snake case name
[INFO] [stdout]   --> src/render/renderer.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let unitDirection: Vec3 = normalize(ray.direction);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `unit_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `hittableObject` should have a snake case name
[INFO] [stdout]  --> src/model/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod hittableObject;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hittable_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `hitRecord` should have a snake case name
[INFO] [stdout]  --> src/model/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod hitRecord;
[INFO] [stdout]   |         ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `testIntersection` should have a snake case name
[INFO] [stdout]  --> src/model/hittableObject.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_intersection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tMin` should have a snake case name
[INFO] [stdout]  --> src/model/hittableObject.rs:7:43
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool;
[INFO] [stdout]   |                                           ^^^^ help: convert the identifier to snake case: `t_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tMax` should have a snake case name
[INFO] [stdout]  --> src/model/hittableObject.rs:7:54
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool;
[INFO] [stdout]   |                                                      ^^^^ help: convert the identifier to snake case: `t_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]  --> src/model/hittableObject.rs:7:65
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool;
[INFO] [stdout]   |                                                                 ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]  --> src/model/material.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn scatter(&self, ray: &Ray, hitRecord: &HitRecord, attenuation: &mut VColor, scattered: &mut Ray) -> bool;
[INFO] [stdout]   |                                  ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tMin` should have a snake case name
[INFO] [stdout]   --> src/model/sphere.rs:19:43
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool {
[INFO] [stdout]    |                                           ^^^^ help: convert the identifier to snake case: `t_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tMax` should have a snake case name
[INFO] [stdout]   --> src/model/sphere.rs:19:54
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool {
[INFO] [stdout]    |                                                      ^^^^ help: convert the identifier to snake case: `t_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]   --> src/model/sphere.rs:19:65
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool {
[INFO] [stdout]    |                                                                 ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `outwardNormal` should have a snake case name
[INFO] [stdout]   --> src/model/sphere.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let outwardNormal: Vec3 = (hitRecord.point - self.center) / self.radius;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `outward_normal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getRadius` should have a snake case name
[INFO] [stdout]   --> src/model/sphere.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn getRadius(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `get_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setRadius` should have a snake case name
[INFO] [stdout]   --> src/model/sphere.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn setRadius(&mut self, radius: f32) {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `set_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `frontFace` should have a snake case name
[INFO] [stdout]   --> src/model/hitRecord.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub frontFace: bool
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `front_face`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `SetFaceNormal` should have a snake case name
[INFO] [stdout]   --> src/model/hitRecord.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn SetFaceNormal(&mut self, ray: &Ray, outwardNormal: Vec3) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `set_face_normal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `outwardNormal` should have a snake case name
[INFO] [stdout]   --> src/model/hitRecord.rs:24:48
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn SetFaceNormal(&mut self, ray: &Ray, outwardNormal: Vec3) {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^ help: convert the identifier to snake case: `outward_normal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]   --> src/model/lambertian.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn scatter(&self, ray: &Ray, hitRecord: &HitRecord, attenuation: &mut VColor, scattered: &mut Ray) -> bool {
[INFO] [stdout]    |                                  ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `scatterDir` should have a snake case name
[INFO] [stdout]   --> src/model/lambertian.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut scatterDir: Vec3 = hitRecord.normal + randomUnitVector3();
[INFO] [stdout]    |                 ^^^^^^^^^^ help: convert the identifier to snake case: `scatter_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]   --> src/model/metal.rs:22:34
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn scatter(&self, ray: &Ray, hitRecord: &HitRecord, attenuation: &mut VColor, scattered: &mut Ray) -> bool {
[INFO] [stdout]    |                                  ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `reflectedRay` should have a snake case name
[INFO] [stdout]   --> src/model/metal.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let reflectedRay: Vec3 = reflect(normalize(ray.direction),hitRecord.normal);
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `reflected_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `indexOfRefraction` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     indexOfRefraction: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `index_of_refraction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `refIdx` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:20:34
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn reflectance(cos: f32, refIdx: f32) -> f32 {
[INFO] [stdout]    |                                  ^^^^^^ help: convert the identifier to snake case: `ref_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn scatter(&self, ray: &Ray, hitRecord: &HitRecord, attenuation: &mut VColor, scattered: &mut Ray) -> bool {
[INFO] [stdout]    |                                  ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `refractionRatio` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let refractionRatio: f32 = if hitRecord.frontFace {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `refraction_ratio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `unitDirection` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let unitDirection: Vec3 = normalize(ray.direction);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `unit_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cosTheta` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let cosTheta: f32 = f32::min(dot(unitDirection * -1.0, hitRecord.normal), 1.0);
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `cos_theta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sinTheta` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let sinTheta: f32 = sqrt(1.0 - cosTheta * cosTheta);
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `sin_theta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cannotRefract` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let cannotRefract: bool = refractionRatio * sinTheta > 1.0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `cannot_refract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `mathUtils` should have a snake case name
[INFO] [stdout]  --> src/math/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod mathUtils;
[INFO] [stdout]   |         ^^^^^^^^^ help: convert the identifier to snake case: `math_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `vColor` should have a snake case name
[INFO] [stdout]  --> src/math/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod vColor;
[INFO] [stdout]   |         ^^^^^^ help: convert the identifier to snake case: `v_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vectorLengthSquared` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn vectorLengthSquared(vec: &Vec3) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `vector_length_squared`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isNearlyZero_Vec4` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn isNearlyZero_Vec4(vec: &Vec4, tolerance: Option<f32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_nearly_zero_vec4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `zeroTolerance` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let zeroTolerance: f32 = tolerance.unwrap_or(1e-8);
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `zero_tolerance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isNearlyZero_Vec3` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn isNearlyZero_Vec3(vec: &Vec3, tolerance: Option<f32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_nearly_zero_vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `zeroTolerance` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let zeroTolerance: f32 = tolerance.unwrap_or(1e-8);
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `zero_tolerance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomVec3` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn randomVec3() -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^ help: convert the identifier to snake case: `random_vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomInUnitSphere` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn randomInUnitSphere() -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_in_unit_sphere`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomUnitVector3` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn randomUnitVector3() -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_unit_vector3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomInHemisphere` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn randomInHemisphere(n: &Vec3) -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_in_hemisphere`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `randInUnitSphere` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let randInUnitSphere: Vec3 = randomInUnitSphere();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `rand_in_unit_sphere`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `etaiOverEtat` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:66:37
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn refract(uv: &Vec3, n: &Vec3, etaiOverEtat: &f32) -> Vec3 {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ help: convert the identifier to snake case: `etai_over_etat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cosTheta` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let cosTheta: f32 = f32::min(dot( -*uv,*n), 1.0);
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `cos_theta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rOutPersp` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let rOutPersp: Vec3 = (*uv + *n * cosTheta) * *etaiOverEtat;
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `r_out_persp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rOutParallel` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let rOutParallel: Vec3 = *n * -sqrt(f32::abs(1.0 - vectorLengthSquared(&rOutPersp)));
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `r_out_parallel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomInUnitDisk` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn randomInUnitDisk() -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_in_unit_disk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getColorRGB` should have a snake case name
[INFO] [stdout]   --> src/math/vColor.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn getColorRGB(&self) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to snake case: `get_color_rgb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `asSFColor` should have a snake case name
[INFO] [stdout]   --> src/math/vColor.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn asSFColor(&self) -> Color {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `as_sfcolor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 121 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.87s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "fb69cab80409852631828c5eb7040a3c702a4228a5a52efedfa610356df24935", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fb69cab80409852631828c5eb7040a3c702a4228a5a52efedfa610356df24935", kill_on_drop: false }`
[INFO] [stdout] fb69cab80409852631828c5eb7040a3c702a4228a5a52efedfa610356df24935
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 155dbcb0487454ceaac1002af7f52c08e1b3af0bf69e7223b9e7edaa4c19f3cd
[INFO] running `Command { std: "docker" "start" "-a" "155dbcb0487454ceaac1002af7f52c08e1b3af0bf69e7223b9e7edaa4c19f3cd", kill_on_drop: false }`
[INFO] [stderr]    Compiling RustRayTracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinHandle`, `Thread`
[INFO] [stdout]  --> src/main.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::thread::{JoinHandle, Thread};
[INFO] [stdout]   |                   ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `length`
[INFO] [stdout]  --> src/main.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use glm::{IVec2, length, vec3, Vec3};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Text`
[INFO] [stdout]  --> src/main.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sfml::graphics::{Color, Image, RenderTarget, RenderWindow, Sprite, Text, Texture};
[INFO] [stdout]   |                      ^^^^^                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::model::hittableObject::HittableObject`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::model::hittableObject::HittableObject;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/render/scene.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]  --> src/render/scene.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ptr::null;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mat4`, `mat4`, `vec4`
[INFO] [stdout]  --> src/render/scene.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use glm::{length, Mat4, mat4, Vec3, vec3, vec4};
[INFO] [stdout]   |                   ^^^^  ^^^^              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/render/scene.rs:38:64
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn Hit(&self, ray: &Ray, hitRecord: &mut HitRecord) -> (bool) {
[INFO] [stdout]    |                                                                ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -     pub fn Hit(&self, ray: &Ray, hitRecord: &mut HitRecord) -> (bool) {
[INFO] [stdout] 38 +     pub fn Hit(&self, ray: &Ray, hitRecord: &mut HitRecord) -> bool {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/render/camera.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IVec4`, `Mat4`, `Vec4`, `cos`, `ivec4`, `mat4`, `sin`, `vec4`
[INFO] [stdout]  --> src/render/camera.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use glm::{cos, cross, IVec4, ivec4, mat4, Mat4, normalize, radians, sin, tan, vec3, Vec3, Vec4, vec4};
[INFO] [stdout]   |           ^^^         ^^^^^  ^^^^^  ^^^^  ^^^^                      ^^^                   ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `look_at`, `perspective`
[INFO] [stdout]  --> src/render/camera.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use glm::ext::{look_at, perspective};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/render/renderer.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/model/sphere.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `isNearlyZero_Vec4`
[INFO] [stdout]  --> src/model/lambertian.rs:2:49
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::math::mathUtils::{isNearlyZero_Vec3, isNearlyZero_Vec4, randomUnitVector3};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Mul`
[INFO] [stdout]  --> src/math/mathUtils.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Add, Mul};
[INFO] [stdout]   |                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `min`, `to_vec3`
[INFO] [stdout]  --> src/math/mathUtils.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use glm::{dot, min, normalize, sqrt, to_vec3, Vec3, vec3, Vec4};
[INFO] [stdout]   |                ^^^                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]  --> src/math/ray.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Mul;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/render/renderer.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 let target: Vec3 = hitRecord.point + randomInHemisphere(&hitRecord.normal);
[INFO] [stdout]    |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/render/renderer.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 for s in 0..self.sampling {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> src/model/lambertian.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn scatter(&self, ray: &Ray, hitRecord: &HitRecord, attenuation: &mut VColor, scattered: &mut Ray) -> bool {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let mut tex: Texture;
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_cam` is never used
[INFO] [stdout]   --> src/render/scene.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Scene {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn new_cam(camera: Camera) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `getRadius` and `setRadius` are never used
[INFO] [stdout]   --> src/model/sphere.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl Sphere {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn getRadius(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn setRadius(&mut self, radius: f32) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/model/hitRecord.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl HitRecord {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 17 |     
[INFO] [stdout] 18 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isNearlyZero_Vec4` is never used
[INFO] [stdout]   --> src/math/mathUtils.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn isNearlyZero_Vec4(vec: &Vec4, tolerance: Option<f32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomVec3` is never used
[INFO] [stdout]   --> src/math/mathUtils.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn randomVec3() -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_vec4`, `new_rgba`, and `getColorRGB` are never used
[INFO] [stdout]   --> src/math/vColor.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl VColor {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn new_vec4(vec: &Vec4) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn new_rgba(r: f32, g: f32, b: f32, a: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn getColorRGB(&self) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `RustRayTracer` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `rust_ray_tracer`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `camPos` should have a snake case name
[INFO] [stdout]   --> src/main.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let camPos: Vec3 = vec3(13.0,-2.0,-2.0);
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `cam_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lookAt` should have a snake case name
[INFO] [stdout]   --> src/main.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let lookAt: Vec3 = vec3(0.0,0.0,0.0);
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `look_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `optTexture` should have a snake case name
[INFO] [stdout]   --> src/main.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let optTexture: Option<Texture> = Texture::new_from_image(&renderer.imageBuffer);
[INFO] [stdout]    |                 ^^^^^^^^^^ help: convert the identifier to snake case: `opt_texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `hittableObjects` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     hittableObjects: Vec<Box<dyn HittableObject>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hittable_objects`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tMax` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     tMax: f32,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to snake case: `t_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tMin` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     tMin: f32,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to snake case: `t_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setCam` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn setCam(&mut self, camera: Camera) { self.cam = camera}
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to snake case: `set_cam`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Hit` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn Hit(&self, ray: &Ray, hitRecord: &mut HitRecord) -> (bool) {
[INFO] [stdout]    |            ^^^ help: convert the identifier to snake case: `hit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:38:34
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn Hit(&self, ray: &Ray, hitRecord: &mut HitRecord) -> (bool) {
[INFO] [stdout]    |                                  ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitAnything` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let mut hitAnything: bool = false;
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `hit_anything`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `closestSoFar` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut closestSoFar: f32 = self.tMax;
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `closest_so_far`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getCamera` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn getCamera(&self) -> &Camera {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `get_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `addObject` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn addObject(&mut self, object: Box<dyn HittableObject>) {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `add_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `randomScene` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn randomScene() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to snake case: `random_scene`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `groundMaterial` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let groundMaterial: Lambertian = Lambertian::new(VColor::new_sc(0.5));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ground_material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `chooseMat` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:69:21
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 let chooseMat: f64 = thread_rng().gen();
[INFO] [stdout]    |                     ^^^^^^^^^ help: convert the identifier to snake case: `choose_mat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sphereMat` should have a snake case name
[INFO] [stdout]   --> src/render/scene.rs:73:25
[INFO] [stdout]    |
[INFO] [stdout] 73 |                     let sphereMat: Rc<dyn Material>;
[INFO] [stdout]    |                         ^^^^^^^^^ help: convert the identifier to snake case: `sphere_mat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `eyePosition` should have a snake case name
[INFO] [stdout]  --> src/render/camera.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     eyePosition: Vec3,
[INFO] [stdout]   |     ^^^^^^^^^^^ help: convert the identifier to snake case: `eye_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `viewDirection` should have a snake case name
[INFO] [stdout]  --> src/render/camera.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     viewDirection: Vec3,
[INFO] [stdout]   |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `view_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `upVector` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     upVector: Vec3,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `up_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sideVector` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     sideVector: Vec3,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `side_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lensRadius` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     lensRadius: f32,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `lens_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lowerLeftCorner` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     lowerLeftCorner: Vec3,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lower_left_corner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lookAt` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(position: Vec3, lookAt: Vec3, width: i32, height: i32, aperture: f32, focusDist: f32, fov: f32) -> Camera {
[INFO] [stdout]    |                                ^^^^^^ help: convert the identifier to snake case: `look_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `focusDist` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:23:86
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(position: Vec3, lookAt: Vec3, width: i32, height: i32, aperture: f32, focusDist: f32, fov: f32) -> Camera {
[INFO] [stdout]    |                                                                                      ^^^^^^^^^ help: convert the identifier to snake case: `focus_dist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `aspectRatio` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let aspectRatio: f32 = width as f32 / height as f32;
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `aspect_ratio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vwHeight` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let vwHeight: f32 = 2.0 * h;
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `vw_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vwWidth` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let vwWidth: f32 = aspectRatio * vwHeight;
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `vw_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `viewDirection` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let viewDirection: Vec3 = normalize(position - lookAt);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `view_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sideVector` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let sideVector: Vec3 = normalize(cross(vec3(0.0,0.0,0.1), viewDirection));
[INFO] [stdout]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `side_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `upVector` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let upVector: Vec3 = cross(viewDirection, sideVector);
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `up_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `createARay` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn createARay(&self, x: f32, y: f32) -> Ray {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to snake case: `create_aray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `aspectRatio` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let aspectRatio: f32 = 800.0 as f32 / 600.0 as f32;
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `aspect_ratio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vwHeight` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let vwHeight: f32 = 2.0 * h;
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `vw_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vwWidth` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let vwWidth: f32 = aspectRatio * vwHeight;
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `vw_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `viewDirection` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let viewDirection: Vec3 = normalize( position - vec3(1.0,0.0,0.0));
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `view_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sideVector` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let sideVector: Vec3 = normalize(cross(vec3(0.0,0.0,0.1), viewDirection));
[INFO] [stdout]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `side_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `upVector` should have a snake case name
[INFO] [stdout]   --> src/render/camera.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let upVector: Vec3 = cross(viewDirection, sideVector);
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `up_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rayRecursionDepth` should have a snake case name
[INFO] [stdout]   --> src/render/renderer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     rayRecursionDepth: i16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ray_recursion_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `imageBuffer` should have a snake case name
[INFO] [stdout]   --> src/render/renderer.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub imageBuffer: Image,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `image_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `viewPort` should have a snake case name
[INFO] [stdout]   --> src/render/renderer.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     viewPort: IVec4,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `view_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `colorRay` should have a snake case name
[INFO] [stdout]   --> src/render/renderer.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn colorRay(&self, x: i32, y: i32, ray: &Ray, depth: i16) -> VColor {
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to snake case: `color_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]   --> src/render/renderer.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut hitRecord: HitRecord = HitRecord::default();
[INFO] [stdout]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `unitDirection` should have a snake case name
[INFO] [stdout]   --> src/render/renderer.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let unitDirection: Vec3 = normalize(ray.direction);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `unit_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `hittableObject` should have a snake case name
[INFO] [stdout]  --> src/model/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod hittableObject;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hittable_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `hitRecord` should have a snake case name
[INFO] [stdout]  --> src/model/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod hitRecord;
[INFO] [stdout]   |         ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `testIntersection` should have a snake case name
[INFO] [stdout]  --> src/model/hittableObject.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_intersection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tMin` should have a snake case name
[INFO] [stdout]  --> src/model/hittableObject.rs:7:43
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool;
[INFO] [stdout]   |                                           ^^^^ help: convert the identifier to snake case: `t_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tMax` should have a snake case name
[INFO] [stdout]  --> src/model/hittableObject.rs:7:54
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool;
[INFO] [stdout]   |                                                      ^^^^ help: convert the identifier to snake case: `t_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]  --> src/model/hittableObject.rs:7:65
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool;
[INFO] [stdout]   |                                                                 ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]  --> src/model/material.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn scatter(&self, ray: &Ray, hitRecord: &HitRecord, attenuation: &mut VColor, scattered: &mut Ray) -> bool;
[INFO] [stdout]   |                                  ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tMin` should have a snake case name
[INFO] [stdout]   --> src/model/sphere.rs:19:43
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool {
[INFO] [stdout]    |                                           ^^^^ help: convert the identifier to snake case: `t_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tMax` should have a snake case name
[INFO] [stdout]   --> src/model/sphere.rs:19:54
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool {
[INFO] [stdout]    |                                                      ^^^^ help: convert the identifier to snake case: `t_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]   --> src/model/sphere.rs:19:65
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool {
[INFO] [stdout]    |                                                                 ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `outwardNormal` should have a snake case name
[INFO] [stdout]   --> src/model/sphere.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let outwardNormal: Vec3 = (hitRecord.point - self.center) / self.radius;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `outward_normal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getRadius` should have a snake case name
[INFO] [stdout]   --> src/model/sphere.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn getRadius(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `get_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setRadius` should have a snake case name
[INFO] [stdout]   --> src/model/sphere.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn setRadius(&mut self, radius: f32) {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `set_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `frontFace` should have a snake case name
[INFO] [stdout]   --> src/model/hitRecord.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub frontFace: bool
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `front_face`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `SetFaceNormal` should have a snake case name
[INFO] [stdout]   --> src/model/hitRecord.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn SetFaceNormal(&mut self, ray: &Ray, outwardNormal: Vec3) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `set_face_normal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `outwardNormal` should have a snake case name
[INFO] [stdout]   --> src/model/hitRecord.rs:24:48
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn SetFaceNormal(&mut self, ray: &Ray, outwardNormal: Vec3) {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^ help: convert the identifier to snake case: `outward_normal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]   --> src/model/lambertian.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn scatter(&self, ray: &Ray, hitRecord: &HitRecord, attenuation: &mut VColor, scattered: &mut Ray) -> bool {
[INFO] [stdout]    |                                  ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `scatterDir` should have a snake case name
[INFO] [stdout]   --> src/model/lambertian.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut scatterDir: Vec3 = hitRecord.normal + randomUnitVector3();
[INFO] [stdout]    |                 ^^^^^^^^^^ help: convert the identifier to snake case: `scatter_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]   --> src/model/metal.rs:22:34
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn scatter(&self, ray: &Ray, hitRecord: &HitRecord, attenuation: &mut VColor, scattered: &mut Ray) -> bool {
[INFO] [stdout]    |                                  ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `reflectedRay` should have a snake case name
[INFO] [stdout]   --> src/model/metal.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let reflectedRay: Vec3 = reflect(normalize(ray.direction),hitRecord.normal);
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `reflected_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `indexOfRefraction` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     indexOfRefraction: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `index_of_refraction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `refIdx` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:20:34
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn reflectance(cos: f32, refIdx: f32) -> f32 {
[INFO] [stdout]    |                                  ^^^^^^ help: convert the identifier to snake case: `ref_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hitRecord` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn scatter(&self, ray: &Ray, hitRecord: &HitRecord, attenuation: &mut VColor, scattered: &mut Ray) -> bool {
[INFO] [stdout]    |                                  ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `refractionRatio` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let refractionRatio: f32 = if hitRecord.frontFace {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `refraction_ratio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `unitDirection` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let unitDirection: Vec3 = normalize(ray.direction);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `unit_direction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cosTheta` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let cosTheta: f32 = f32::min(dot(unitDirection * -1.0, hitRecord.normal), 1.0);
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `cos_theta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sinTheta` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let sinTheta: f32 = sqrt(1.0 - cosTheta * cosTheta);
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `sin_theta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cannotRefract` should have a snake case name
[INFO] [stdout]   --> src/model/dielectric.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let cannotRefract: bool = refractionRatio * sinTheta > 1.0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `cannot_refract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `mathUtils` should have a snake case name
[INFO] [stdout]  --> src/math/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod mathUtils;
[INFO] [stdout]   |         ^^^^^^^^^ help: convert the identifier to snake case: `math_utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `vColor` should have a snake case name
[INFO] [stdout]  --> src/math/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod vColor;
[INFO] [stdout]   |         ^^^^^^ help: convert the identifier to snake case: `v_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vectorLengthSquared` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn vectorLengthSquared(vec: &Vec3) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `vector_length_squared`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isNearlyZero_Vec4` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn isNearlyZero_Vec4(vec: &Vec4, tolerance: Option<f32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_nearly_zero_vec4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `zeroTolerance` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let zeroTolerance: f32 = tolerance.unwrap_or(1e-8);
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `zero_tolerance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isNearlyZero_Vec3` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn isNearlyZero_Vec3(vec: &Vec3, tolerance: Option<f32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_nearly_zero_vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `zeroTolerance` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let zeroTolerance: f32 = tolerance.unwrap_or(1e-8);
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `zero_tolerance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomVec3` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn randomVec3() -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^ help: convert the identifier to snake case: `random_vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomInUnitSphere` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn randomInUnitSphere() -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_in_unit_sphere`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomUnitVector3` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn randomUnitVector3() -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_unit_vector3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomInHemisphere` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn randomInHemisphere(n: &Vec3) -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_in_hemisphere`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `randInUnitSphere` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let randInUnitSphere: Vec3 = randomInUnitSphere();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `rand_in_unit_sphere`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `etaiOverEtat` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:66:37
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn refract(uv: &Vec3, n: &Vec3, etaiOverEtat: &f32) -> Vec3 {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ help: convert the identifier to snake case: `etai_over_etat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cosTheta` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let cosTheta: f32 = f32::min(dot( -*uv,*n), 1.0);
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `cos_theta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rOutPersp` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let rOutPersp: Vec3 = (*uv + *n * cosTheta) * *etaiOverEtat;
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `r_out_persp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rOutParallel` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let rOutParallel: Vec3 = *n * -sqrt(f32::abs(1.0 - vectorLengthSquared(&rOutPersp)));
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `r_out_parallel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `randomInUnitDisk` should have a snake case name
[INFO] [stdout]   --> src/math/mathUtils.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn randomInUnitDisk() -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_in_unit_disk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getColorRGB` should have a snake case name
[INFO] [stdout]   --> src/math/vColor.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn getColorRGB(&self) -> Vec3 {
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to snake case: `get_color_rgb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `asSFColor` should have a snake case name
[INFO] [stdout]   --> src/math/vColor.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn asSFColor(&self) -> Color {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to snake case: `as_sfcolor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 121 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.28s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "155dbcb0487454ceaac1002af7f52c08e1b3af0bf69e7223b9e7edaa4c19f3cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "155dbcb0487454ceaac1002af7f52c08e1b3af0bf69e7223b9e7edaa4c19f3cd", kill_on_drop: false }`
[INFO] [stdout] 155dbcb0487454ceaac1002af7f52c08e1b3af0bf69e7223b9e7edaa4c19f3cd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] af2eeb6e7026c1333b8a2984396b12bc6ddc72d3b342584966d93228cd7bd379
[INFO] running `Command { std: "docker" "start" "-a" "af2eeb6e7026c1333b8a2984396b12bc6ddc72d3b342584966d93228cd7bd379", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]  --> src/main.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::rc::Rc;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread`
[INFO] [stderr]  --> src/main.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::thread;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `JoinHandle`, `Thread`
[INFO] [stderr]  --> src/main.rs:4:19
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::thread::{JoinHandle, Thread};
[INFO] [stderr]   |                   ^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `length`
[INFO] [stderr]  --> src/main.rs:5:18
[INFO] [stderr]   |
[INFO] [stderr] 5 | use glm::{IVec2, length, vec3, Vec3};
[INFO] [stderr]   |                  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Color`, `Text`
[INFO] [stderr]  --> src/main.rs:6:22
[INFO] [stderr]   |
[INFO] [stderr] 6 | use sfml::graphics::{Color, Image, RenderTarget, RenderWindow, Sprite, Text, Texture};
[INFO] [stderr]   |                      ^^^^^                                             ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::model::hittableObject::HittableObject`
[INFO] [stderr]   --> src/main.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::model::hittableObject::HittableObject;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Deref`
[INFO] [stderr]  --> src/render/scene.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ops::Deref;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ptr::null`
[INFO] [stderr]  --> src/render/scene.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::ptr::null;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Mat4`, `mat4`, `vec4`
[INFO] [stderr]  --> src/render/scene.rs:4:19
[INFO] [stderr]   |
[INFO] [stderr] 4 | use glm::{length, Mat4, mat4, Vec3, vec3, vec4};
[INFO] [stderr]   |                   ^^^^  ^^^^              ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/render/scene.rs:38:64
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub fn Hit(&self, ray: &Ray, hitRecord: &mut HitRecord) -> (bool) {
[INFO] [stderr]    |                                                                ^    ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 38 -     pub fn Hit(&self, ray: &Ray, hitRecord: &mut HitRecord) -> (bool) {
[INFO] [stderr] 38 +     pub fn Hit(&self, ray: &Ray, hitRecord: &mut HitRecord) -> bool {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::f32::consts::PI`
[INFO] [stderr]  --> src/render/camera.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::f32::consts::PI;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `IVec4`, `Mat4`, `Vec4`, `cos`, `ivec4`, `mat4`, `sin`, `vec4`
[INFO] [stderr]  --> src/render/camera.rs:2:11
[INFO] [stderr]   |
[INFO] [stderr] 2 | use glm::{cos, cross, IVec4, ivec4, mat4, Mat4, normalize, radians, sin, tan, vec3, Vec3, Vec4, vec4};
[INFO] [stderr]   |           ^^^         ^^^^^  ^^^^^  ^^^^  ^^^^                      ^^^                   ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `look_at`, `perspective`
[INFO] [stderr]  --> src/render/camera.rs:3:16
[INFO] [stderr]   |
[INFO] [stderr] 3 | use glm::ext::{look_at, perspective};
[INFO] [stderr]   |                ^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread`
[INFO] [stderr]  --> src/render/renderer.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::thread;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Deref`
[INFO] [stderr]  --> src/model/sphere.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ops::Deref;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `isNearlyZero_Vec4`
[INFO] [stderr]  --> src/model/lambertian.rs:2:49
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::math::mathUtils::{isNearlyZero_Vec3, isNearlyZero_Vec4, randomUnitVector3};
[INFO] [stderr]   |                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Add`, `Mul`
[INFO] [stderr]  --> src/math/mathUtils.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ops::{Add, Mul};
[INFO] [stderr]   |                ^^^  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `min`, `to_vec3`
[INFO] [stderr]  --> src/math/mathUtils.rs:2:16
[INFO] [stderr]   |
[INFO] [stderr] 2 | use glm::{dot, min, normalize, sqrt, to_vec3, Vec3, vec3, Vec4};
[INFO] [stderr]   |                ^^^                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Mul`
[INFO] [stderr]  --> src/math/ray.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ops::Mul;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `target`
[INFO] [stderr]   --> src/render/renderer.rs:42:21
[INFO] [stderr]    |
[INFO] [stderr] 42 |                 let target: Vec3 = hitRecord.point + randomInHemisphere(&hitRecord.normal);
[INFO] [stderr]    |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]   --> src/render/renderer.rs:59:21
[INFO] [stderr]    |
[INFO] [stderr] 59 |                 for s in 0..self.sampling {
[INFO] [stderr]    |                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ray`
[INFO] [stderr]   --> src/model/lambertian.rs:13:23
[INFO] [stderr]    |
[INFO] [stderr] 13 |     fn scatter(&self, ray: &Ray, hitRecord: &HitRecord, attenuation: &mut VColor, scattered: &mut Ray) -> bool {
[INFO] [stderr]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:60:17
[INFO] [stderr]    |
[INFO] [stderr] 60 |             let mut tex: Texture;
[INFO] [stderr]    |                 ----^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new_cam` is never used
[INFO] [stderr]   --> src/render/scene.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl Scene {
[INFO] [stderr]    | ---------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 29 |     pub fn new_cam(camera: Camera) -> Self {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `getRadius` and `setRadius` are never used
[INFO] [stderr]   --> src/model/sphere.rs:67:12
[INFO] [stderr]    |
[INFO] [stderr] 56 | impl Sphere {
[INFO] [stderr]    | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 67 |     pub fn getRadius(&self) -> f32 {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     pub fn setRadius(&mut self, radius: f32) {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/model/hitRecord.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl HitRecord {
[INFO] [stderr]    | -------------- associated function in this implementation
[INFO] [stderr] 17 |     
[INFO] [stderr] 18 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `isNearlyZero_Vec4` is never used
[INFO] [stderr]   --> src/math/mathUtils.rs:15:8
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub fn isNearlyZero_Vec4(vec: &Vec4, tolerance: Option<f32>) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `randomVec3` is never used
[INFO] [stderr]   --> src/math/mathUtils.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn randomVec3() -> Vec3 {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new_vec4`, `new_rgba`, and `getColorRGB` are never used
[INFO] [stderr]   --> src/math/vColor.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl VColor {
[INFO] [stderr]    | ----------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 21 |     pub fn new_vec4(vec: &Vec4) -> Self {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 36 |     pub fn new_rgba(r: f32, g: f32, b: f32, a: f32) -> Self {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub fn getColorRGB(&self) -> Vec3 {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: crate `RustRayTracer` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = help: convert the identifier to snake case: `rust_ray_tracer`
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `camPos` should have a snake case name
[INFO] [stderr]   --> src/main.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |     let camPos: Vec3 = vec3(13.0,-2.0,-2.0);
[INFO] [stderr]    |         ^^^^^^ help: convert the identifier to snake case: `cam_pos`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `lookAt` should have a snake case name
[INFO] [stderr]   --> src/main.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 37 |     let lookAt: Vec3 = vec3(0.0,0.0,0.0);
[INFO] [stderr]    |         ^^^^^^ help: convert the identifier to snake case: `look_at`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `optTexture` should have a snake case name
[INFO] [stderr]   --> src/main.rs:59:17
[INFO] [stderr]    |
[INFO] [stderr] 59 |             let optTexture: Option<Texture> = Texture::new_from_image(&renderer.imageBuffer);
[INFO] [stderr]    |                 ^^^^^^^^^^ help: convert the identifier to snake case: `opt_texture`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `hittableObjects` should have a snake case name
[INFO] [stderr]   --> src/render/scene.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     hittableObjects: Vec<Box<dyn HittableObject>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hittable_objects`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `tMax` should have a snake case name
[INFO] [stderr]   --> src/render/scene.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     tMax: f32,
[INFO] [stderr]    |     ^^^^ help: convert the identifier to snake case: `t_max`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `tMin` should have a snake case name
[INFO] [stderr]   --> src/render/scene.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     tMin: f32,
[INFO] [stderr]    |     ^^^^ help: convert the identifier to snake case: `t_min`
[INFO] [stderr] 
[INFO] [stderr] warning: method `setCam` should have a snake case name
[INFO] [stderr]   --> src/render/scene.rs:36:12
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub fn setCam(&mut self, camera: Camera) { self.cam = camera}
[INFO] [stderr]    |            ^^^^^^ help: convert the identifier to snake case: `set_cam`
[INFO] [stderr] 
[INFO] [stderr] warning: method `Hit` should have a snake case name
[INFO] [stderr]   --> src/render/scene.rs:38:12
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub fn Hit(&self, ray: &Ray, hitRecord: &mut HitRecord) -> (bool) {
[INFO] [stderr]    |            ^^^ help: convert the identifier to snake case: `hit`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `hitRecord` should have a snake case name
[INFO] [stderr]   --> src/render/scene.rs:38:34
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub fn Hit(&self, ray: &Ray, hitRecord: &mut HitRecord) -> (bool) {
[INFO] [stderr]    |                                  ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `hitAnything` should have a snake case name
[INFO] [stderr]   --> src/render/scene.rs:39:17
[INFO] [stderr]    |
[INFO] [stderr] 39 |         let mut hitAnything: bool = false;
[INFO] [stderr]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `hit_anything`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `closestSoFar` should have a snake case name
[INFO] [stderr]   --> src/render/scene.rs:40:17
[INFO] [stderr]    |
[INFO] [stderr] 40 |         let mut closestSoFar: f32 = self.tMax;
[INFO] [stderr]    |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `closest_so_far`
[INFO] [stderr] 
[INFO] [stderr] warning: method `getCamera` should have a snake case name
[INFO] [stderr]   --> src/render/scene.rs:52:12
[INFO] [stderr]    |
[INFO] [stderr] 52 |     pub fn getCamera(&self) -> &Camera {
[INFO] [stderr]    |            ^^^^^^^^^ help: convert the identifier to snake case: `get_camera`
[INFO] [stderr] 
[INFO] [stderr] warning: method `addObject` should have a snake case name
[INFO] [stderr]   --> src/render/scene.rs:56:12
[INFO] [stderr]    |
[INFO] [stderr] 56 |     pub fn addObject(&mut self, object: Box<dyn HittableObject>) {
[INFO] [stderr]    |            ^^^^^^^^^ help: convert the identifier to snake case: `add_object`
[INFO] [stderr] 
[INFO] [stderr] warning: method `randomScene` should have a snake case name
[INFO] [stderr]   --> src/render/scene.rs:60:12
[INFO] [stderr]    |
[INFO] [stderr] 60 |     pub fn randomScene() -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^ help: convert the identifier to snake case: `random_scene`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `groundMaterial` should have a snake case name
[INFO] [stderr]   --> src/render/scene.rs:63:13
[INFO] [stderr]    |
[INFO] [stderr] 63 |         let groundMaterial: Lambertian = Lambertian::new(VColor::new_sc(0.5));
[INFO] [stderr]    |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ground_material`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `chooseMat` should have a snake case name
[INFO] [stderr]   --> src/render/scene.rs:69:21
[INFO] [stderr]    |
[INFO] [stderr] 69 |                 let chooseMat: f64 = thread_rng().gen();
[INFO] [stderr]    |                     ^^^^^^^^^ help: convert the identifier to snake case: `choose_mat`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `sphereMat` should have a snake case name
[INFO] [stderr]   --> src/render/scene.rs:73:25
[INFO] [stderr]    |
[INFO] [stderr] 73 |                     let sphereMat: Rc<dyn Material>;
[INFO] [stderr]    |                         ^^^^^^^^^ help: convert the identifier to snake case: `sphere_mat`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `eyePosition` should have a snake case name
[INFO] [stderr]  --> src/render/camera.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     eyePosition: Vec3,
[INFO] [stderr]   |     ^^^^^^^^^^^ help: convert the identifier to snake case: `eye_position`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `viewDirection` should have a snake case name
[INFO] [stderr]  --> src/render/camera.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     viewDirection: Vec3,
[INFO] [stderr]   |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `view_direction`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `upVector` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     upVector: Vec3,
[INFO] [stderr]    |     ^^^^^^^^ help: convert the identifier to snake case: `up_vector`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `sideVector` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     sideVector: Vec3,
[INFO] [stderr]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `side_vector`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `lensRadius` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     lensRadius: f32,
[INFO] [stderr]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `lens_radius`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `lowerLeftCorner` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     lowerLeftCorner: Vec3,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lower_left_corner`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `lookAt` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:23:32
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn new(position: Vec3, lookAt: Vec3, width: i32, height: i32, aperture: f32, focusDist: f32, fov: f32) -> Camera {
[INFO] [stderr]    |                                ^^^^^^ help: convert the identifier to snake case: `look_at`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `focusDist` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:23:86
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn new(position: Vec3, lookAt: Vec3, width: i32, height: i32, aperture: f32, focusDist: f32, fov: f32) -> Camera {
[INFO] [stderr]    |                                                                                      ^^^^^^^^^ help: convert the identifier to snake case: `focus_dist`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `aspectRatio` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:25:13
[INFO] [stderr]    |
[INFO] [stderr] 25 |         let aspectRatio: f32 = width as f32 / height as f32;
[INFO] [stderr]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `aspect_ratio`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `vwHeight` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:29:13
[INFO] [stderr]    |
[INFO] [stderr] 29 |         let vwHeight: f32 = 2.0 * h;
[INFO] [stderr]    |             ^^^^^^^^ help: convert the identifier to snake case: `vw_height`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `vwWidth` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:30:13
[INFO] [stderr]    |
[INFO] [stderr] 30 |         let vwWidth: f32 = aspectRatio * vwHeight;
[INFO] [stderr]    |             ^^^^^^^ help: convert the identifier to snake case: `vw_width`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `viewDirection` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:32:13
[INFO] [stderr]    |
[INFO] [stderr] 32 |         let viewDirection: Vec3 = normalize(position - lookAt);
[INFO] [stderr]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `view_direction`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `sideVector` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:33:13
[INFO] [stderr]    |
[INFO] [stderr] 33 |         let sideVector: Vec3 = normalize(cross(vec3(0.0,0.0,0.1), viewDirection));
[INFO] [stderr]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `side_vector`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `upVector` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:34:13
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let upVector: Vec3 = cross(viewDirection, sideVector);
[INFO] [stderr]    |             ^^^^^^^^ help: convert the identifier to snake case: `up_vector`
[INFO] [stderr] 
[INFO] [stderr] warning: method `createARay` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:52:12
[INFO] [stderr]    |
[INFO] [stderr] 52 |     pub fn createARay(&self, x: f32, y: f32) -> Ray {
[INFO] [stderr]    |            ^^^^^^^^^^ help: convert the identifier to snake case: `create_aray`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `aspectRatio` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:64:13
[INFO] [stderr]    |
[INFO] [stderr] 64 |         let aspectRatio: f32 = 800.0 as f32 / 600.0 as f32;
[INFO] [stderr]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `aspect_ratio`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `vwHeight` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:71:13
[INFO] [stderr]    |
[INFO] [stderr] 71 |         let vwHeight: f32 = 2.0 * h;
[INFO] [stderr]    |             ^^^^^^^^ help: convert the identifier to snake case: `vw_height`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `vwWidth` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:72:13
[INFO] [stderr]    |
[INFO] [stderr] 72 |         let vwWidth: f32 = aspectRatio * vwHeight;
[INFO] [stderr]    |             ^^^^^^^ help: convert the identifier to snake case: `vw_width`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `viewDirection` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:74:13
[INFO] [stderr]    |
[INFO] [stderr] 74 |         let viewDirection: Vec3 = normalize( position - vec3(1.0,0.0,0.0));
[INFO] [stderr]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `view_direction`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `sideVector` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:75:13
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let sideVector: Vec3 = normalize(cross(vec3(0.0,0.0,0.1), viewDirection));
[INFO] [stderr]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `side_vector`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `upVector` should have a snake case name
[INFO] [stderr]   --> src/render/camera.rs:76:13
[INFO] [stderr]    |
[INFO] [stderr] 76 |         let upVector: Vec3 = cross(viewDirection, sideVector);
[INFO] [stderr]    |             ^^^^^^^^ help: convert the identifier to snake case: `up_vector`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `rayRecursionDepth` should have a snake case name
[INFO] [stderr]   --> src/render/renderer.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     rayRecursionDepth: i16,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ray_recursion_depth`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `imageBuffer` should have a snake case name
[INFO] [stderr]   --> src/render/renderer.rs:17:9
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub imageBuffer: Image,
[INFO] [stderr]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `image_buffer`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `viewPort` should have a snake case name
[INFO] [stderr]   --> src/render/renderer.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     viewPort: IVec4,
[INFO] [stderr]    |     ^^^^^^^^ help: convert the identifier to snake case: `view_port`
[INFO] [stderr] 
[INFO] [stderr] warning: method `colorRay` should have a snake case name
[INFO] [stderr]   --> src/render/renderer.rs:33:12
[INFO] [stderr]    |
[INFO] [stderr] 33 |     pub fn colorRay(&self, x: i32, y: i32, ray: &Ray, depth: i16) -> VColor {
[INFO] [stderr]    |            ^^^^^^^^ help: convert the identifier to snake case: `color_ray`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `hitRecord` should have a snake case name
[INFO] [stderr]   --> src/render/renderer.rs:36:17
[INFO] [stderr]    |
[INFO] [stderr] 36 |         let mut hitRecord: HitRecord = HitRecord::default();
[INFO] [stderr]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `unitDirection` should have a snake case name
[INFO] [stderr]   --> src/render/renderer.rs:48:13
[INFO] [stderr]    |
[INFO] [stderr] 48 |         let unitDirection: Vec3 = normalize(ray.direction);
[INFO] [stderr]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `unit_direction`
[INFO] [stderr] 
[INFO] [stderr] warning: module `hittableObject` should have a snake case name
[INFO] [stderr]  --> src/model/mod.rs:1:9
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub mod hittableObject;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hittable_object`
[INFO] [stderr] 
[INFO] [stderr] warning: module `hitRecord` should have a snake case name
[INFO] [stderr]  --> src/model/mod.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub mod hitRecord;
[INFO] [stderr]   |         ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stderr] 
[INFO] [stderr] warning: trait method `testIntersection` should have a snake case name
[INFO] [stderr]  --> src/model/hittableObject.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool;
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_intersection`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `tMin` should have a snake case name
[INFO] [stderr]  --> src/model/hittableObject.rs:7:43
[INFO] [stderr]   |
[INFO] [stderr] 7 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool;
[INFO] [stderr]   |                                           ^^^^ help: convert the identifier to snake case: `t_min`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `tMax` should have a snake case name
[INFO] [stderr]  --> src/model/hittableObject.rs:7:54
[INFO] [stderr]   |
[INFO] [stderr] 7 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool;
[INFO] [stderr]   |                                                      ^^^^ help: convert the identifier to snake case: `t_max`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `hitRecord` should have a snake case name
[INFO] [stderr]  --> src/model/hittableObject.rs:7:65
[INFO] [stderr]   |
[INFO] [stderr] 7 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool;
[INFO] [stderr]   |                                                                 ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `hitRecord` should have a snake case name
[INFO] [stderr]  --> src/model/material.rs:6:34
[INFO] [stderr]   |
[INFO] [stderr] 6 |     fn scatter(&self, ray: &Ray, hitRecord: &HitRecord, attenuation: &mut VColor, scattered: &mut Ray) -> bool;
[INFO] [stderr]   |                                  ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `tMin` should have a snake case name
[INFO] [stderr]   --> src/model/sphere.rs:19:43
[INFO] [stderr]    |
[INFO] [stderr] 19 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool {
[INFO] [stderr]    |                                           ^^^^ help: convert the identifier to snake case: `t_min`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `tMax` should have a snake case name
[INFO] [stderr]   --> src/model/sphere.rs:19:54
[INFO] [stderr]    |
[INFO] [stderr] 19 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool {
[INFO] [stderr]    |                                                      ^^^^ help: convert the identifier to snake case: `t_max`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `hitRecord` should have a snake case name
[INFO] [stderr]   --> src/model/sphere.rs:19:65
[INFO] [stderr]    |
[INFO] [stderr] 19 |     fn testIntersection(&self, ray: &Ray, tMin: f32, tMax: f32, hitRecord: &mut HitRecord) -> bool {
[INFO] [stderr]    |                                                                 ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `outwardNormal` should have a snake case name
[INFO] [stderr]   --> src/model/sphere.rs:48:13
[INFO] [stderr]    |
[INFO] [stderr] 48 |         let outwardNormal: Vec3 = (hitRecord.point - self.center) / self.radius;
[INFO] [stderr]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `outward_normal`
[INFO] [stderr] 
[INFO] [stderr] warning: method `getRadius` should have a snake case name
[INFO] [stderr]   --> src/model/sphere.rs:67:12
[INFO] [stderr]    |
[INFO] [stderr] 67 |     pub fn getRadius(&self) -> f32 {
[INFO] [stderr]    |            ^^^^^^^^^ help: convert the identifier to snake case: `get_radius`
[INFO] [stderr] 
[INFO] [stderr] warning: method `setRadius` should have a snake case name
[INFO] [stderr]   --> src/model/sphere.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 71 |     pub fn setRadius(&mut self, radius: f32) {
[INFO] [stderr]    |            ^^^^^^^^^ help: convert the identifier to snake case: `set_radius`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `frontFace` should have a snake case name
[INFO] [stderr]   --> src/model/hitRecord.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     pub frontFace: bool
[INFO] [stderr]    |         ^^^^^^^^^ help: convert the identifier to snake case: `front_face`
[INFO] [stderr] 
[INFO] [stderr] warning: method `SetFaceNormal` should have a snake case name
[INFO] [stderr]   --> src/model/hitRecord.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 24 |     pub fn SetFaceNormal(&mut self, ray: &Ray, outwardNormal: Vec3) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `set_face_normal`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `outwardNormal` should have a snake case name
[INFO] [stderr]   --> src/model/hitRecord.rs:24:48
[INFO] [stderr]    |
[INFO] [stderr] 24 |     pub fn SetFaceNormal(&mut self, ray: &Ray, outwardNormal: Vec3) {
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^ help: convert the identifier to snake case: `outward_normal`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `hitRecord` should have a snake case name
[INFO] [stderr]   --> src/model/lambertian.rs:13:34
[INFO] [stderr]    |
[INFO] [stderr] 13 |     fn scatter(&self, ray: &Ray, hitRecord: &HitRecord, attenuation: &mut VColor, scattered: &mut Ray) -> bool {
[INFO] [stderr]    |                                  ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `scatterDir` should have a snake case name
[INFO] [stderr]   --> src/model/lambertian.rs:15:17
[INFO] [stderr]    |
[INFO] [stderr] 15 |         let mut scatterDir: Vec3 = hitRecord.normal + randomUnitVector3();
[INFO] [stderr]    |                 ^^^^^^^^^^ help: convert the identifier to snake case: `scatter_dir`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `hitRecord` should have a snake case name
[INFO] [stderr]   --> src/model/metal.rs:22:34
[INFO] [stderr]    |
[INFO] [stderr] 22 |     fn scatter(&self, ray: &Ray, hitRecord: &HitRecord, attenuation: &mut VColor, scattered: &mut Ray) -> bool {
[INFO] [stderr]    |                                  ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `reflectedRay` should have a snake case name
[INFO] [stderr]   --> src/model/metal.rs:23:13
[INFO] [stderr]    |
[INFO] [stderr] 23 |         let reflectedRay: Vec3 = reflect(normalize(ray.direction),hitRecord.normal);
[INFO] [stderr]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `reflected_ray`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `indexOfRefraction` should have a snake case name
[INFO] [stderr]   --> src/model/dielectric.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     indexOfRefraction: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `index_of_refraction`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `refIdx` should have a snake case name
[INFO] [stderr]   --> src/model/dielectric.rs:20:34
[INFO] [stderr]    |
[INFO] [stderr] 20 |     pub fn reflectance(cos: f32, refIdx: f32) -> f32 {
[INFO] [stderr]    |                                  ^^^^^^ help: convert the identifier to snake case: `ref_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `hitRecord` should have a snake case name
[INFO] [stderr]   --> src/model/dielectric.rs:28:34
[INFO] [stderr]    |
[INFO] [stderr] 28 |     fn scatter(&self, ray: &Ray, hitRecord: &HitRecord, attenuation: &mut VColor, scattered: &mut Ray) -> bool {
[INFO] [stderr]    |                                  ^^^^^^^^^ help: convert the identifier to snake case: `hit_record`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `refractionRatio` should have a snake case name
[INFO] [stderr]   --> src/model/dielectric.rs:31:13
[INFO] [stderr]    |
[INFO] [stderr] 31 |         let refractionRatio: f32 = if hitRecord.frontFace {
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `refraction_ratio`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `unitDirection` should have a snake case name
[INFO] [stderr]   --> src/model/dielectric.rs:37:13
[INFO] [stderr]    |
[INFO] [stderr] 37 |         let unitDirection: Vec3 = normalize(ray.direction);
[INFO] [stderr]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `unit_direction`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cosTheta` should have a snake case name
[INFO] [stderr]   --> src/model/dielectric.rs:39:13
[INFO] [stderr]    |
[INFO] [stderr] 39 |         let cosTheta: f32 = f32::min(dot(unitDirection * -1.0, hitRecord.normal), 1.0);
[INFO] [stderr]    |             ^^^^^^^^ help: convert the identifier to snake case: `cos_theta`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `sinTheta` should have a snake case name
[INFO] [stderr]   --> src/model/dielectric.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |         let sinTheta: f32 = sqrt(1.0 - cosTheta * cosTheta);
[INFO] [stderr]    |             ^^^^^^^^ help: convert the identifier to snake case: `sin_theta`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cannotRefract` should have a snake case name
[INFO] [stderr]   --> src/model/dielectric.rs:42:13
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let cannotRefract: bool = refractionRatio * sinTheta > 1.0;
[INFO] [stderr]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `cannot_refract`
[INFO] [stderr] 
[INFO] [stderr] warning: module `mathUtils` should have a snake case name
[INFO] [stderr]  --> src/math/mod.rs:1:9
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub mod mathUtils;
[INFO] [stderr]   |         ^^^^^^^^^ help: convert the identifier to snake case: `math_utils`
[INFO] [stderr] 
[INFO] [stderr] warning: module `vColor` should have a snake case name
[INFO] [stderr]  --> src/math/mod.rs:3:9
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub mod vColor;
[INFO] [stderr]   |         ^^^^^^ help: convert the identifier to snake case: `v_color`
[INFO] [stderr] 
[INFO] [stderr] warning: function `vectorLengthSquared` should have a snake case name
[INFO] [stderr]   --> src/math/mathUtils.rs:11:8
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub fn vectorLengthSquared(vec: &Vec3) -> f32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `vector_length_squared`
[INFO] [stderr] 
[INFO] [stderr] warning: function `isNearlyZero_Vec4` should have a snake case name
[INFO] [stderr]   --> src/math/mathUtils.rs:15:8
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub fn isNearlyZero_Vec4(vec: &Vec4, tolerance: Option<f32>) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_nearly_zero_vec4`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `zeroTolerance` should have a snake case name
[INFO] [stderr]   --> src/math/mathUtils.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |     let zeroTolerance: f32 = tolerance.unwrap_or(1e-8);
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `zero_tolerance`
[INFO] [stderr] 
[INFO] [stderr] warning: function `isNearlyZero_Vec3` should have a snake case name
[INFO] [stderr]   --> src/math/mathUtils.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn isNearlyZero_Vec3(vec: &Vec3, tolerance: Option<f32>) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_nearly_zero_vec3`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `zeroTolerance` should have a snake case name
[INFO] [stderr]   --> src/math/mathUtils.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 25 |     let zeroTolerance: f32 = tolerance.unwrap_or(1e-8);
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `zero_tolerance`
[INFO] [stderr] 
[INFO] [stderr] warning: function `randomVec3` should have a snake case name
[INFO] [stderr]   --> src/math/mathUtils.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn randomVec3() -> Vec3 {
[INFO] [stderr]    |        ^^^^^^^^^^ help: convert the identifier to snake case: `random_vec3`
[INFO] [stderr] 
[INFO] [stderr] warning: function `randomInUnitSphere` should have a snake case name
[INFO] [stderr]   --> src/math/mathUtils.rs:40:8
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub fn randomInUnitSphere() -> Vec3 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_in_unit_sphere`
[INFO] [stderr] 
[INFO] [stderr] warning: function `randomUnitVector3` should have a snake case name
[INFO] [stderr]   --> src/math/mathUtils.rs:50:8
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub fn randomUnitVector3() -> Vec3 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_unit_vector3`
[INFO] [stderr] 
[INFO] [stderr] warning: function `randomInHemisphere` should have a snake case name
[INFO] [stderr]   --> src/math/mathUtils.rs:56:8
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub fn randomInHemisphere(n: &Vec3) -> Vec3 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_in_hemisphere`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `randInUnitSphere` should have a snake case name
[INFO] [stderr]   --> src/math/mathUtils.rs:57:9
[INFO] [stderr]    |
[INFO] [stderr] 57 |     let randInUnitSphere: Vec3 = randomInUnitSphere();
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `rand_in_unit_sphere`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `etaiOverEtat` should have a snake case name
[INFO] [stderr]   --> src/math/mathUtils.rs:66:37
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub fn refract(uv: &Vec3, n: &Vec3, etaiOverEtat: &f32) -> Vec3 {
[INFO] [stderr]    |                                     ^^^^^^^^^^^^ help: convert the identifier to snake case: `etai_over_etat`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cosTheta` should have a snake case name
[INFO] [stderr]   --> src/math/mathUtils.rs:67:9
[INFO] [stderr]    |
[INFO] [stderr] 67 |     let cosTheta: f32 = f32::min(dot( -*uv,*n), 1.0);
[INFO] [stderr]    |         ^^^^^^^^ help: convert the identifier to snake case: `cos_theta`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `rOutPersp` should have a snake case name
[INFO] [stderr]   --> src/math/mathUtils.rs:68:9
[INFO] [stderr]    |
[INFO] [stderr] 68 |     let rOutPersp: Vec3 = (*uv + *n * cosTheta) * *etaiOverEtat;
[INFO] [stderr]    |         ^^^^^^^^^ help: convert the identifier to snake case: `r_out_persp`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `rOutParallel` should have a snake case name
[INFO] [stderr]   --> src/math/mathUtils.rs:69:9
[INFO] [stderr]    |
[INFO] [stderr] 69 |     let rOutParallel: Vec3 = *n * -sqrt(f32::abs(1.0 - vectorLengthSquared(&rOutPersp)));
[INFO] [stderr]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `r_out_parallel`
[INFO] [stderr] 
[INFO] [stderr] warning: function `randomInUnitDisk` should have a snake case name
[INFO] [stderr]   --> src/math/mathUtils.rs:73:8
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub fn randomInUnitDisk() -> Vec3 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_in_unit_disk`
[INFO] [stderr] 
[INFO] [stderr] warning: method `getColorRGB` should have a snake case name
[INFO] [stderr]   --> src/math/vColor.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 45 |     pub fn getColorRGB(&self) -> Vec3 {
[INFO] [stderr]    |            ^^^^^^^^^^^ help: convert the identifier to snake case: `get_color_rgb`
[INFO] [stderr] 
[INFO] [stderr] warning: method `asSFColor` should have a snake case name
[INFO] [stderr]   --> src/math/vColor.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub fn asSFColor(&self) -> Color {
[INFO] [stderr]    |            ^^^^^^^^^ help: convert the identifier to snake case: `as_sfcolor`
[INFO] [stderr] 
[INFO] [stderr] warning: `RustRayTracer` (bin "RustRayTracer" test) generated 121 warnings (run `cargo fix --bin "RustRayTracer" --tests` to apply 23 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/RustRayTracer-eca298412242e635)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "af2eeb6e7026c1333b8a2984396b12bc6ddc72d3b342584966d93228cd7bd379", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "af2eeb6e7026c1333b8a2984396b12bc6ddc72d3b342584966d93228cd7bd379", kill_on_drop: false }`
[INFO] [stdout] af2eeb6e7026c1333b8a2984396b12bc6ddc72d3b342584966d93228cd7bd379
