[INFO] cloning repository https://github.com/goodisontoffee/ray_tracer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/goodisontoffee/ray_tracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgoodisontoffee%2Fray_tracer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgoodisontoffee%2Fray_tracer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c783c2e361c4cddb30ecc97a83aa923b6348f7b7 [INFO] testing goodisontoffee/ray_tracer against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgoodisontoffee%2Fray_tracer" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/goodisontoffee/ray_tracer [INFO] finished tweaking git repo https://github.com/goodisontoffee/ray_tracer [INFO] tweaked toml for git repo https://github.com/goodisontoffee/ray_tracer written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/goodisontoffee/ray_tracer on toolchain 1.99.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/goodisontoffee/ray_tracer 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded libc v0.2.71 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 383fbfa1e796b3b5fafcdc639d2a11561ba030348e1f30ea853b90fb98817041 [INFO] running `Command { std: "docker" "start" "383fbfa1e796b3b5fafcdc639d2a11561ba030348e1f30ea853b90fb98817041", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "383fbfa1e796b3b5fafcdc639d2a11561ba030348e1f30ea853b90fb98817041", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "383fbfa1e796b3b5fafcdc639d2a11561ba030348e1f30ea853b90fb98817041" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "383fbfa1e796b3b5fafcdc639d2a11561ba030348e1f30ea853b90fb98817041", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "383fbfa1e796b3b5fafcdc639d2a11561ba030348e1f30ea853b90fb98817041" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.71 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling ppv-lite86 v0.2.8 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling ray_tracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated constant `std::f32::MAX`: replaced by the `MAX` associated constant on `f32` [INFO] [stdout] --> src/main.rs:19:42 [INFO] [stdout] | [INFO] [stdout] 19 | match world.hit(&r, 0.001, std::f32::MAX) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `p` is never read [INFO] [stdout] --> src/camera.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let mut p = Vec3::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 66 | p = 2.0 * Vec3::new(rng.gen::(), rng.gen::(), 0.0) - Vec3::new(1.0, 1.0, 0.0); [INFO] [stdout] | --------------------------------------------------------------------------------------- `p` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/hittable.rs:40:19 [INFO] [stdout] | [INFO] [stdout] 40 | fn hit(&self, r: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_min` [INFO] [stdout] --> src/hittable.rs:40:28 [INFO] [stdout] | [INFO] [stdout] 40 | fn hit(&self, r: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_max` [INFO] [stdout] --> src/hittable.rs:40:40 [INFO] [stdout] | [INFO] [stdout] 40 | fn hit(&self, r: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `outward_normal` is never read [INFO] [stdout] --> src/material.rs:45:38 [INFO] [stdout] | [INFO] [stdout] 45 | let mut outward_normal = Vec3::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 60 | outward_normal = hit_record.normal(); [INFO] [stdout] | ------------------------------------ `outward_normal` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `ni_over_nt` is never read [INFO] [stdout] --> src/material.rs:47:34 [INFO] [stdout] | [INFO] [stdout] 47 | let mut ni_over_nt = 0.0; [INFO] [stdout] | ^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 61 | ni_over_nt = 1.0 / ref_idx; [INFO] [stdout] | -------------------------- `ni_over_nt` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reflect_prob` is never read [INFO] [stdout] --> src/material.rs:51:36 [INFO] [stdout] | [INFO] [stdout] 51 | let mut reflect_prob = 0.0; [INFO] [stdout] | ^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 74 | reflect_prob = 1.0; [INFO] [stdout] | ------------------ `reflect_prob` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cosine` is never read [INFO] [stdout] --> src/material.rs:52:30 [INFO] [stdout] | [INFO] [stdout] 52 | let mut cosine = 0.0; [INFO] [stdout] | ^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 62 | / cosine = -Vec3::dot(&ray_in.direction(), &hit_record.normal()) [INFO] [stdout] 63 | | / ray_in.direction().length(); [INFO] [stdout] | |_________________________________________________- `cosine` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `p` is never read [INFO] [stdout] --> src/material.rs:113:17 [INFO] [stdout] | [INFO] [stdout] 113 | let mut p = Vec3::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 117 | / p = 2.0 * Vec3::new(rng.gen::(), rng.gen::(), rng.gen::()) [INFO] [stdout] 118 | | - Vec3::new(1.0, 1.0, 1.0); [INFO] [stdout] | |______________________________________- `p` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `w` is never read [INFO] [stdout] --> src/camera.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Camera { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | w: Vec3, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `Camera` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `A` should have a snake case name [INFO] [stdout] --> src/ray.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | A: Vec3, [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `B` should have a snake case name [INFO] [stdout] --> src/ray.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | B: Vec3, [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 3.00s [INFO] running `Command { std: "docker" "inspect" "383fbfa1e796b3b5fafcdc639d2a11561ba030348e1f30ea853b90fb98817041", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "383fbfa1e796b3b5fafcdc639d2a11561ba030348e1f30ea853b90fb98817041" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling ray_tracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/ray.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::f32::MAX`: replaced by the `MAX` associated constant on `f32` [INFO] [stdout] --> src/main.rs:19:42 [INFO] [stdout] | [INFO] [stdout] 19 | match world.hit(&r, 0.001, std::f32::MAX) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `p` is never read [INFO] [stdout] --> src/camera.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let mut p = Vec3::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 66 | p = 2.0 * Vec3::new(rng.gen::(), rng.gen::(), 0.0) - Vec3::new(1.0, 1.0, 0.0); [INFO] [stdout] | --------------------------------------------------------------------------------------- `p` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/hittable.rs:40:19 [INFO] [stdout] | [INFO] [stdout] 40 | fn hit(&self, r: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_min` [INFO] [stdout] --> src/hittable.rs:40:28 [INFO] [stdout] | [INFO] [stdout] 40 | fn hit(&self, r: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_max` [INFO] [stdout] --> src/hittable.rs:40:40 [INFO] [stdout] | [INFO] [stdout] 40 | fn hit(&self, r: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `outward_normal` is never read [INFO] [stdout] --> src/material.rs:45:38 [INFO] [stdout] | [INFO] [stdout] 45 | let mut outward_normal = Vec3::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 60 | outward_normal = hit_record.normal(); [INFO] [stdout] | ------------------------------------ `outward_normal` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `ni_over_nt` is never read [INFO] [stdout] --> src/material.rs:47:34 [INFO] [stdout] | [INFO] [stdout] 47 | let mut ni_over_nt = 0.0; [INFO] [stdout] | ^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 61 | ni_over_nt = 1.0 / ref_idx; [INFO] [stdout] | -------------------------- `ni_over_nt` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reflect_prob` is never read [INFO] [stdout] --> src/material.rs:51:36 [INFO] [stdout] | [INFO] [stdout] 51 | let mut reflect_prob = 0.0; [INFO] [stdout] | ^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 74 | reflect_prob = 1.0; [INFO] [stdout] | ------------------ `reflect_prob` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cosine` is never read [INFO] [stdout] --> src/material.rs:52:30 [INFO] [stdout] | [INFO] [stdout] 52 | let mut cosine = 0.0; [INFO] [stdout] | ^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 62 | / cosine = -Vec3::dot(&ray_in.direction(), &hit_record.normal()) [INFO] [stdout] 63 | | / ray_in.direction().length(); [INFO] [stdout] | |_________________________________________________- `cosine` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `p` is never read [INFO] [stdout] --> src/material.rs:113:17 [INFO] [stdout] | [INFO] [stdout] 113 | let mut p = Vec3::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 117 | / p = 2.0 * Vec3::new(rng.gen::(), rng.gen::(), rng.gen::()) [INFO] [stdout] 118 | | - Vec3::new(1.0, 1.0, 1.0); [INFO] [stdout] | |______________________________________- `p` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `w` is never read [INFO] [stdout] --> src/camera.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Camera { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | w: Vec3, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `Camera` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `A` should have a snake case name [INFO] [stdout] --> src/ray.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | A: Vec3, [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `B` should have a snake case name [INFO] [stdout] --> src/ray.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | B: Vec3, [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.32s [INFO] running `Command { std: "docker" "inspect" "383fbfa1e796b3b5fafcdc639d2a11561ba030348e1f30ea853b90fb98817041", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "383fbfa1e796b3b5fafcdc639d2a11561ba030348e1f30ea853b90fb98817041" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/ray.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::f32::MAX`: replaced by the `MAX` associated constant on `f32` [INFO] [stderr] --> src/main.rs:19:42 [INFO] [stderr] | [INFO] [stderr] 19 | match world.hit(&r, 0.001, std::f32::MAX) { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `p` is never read [INFO] [stderr] --> src/camera.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | let mut p = Vec3::default(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stderr] ... [INFO] [stderr] 66 | p = 2.0 * Vec3::new(rng.gen::(), rng.gen::(), 0.0) - Vec3::new(1.0, 1.0, 0.0); [INFO] [stderr] | --------------------------------------------------------------------------------------- `p` is overwritten here before the previous value is read [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r` [INFO] [stderr] --> src/hittable.rs:40:19 [INFO] [stderr] | [INFO] [stderr] 40 | fn hit(&self, r: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t_min` [INFO] [stderr] --> src/hittable.rs:40:28 [INFO] [stderr] | [INFO] [stderr] 40 | fn hit(&self, r: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t_max` [INFO] [stderr] --> src/hittable.rs:40:40 [INFO] [stderr] | [INFO] [stderr] 40 | fn hit(&self, r: &Ray, t_min: f32, t_max: f32) -> Option { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `outward_normal` is never read [INFO] [stderr] --> src/material.rs:45:38 [INFO] [stderr] | [INFO] [stderr] 45 | let mut outward_normal = Vec3::default(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stderr] ... [INFO] [stderr] 60 | outward_normal = hit_record.normal(); [INFO] [stderr] | ------------------------------------ `outward_normal` is overwritten here before the previous value is read [INFO] [stderr] [INFO] [stderr] warning: value assigned to `ni_over_nt` is never read [INFO] [stderr] --> src/material.rs:47:34 [INFO] [stderr] | [INFO] [stderr] 47 | let mut ni_over_nt = 0.0; [INFO] [stderr] | ^^^ this value is reassigned later and never used [INFO] [stderr] ... [INFO] [stderr] 61 | ni_over_nt = 1.0 / ref_idx; [INFO] [stderr] | -------------------------- `ni_over_nt` is overwritten here before the previous value is read [INFO] [stderr] [INFO] [stderr] warning: value assigned to `reflect_prob` is never read [INFO] [stderr] --> src/material.rs:51:36 [INFO] [stderr] | [INFO] [stderr] 51 | let mut reflect_prob = 0.0; [INFO] [stderr] | ^^^ this value is reassigned later and never used [INFO] [stderr] ... [INFO] [stderr] 74 | reflect_prob = 1.0; [INFO] [stderr] | ------------------ `reflect_prob` is overwritten here before the previous value is read [INFO] [stderr] [INFO] [stderr] warning: value assigned to `cosine` is never read [INFO] [stderr] --> src/material.rs:52:30 [INFO] [stderr] | [INFO] [stderr] 52 | let mut cosine = 0.0; [INFO] [stderr] | ^^^ this value is reassigned later and never used [INFO] [stderr] ... [INFO] [stderr] 62 | / cosine = -Vec3::dot(&ray_in.direction(), &hit_record.normal()) [INFO] [stderr] 63 | | / ray_in.direction().length(); [INFO] [stderr] | |_________________________________________________- `cosine` is overwritten here before the previous value is read [INFO] [stderr] [INFO] [stderr] warning: value assigned to `p` is never read [INFO] [stderr] --> src/material.rs:113:17 [INFO] [stderr] | [INFO] [stderr] 113 | let mut p = Vec3::default(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stderr] ... [INFO] [stderr] 117 | / p = 2.0 * Vec3::new(rng.gen::(), rng.gen::(), rng.gen::()) [INFO] [stderr] 118 | | - Vec3::new(1.0, 1.0, 1.0); [INFO] [stderr] | |______________________________________- `p` is overwritten here before the previous value is read [INFO] [stderr] [INFO] [stderr] warning: field `w` is never read [INFO] [stderr] --> src/camera.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct Camera { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 14 | w: Vec3, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `Camera` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `A` should have a snake case name [INFO] [stderr] --> src/ray.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | A: Vec3, [INFO] [stderr] | ^ help: convert the identifier to snake case: `a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `B` should have a snake case name [INFO] [stderr] --> src/ray.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | B: Vec3, [INFO] [stderr] | ^ help: convert the identifier to snake case: `b` [INFO] [stderr] [INFO] [stderr] warning: `ray_tracer` (bin "ray_tracer" test) generated 14 warnings (run `cargo fix --bin "ray_tracer" -p ray_tracer --tests` to apply 4 suggestions) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.03s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/ray_tracer-e8cd2c7a0a14333f) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test vec3::tests::test_vec3_div ... ok [INFO] [stdout] test ray::tests::test_ray_direction ... ok [INFO] [stdout] test vec3::tests::test_vec3_mul ... ok [INFO] [stdout] test ray::tests::test_ray_origin ... ok [INFO] [stdout] test vec3::tests::test_vec3_sub ... ok [INFO] [stdout] test vec3::tests::test_vec3_div_f32 ... ok [INFO] [stdout] test vec3::tests::test_vec3_mul_f32 ... ok [INFO] [stdout] test ray::tests::test_ray_point_at_parameter ... ok [INFO] [stdout] test vec3::tests::test_vec3_add ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "383fbfa1e796b3b5fafcdc639d2a11561ba030348e1f30ea853b90fb98817041", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "383fbfa1e796b3b5fafcdc639d2a11561ba030348e1f30ea853b90fb98817041", kill_on_drop: false }` [INFO] [stdout] 383fbfa1e796b3b5fafcdc639d2a11561ba030348e1f30ea853b90fb98817041