[INFO] cloning repository https://github.com/BjarkePedersen/raytracey-not-a-raytracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BjarkePedersen/raytracey-not-a-raytracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBjarkePedersen%2Fraytracey-not-a-raytracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBjarkePedersen%2Fraytracey-not-a-raytracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d2496c6b5c131656078ef766a90415a2475c6ac8
[INFO] checking BjarkePedersen/raytracey-not-a-raytracer against master#a26e97be8826d408309fffbd8168362365719f50 for pr-136776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBjarkePedersen%2Fraytracey-not-a-raytracer" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/BjarkePedersen/raytracey-not-a-raytracer on toolchain a26e97be8826d408309fffbd8168362365719f50
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/BjarkePedersen/raytracey-not-a-raytracer
[INFO] finished tweaking git repo https://github.com/BjarkePedersen/raytracey-not-a-raytracer
[INFO] tweaked toml for git repo https://github.com/BjarkePedersen/raytracey-not-a-raytracer written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/BjarkePedersen/raytracey-not-a-raytracer 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" "+a26e97be8826d408309fffbd8168362365719f50" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded time v0.3.1
[INFO] [stderr]   Downloaded rgb v0.8.27
[INFO] [stderr]   Downloaded ordered-float v2.7.0
[INFO] [stderr]   Downloaded xkbcommon-sys v0.7.5
[INFO] [stderr]   Downloaded redox_syscall v0.1.51
[INFO] [stderr]   Downloaded xkb v0.2.1
[INFO] [stderr]   Downloaded rand_core v0.3.0
[INFO] [stderr]   Downloaded cgmath v0.18.0
[INFO] [stderr]   Downloaded minifb v0.19.3
[INFO] [stderr]   Downloaded rand v0.4.5
[INFO] [stderr]   Downloaded cc v1.0.28
[INFO] [stderr]   Downloaded num_cpus v1.9.0
[INFO] [stderr]   Downloaded nix v0.20.1
[INFO] [stderr]   Downloaded orbclient v0.3.20
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cdb00d939c084ae5ef64dfd831060f34db398c9d517c6be4fd79ff0b87918c25
[INFO] running `Command { std: "docker" "start" "-a" "cdb00d939c084ae5ef64dfd831060f34db398c9d517c6be4fd79ff0b87918c25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cdb00d939c084ae5ef64dfd831060f34db398c9d517c6be4fd79ff0b87918c25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cdb00d939c084ae5ef64dfd831060f34db398c9d517c6be4fd79ff0b87918c25", kill_on_drop: false }`
[INFO] [stdout] cdb00d939c084ae5ef64dfd831060f34db398c9d517c6be4fd79ff0b87918c25
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 473e1a67180b01e2b4b8905e015985736490e642c7c31b76c27ab3663cef9c66
[INFO] running `Command { std: "docker" "start" "-a" "473e1a67180b01e2b4b8905e015985736490e642c7c31b76c27ab3663cef9c66", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.100
[INFO] [stderr]    Compiling proc-macro2 v1.0.28
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling pkg-config v0.3.14
[INFO] [stderr]    Compiling glob v0.3.0
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling libloading v0.7.0
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling bindgen v0.56.0
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling peeking_take_while v0.1.2
[INFO] [stderr]    Compiling shlex v0.1.1
[INFO] [stderr]    Compiling nom v6.2.1
[INFO] [stderr]     Checking smallvec v1.6.1
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]    Compiling cc v1.0.28
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]    Compiling cgmath v0.18.0
[INFO] [stderr]     Checking bytemuck v1.7.2
[INFO] [stderr]    Compiling clang-sys v1.2.0
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]    Compiling aho-corasick v0.7.15
[INFO] [stderr]    Compiling wayland-sys v0.28.6
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]     Checking rgb v0.8.27
[INFO] [stderr]     Checking time v0.3.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]     Checking ordered-float v2.7.0
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling minifb v0.19.3
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking nix v0.20.1
[INFO] [stderr]     Checking num_cpus v1.9.0
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling which v3.1.1
[INFO] [stderr]    Compiling clap v2.33.3
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]    Compiling wayland-scanner v0.28.6
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking xcursor v0.3.3
[INFO] [stderr]     Checking tempfile v3.2.0
[INFO] [stderr]    Compiling wayland-client v0.28.6
[INFO] [stderr]    Compiling wayland-protocols v0.28.6
[INFO] [stderr]    Compiling regex v1.4.6
[INFO] [stderr]    Compiling cexpr v0.4.0
[INFO] [stderr]    Compiling env_logger v0.8.4
[INFO] [stderr]     Checking wayland-commons v0.28.6
[INFO] [stderr]     Checking wayland-cursor v0.28.6
[INFO] [stderr]    Compiling xkbcommon-sys v0.7.5
[INFO] [stderr]     Checking xkb v0.2.1
[INFO] [stderr]     Checking simple_rust_cpu_raytracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/bresenham.rs:114:6
[INFO] [stdout]     |
[INFO] [stdout] 114 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/bresenham.rs:114:6
[INFO] [stdout]     |
[INFO] [stdout] 114 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `cgmath::Matrix4::<S>::look_at_dir`: Use Matrix4::look_to_rh
[INFO] [stdout]    --> src/bresenham.rs:181:28
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let dir = Matrix4::look_at_dir(
[INFO] [stdout]     |                            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `cgmath::Matrix4::<S>::look_at_dir`: Use Matrix4::look_to_rh
[INFO] [stdout]    --> src/bresenham.rs:181:28
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let dir = Matrix4::look_at_dir(
[INFO] [stdout]     |                            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `cgmath::Matrix4::<S>::look_at_dir`: Use Matrix4::look_to_rh
[INFO] [stdout]    --> src/pathtrace.rs:163:32
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let dir = Matrix4::look_at_dir(
[INFO] [stdout]     |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `cgmath::Matrix4::<S>::look_at_dir`: Use Matrix4::look_to_rh
[INFO] [stdout]    --> src/pathtrace.rs:163:32
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let dir = Matrix4::look_at_dir(
[INFO] [stdout]     |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ord`
[INFO] [stdout]  --> src/skybox.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cmp::Ord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ord`
[INFO] [stdout]  --> src/skybox.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cmp::Ord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]    --> src/main.rs:128:25
[INFO] [stdout]     |
[INFO] [stdout] 128 |                     let col = col * Col::from_hue(cr) * (1.0 / Col::from_hue(cr).luminance());
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start` is never read
[INFO] [stdout]   --> src/app.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Time {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 13 |     pub start: Instant,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/helpers.rs:62:12
[INFO] [stdout]     |
[INFO] [stdout] 45  | impl Col {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62  |     pub fn powf(&self, power: f32) -> Col {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  |     pub fn powi(&self, power: i32) -> Col {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78  |     pub fn red() -> Col {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 81  |     pub fn green() -> Col {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84  |     pub fn blue() -> Col {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87  |     pub fn yellow() -> Col {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90  |     pub fn cyan() -> Col {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93  |     pub fn magenta() -> Col {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96  |     pub fn black() -> Col {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99  |     pub fn white() -> Col {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn grey() -> Col {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn light_grey() -> Col {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn dark_grey() -> Col {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn from_random_hue(rng: &mut ThreadRng) -> Col {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `uv_to_pixel_coordinates` is never used
[INFO] [stdout]    --> src/helpers.rs:309:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub fn uv_to_pixel_coordinates(uv: UV, width: f32, height: f32) -> Vector2<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dimensions` is never read
[INFO] [stdout]    --> src/helpers.rs:366:5
[INFO] [stdout]     |
[INFO] [stdout] 364 | pub struct Axis {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] 365 |     axis: usize,
[INFO] [stdout] 366 |     dimensions: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Axis` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `next` are never used
[INFO] [stdout]    --> src/helpers.rs:376:12
[INFO] [stdout]     |
[INFO] [stdout] 375 | impl Axis {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 376 |     pub fn new(dimensions: usize) -> Axis {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn next(&self) -> Axis {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `object_id` is never read
[INFO] [stdout]   --> src/scene.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Camera {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub object_id: ObjectID,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Camera` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Light` is never constructed
[INFO] [stdout]   --> src/scene.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Light {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Light` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `intensity` is never read
[INFO] [stdout]   --> src/scene.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Sky {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] 37 |     pub colors: Vec<Col>,
[INFO] [stdout] 38 |     pub intensity: f32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Sky` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `from_object_id` is never read
[INFO] [stdout]   --> src/scene.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Ray {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub from_object_id: ObjectID,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/scene.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 | /         &self.lines.iter().for_each(|line| {
[INFO] [stdout] 93 | |             for (x, y) in line.render_line(camera, display_width, display_height) {
[INFO] [stdout] 94 | |                 let col = col_to_rgb_u32(line.color);
[INFO] [stdout] ...  |
[INFO] [stdout] 98 | |         });
[INFO] [stdout]    | |__________^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let _ = &self.lines.iter().for_each(|line| {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]    --> src/main.rs:128:25
[INFO] [stdout]     |
[INFO] [stdout] 128 |                     let col = col * Col::from_hue(cr) * (1.0 / Col::from_hue(cr).luminance());
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start` is never read
[INFO] [stdout]   --> src/app.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Time {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 13 |     pub start: Instant,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/helpers.rs:62:12
[INFO] [stdout]     |
[INFO] [stdout] 45  | impl Col {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62  |     pub fn powf(&self, power: f32) -> Col {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  |     pub fn powi(&self, power: i32) -> Col {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78  |     pub fn red() -> Col {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 81  |     pub fn green() -> Col {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84  |     pub fn blue() -> Col {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87  |     pub fn yellow() -> Col {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90  |     pub fn cyan() -> Col {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93  |     pub fn magenta() -> Col {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96  |     pub fn black() -> Col {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99  |     pub fn white() -> Col {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn grey() -> Col {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn light_grey() -> Col {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn dark_grey() -> Col {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn from_random_hue(rng: &mut ThreadRng) -> Col {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `uv_to_pixel_coordinates` is never used
[INFO] [stdout]    --> src/helpers.rs:309:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub fn uv_to_pixel_coordinates(uv: UV, width: f32, height: f32) -> Vector2<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dimensions` is never read
[INFO] [stdout]    --> src/helpers.rs:366:5
[INFO] [stdout]     |
[INFO] [stdout] 364 | pub struct Axis {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] 365 |     axis: usize,
[INFO] [stdout] 366 |     dimensions: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Axis` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `next` are never used
[INFO] [stdout]    --> src/helpers.rs:376:12
[INFO] [stdout]     |
[INFO] [stdout] 375 | impl Axis {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 376 |     pub fn new(dimensions: usize) -> Axis {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn next(&self) -> Axis {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `object_id` is never read
[INFO] [stdout]   --> src/scene.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Camera {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub object_id: ObjectID,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Camera` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Light` is never constructed
[INFO] [stdout]   --> src/scene.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Light {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Light` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `intensity` is never read
[INFO] [stdout]   --> src/scene.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Sky {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] 37 |     pub colors: Vec<Col>,
[INFO] [stdout] 38 |     pub intensity: f32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Sky` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `from_object_id` is never read
[INFO] [stdout]   --> src/scene.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Ray {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub from_object_id: ObjectID,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/scene.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 | /         &self.lines.iter().for_each(|line| {
[INFO] [stdout] 93 | |             for (x, y) in line.render_line(camera, display_width, display_height) {
[INFO] [stdout] 94 | |                 let col = col_to_rgb_u32(line.color);
[INFO] [stdout] ...  |
[INFO] [stdout] 98 | |         });
[INFO] [stdout]    | |__________^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let _ = &self.lines.iter().for_each(|line| {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.00s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2, nom v6.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "473e1a67180b01e2b4b8905e015985736490e642c7c31b76c27ab3663cef9c66", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "473e1a67180b01e2b4b8905e015985736490e642c7c31b76c27ab3663cef9c66", kill_on_drop: false }`
[INFO] [stdout] 473e1a67180b01e2b4b8905e015985736490e642c7c31b76c27ab3663cef9c66
