[INFO] cloning repository https://github.com/K-C-DaCosta/Software-Rasterizer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/K-C-DaCosta/Software-Rasterizer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FK-C-DaCosta%2FSoftware-Rasterizer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FK-C-DaCosta%2FSoftware-Rasterizer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0e3f299dd3a7da299781133d87eaea23f150bb27
[INFO] checking K-C-DaCosta/Software-Rasterizer against try#1779a8680dcd39c56ed600627cf6742ef07ed78c for pr-149045
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FK-C-DaCosta%2FSoftware-Rasterizer" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc2/source/.cargo/config
[INFO] started tweaking git repo https://github.com/K-C-DaCosta/Software-Rasterizer
[INFO] finished tweaking git repo https://github.com/K-C-DaCosta/Software-Rasterizer
[INFO] tweaked toml for git repo https://github.com/K-C-DaCosta/Software-Rasterizer written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/K-C-DaCosta/Software-Rasterizer on toolchain 1779a8680dcd39c56ed600627cf6742ef07ed78c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1779a8680dcd39c56ed600627cf6742ef07ed78c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/K-C-DaCosta/Software-Rasterizer 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" "+1779a8680dcd39c56ed600627cf6742ef07ed78c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded paste v0.1.10
[INFO] [stderr]   Downloaded proc-macro-hack v0.5.15
[INFO] [stderr]   Downloaded paste-impl v0.1.10
[INFO] [stderr]   Downloaded simba v0.1.2
[INFO] [stderr]   Downloaded matrixmultiply v0.2.3
[INFO] [stderr]   Downloaded generic-array v0.13.2
[INFO] [stderr]   Downloaded quote v1.0.3
[INFO] [stderr]   Downloaded syn v1.0.17
[INFO] [stderr]   Downloaded proc-macro2 v1.0.10
[INFO] [stderr]   Downloaded sdl2 v0.33.0
[INFO] [stderr]   Downloaded nalgebra v0.21.0
[INFO] [stderr]   Downloaded sdl2-sys v0.33.0
[INFO] [stderr]   Downloaded libc v0.2.68
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1779a8680dcd39c56ed600627cf6742ef07ed78c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b96fbc3cdcb40c011684b8639d8831f87c2444340d42a68d3082b81a89467697
[INFO] running `Command { std: "docker" "start" "-a" "b96fbc3cdcb40c011684b8639d8831f87c2444340d42a68d3082b81a89467697", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b96fbc3cdcb40c011684b8639d8831f87c2444340d42a68d3082b81a89467697", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b96fbc3cdcb40c011684b8639d8831f87c2444340d42a68d3082b81a89467697", kill_on_drop: false }`
[INFO] [stdout] b96fbc3cdcb40c011684b8639d8831f87c2444340d42a68d3082b81a89467697
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1779a8680dcd39c56ed600627cf6742ef07ed78c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4bf2d918331a2354a66fe38862e45495851290051f9d813252cb898fcf3e33f9
[INFO] running `Command { std: "docker" "start" "-a" "4bf2d918331a2354a66fe38862e45495851290051f9d813252cb898fcf3e33f9", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling libc v0.2.68
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.10
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.17
[INFO] [stderr]    Compiling proc-macro-hack v0.5.15
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.6
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling typenum v1.11.2
[INFO] [stderr]     Checking adler32 v1.0.4
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]    Compiling sdl2 v0.33.0
[INFO] [stderr]    Compiling sdl2-sys v0.33.0
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]     Checking matrixmultiply v0.2.3
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]     Checking deflate v0.7.20
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling quote v1.0.3
[INFO] [stderr]     Checking png v0.15.3
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking generic-array v0.13.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking rand_distr v0.2.2
[INFO] [stderr]    Compiling paste-impl v0.1.10
[INFO] [stderr]     Checking paste v0.1.10
[INFO] [stderr]     Checking simba v0.1.2
[INFO] [stderr]     Checking nalgebra v0.21.0
[INFO] [stderr]     Checking software_rasterizer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::super::math_util::fixed_point::*`
[INFO] [stdout]  --> src/image/sampler.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::super::math_util::fixed_point::*; 
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `png::Transformations`
[INFO] [stdout]    --> src/image.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |     use png::Transformations;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LinearSampler2D` and `sampler`
[INFO] [stdout]   --> src/graphics.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |         sampler,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 14 |         sampler::{LinearSampler2D, NearestSampler2D, Sampler2D},
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp`
[INFO] [stdout]  --> src/math_util/geometry.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::cmp;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::event::*`
[INFO] [stdout]  --> src/system/video.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sdl2::event::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::keyboard::Keycode`
[INFO] [stdout]  --> src/system/video.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sdl2::keyboard::Keycode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> src/system/video.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sdl2::pixels::{Color, PixelFormatEnum};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::rect::Rect`
[INFO] [stdout]   --> src/system/video.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use sdl2::rect::Rect;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Canvas`, `TextureAccess`, and `Texture`
[INFO] [stdout]   --> src/system/video.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | use sdl2::render::{Canvas, Texture, TextureAccess};
[INFO] [stdout]    |                    ^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/system/video.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/system/video.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice`
[INFO] [stdout]   --> src/system/video.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::slice;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/system/video.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker`
[INFO] [stdout]   --> src/system/video.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::marker; 
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TiledBuffer2D`
[INFO] [stdout]  --> src/model.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 |         buffer::{RowBuffer2D, TiledBuffer2D},
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector2`
[INFO] [stdout]   --> src/model.rs:11:31
[INFO] [stdout]    |
[INFO] [stdout] 11 | use nalgebra::{Matrix4, Unit, Vector2, Vector3, Vector4};
[INFO] [stdout]    |                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::math_util::fixed_point::*`
[INFO] [stdout]  --> src/image/sampler.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::super::math_util::fixed_point::*; 
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `png::Transformations`
[INFO] [stdout]    --> src/image.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |     use png::Transformations;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LinearSampler2D` and `sampler`
[INFO] [stdout]   --> src/graphics.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |         sampler,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 14 |         sampler::{LinearSampler2D, NearestSampler2D, Sampler2D},
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp`
[INFO] [stdout]  --> src/math_util/geometry.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::cmp;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::event::*`
[INFO] [stdout]  --> src/system/video.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sdl2::event::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::keyboard::Keycode`
[INFO] [stdout]  --> src/system/video.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sdl2::keyboard::Keycode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> src/system/video.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sdl2::pixels::{Color, PixelFormatEnum};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::rect::Rect`
[INFO] [stdout]   --> src/system/video.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use sdl2::rect::Rect;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Canvas`, `TextureAccess`, and `Texture`
[INFO] [stdout]   --> src/system/video.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | use sdl2::render::{Canvas, Texture, TextureAccess};
[INFO] [stdout]    |                    ^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/system/video.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/system/video.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice`
[INFO] [stdout]   --> src/system/video.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::slice;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/system/video.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker`
[INFO] [stdout]   --> src/system/video.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::marker; 
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TiledBuffer2D`
[INFO] [stdout]  --> src/model.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 |         buffer::{RowBuffer2D, TiledBuffer2D},
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector2`
[INFO] [stdout]   --> src/model.rs:11:31
[INFO] [stdout]    |
[INFO] [stdout] 11 | use nalgebra::{Matrix4, Unit, Vector2, Vector3, Vector4};
[INFO] [stdout]    |                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[no_mangle]` attribute cannot be used on provided trait methods
[INFO] [stdout]    --> src/graphics.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 |     #[no_mangle]
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[no_mangle]` can be applied to functions, inherent methods, statics, and trait methods in impl blocks
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[no_mangle]` attribute cannot be used on provided trait methods
[INFO] [stdout]    --> src/graphics.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 |     #[no_mangle]
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[no_mangle]` can be applied to functions, inherent methods, statics, and trait methods in impl blocks
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[no_mangle]` attribute cannot be used on provided trait methods
[INFO] [stdout]    --> src/graphics.rs:690:5
[INFO] [stdout]     |
[INFO] [stdout] 690 |     #[no_mangle]
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[no_mangle]` can be applied to functions, inherent methods, statics, and trait methods in impl blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[no_mangle]` attribute cannot be used on provided trait methods
[INFO] [stdout]    --> src/graphics.rs:690:5
[INFO] [stdout]     |
[INFO] [stdout] 690 |     #[no_mangle]
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[no_mangle]` can be applied to functions, inherent methods, statics, and trait methods in impl blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/model.rs:319:43
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 println!("Error: {}", err.description());
[INFO] [stdout]     |                                           ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/model.rs:319:43
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 println!("Error: {}", err.description());
[INFO] [stdout]     |                                           ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/model.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{BufRead, Read};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Buffer2D`
[INFO] [stdout]  --> src/model.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |         Buffer2D,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/image/buffer.rs:192:26
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn resize(&mut self, w:i32,h:i32){
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/image/buffer.rs:192:32
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn resize(&mut self, w:i32,h:i32){
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/image.rs:183:17
[INFO] [stdout]     |
[INFO] [stdout] 183 |     if let Some(mut texture) = result{
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/model.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{BufRead, Read};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Buffer2D`
[INFO] [stdout]  --> src/model.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |         Buffer2D,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/image/buffer.rs:192:26
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn resize(&mut self, w:i32,h:i32){
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/image/buffer.rs:192:32
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn resize(&mut self, w:i32,h:i32){
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/graphics.rs:670:25
[INFO] [stdout]     |
[INFO] [stdout] 670 |                     let mut tl_tile_bary = fr + delta_x * (off_x as f32) + delta_y * (off_y as f32);
[INFO] [stdout]     |                         ----^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `points`
[INFO] [stdout]    --> src/graphics.rs:692:9
[INFO] [stdout]     |
[INFO] [stdout] 692 |         points: &mut [Vector4<f32>; 3],
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid_table`
[INFO] [stdout]    --> src/graphics.rs:734:13
[INFO] [stdout]     |
[INFO] [stdout] 734 |         let grid_table = [world_z_tl, world_z_tr, world_z_bl, world_z_br];
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grid_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `f` is never read
[INFO] [stdout]    --> src/graphics.rs:721:14
[INFO] [stdout]     |
[INFO] [stdout] 721 |         let (mut f, mut fr) = (Vector4::zeros(), *fr);
[INFO] [stdout]     |              ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 769 |             f = fr;
[INFO] [stdout]     |             ------ `f` 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: variable does not need to be mutable
[INFO] [stdout]    --> src/image.rs:183:17
[INFO] [stdout]     |
[INFO] [stdout] 183 |     if let Some(mut texture) = result{
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glbs`
[INFO] [stdout]    --> src/graphics.rs:895:5
[INFO] [stdout]     |
[INFO] [stdout] 895 |     glbs: &ShaderGlobals,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_glbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/graphics.rs:670:25
[INFO] [stdout]     |
[INFO] [stdout] 670 |                     let mut tl_tile_bary = fr + delta_x * (off_x as f32) + delta_y * (off_y as f32);
[INFO] [stdout]     |                         ----^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `points`
[INFO] [stdout]    --> src/graphics.rs:692:9
[INFO] [stdout]     |
[INFO] [stdout] 692 |         points: &mut [Vector4<f32>; 3],
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid_table`
[INFO] [stdout]    --> src/graphics.rs:734:13
[INFO] [stdout]     |
[INFO] [stdout] 734 |         let grid_table = [world_z_tl, world_z_tr, world_z_bl, world_z_br];
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grid_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `f` is never read
[INFO] [stdout]    --> src/graphics.rs:721:14
[INFO] [stdout]     |
[INFO] [stdout] 721 |         let (mut f, mut fr) = (Vector4::zeros(), *fr);
[INFO] [stdout]     |              ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 769 |             f = fr;
[INFO] [stdout]     |             ------ `f` 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: `glbs`
[INFO] [stdout]    --> src/graphics.rs:895:5
[INFO] [stdout]     |
[INFO] [stdout] 895 |     glbs: &ShaderGlobals,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_glbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TILE_RAD_SQRD` is never used
[INFO] [stdout]    --> src/graphics.rs:586:15
[INFO] [stdout]     |
[INFO] [stdout] 586 |         const TILE_RAD_SQRD: i32 = TILE_W * TILE_W / 4 + TILE_H * TILE_H / 4;
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `custom_frag_shader` is never used
[INFO] [stdout]    --> src/graphics.rs:891:4
[INFO] [stdout]     |
[INFO] [stdout] 891 | fn custom_frag_shader<BUF: Buffer2D<u32>>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/system/video.rs:115:24
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn get_surface(&self) -> WindowSurfaceRef {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn get_surface(&self) -> WindowSurfaceRef<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/containers.rs:123:22
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn node_iter(&self)->DLLNodeIterator<T>{
[INFO] [stdout]     |                      ^^^^^   ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn node_iter(&self)->DLLNodeIterator<'_, T>{
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/containers.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn iter(&self) -> DLLIterator<T> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn iter(&self) -> DLLIterator<'_, T> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TILE_RAD_SQRD` is never used
[INFO] [stdout]    --> src/graphics.rs:586:15
[INFO] [stdout]     |
[INFO] [stdout] 586 |         const TILE_RAD_SQRD: i32 = TILE_W * TILE_W / 4 + TILE_H * TILE_H / 4;
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `custom_frag_shader` is never used
[INFO] [stdout]    --> src/graphics.rs:891:4
[INFO] [stdout]     |
[INFO] [stdout] 891 | fn custom_frag_shader<BUF: Buffer2D<u32>>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/system/video.rs:115:24
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn get_surface(&self) -> WindowSurfaceRef {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn get_surface(&self) -> WindowSurfaceRef<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/containers.rs:123:22
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn node_iter(&self)->DLLNodeIterator<T>{
[INFO] [stdout]     |                      ^^^^^   ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn node_iter(&self)->DLLNodeIterator<'_, T>{
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/containers.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn iter(&self) -> DLLIterator<T> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn iter(&self) -> DLLIterator<'_, T> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `software_rasterizer::containers::*`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use software_rasterizer::containers::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Matrix4`, `Translation3`, and `Vector2`
[INFO] [stdout]   --> src/main.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | use nalgebra::{Matrix4, Rotation3, Translation3, Unit, Vector2, Vector3, Vector4};
[INFO] [stdout]    |                ^^^^^^^             ^^^^^^^^^^^^        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `software_rasterizer::math_util::fixed_point::*`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use software_rasterizer::math_util::fixed_point::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LinearSampler2D` and `TiledBuffer2D`
[INFO] [stdout]   --> src/main.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 20 |         buffer::{RowBuffer2D, TiledBuffer2D},
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 21 |         sampler::{LinearSampler2D, NearestSampler2D, Sampler2D},
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `software_rasterizer::containers::*`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use software_rasterizer::containers::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Matrix4`, `Translation3`, and `Vector2`
[INFO] [stdout]   --> src/main.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | use nalgebra::{Matrix4, Rotation3, Translation3, Unit, Vector2, Vector3, Vector4};
[INFO] [stdout]    |                ^^^^^^^             ^^^^^^^^^^^^        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `software_rasterizer::math_util::fixed_point::*`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use software_rasterizer::math_util::fixed_point::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LinearSampler2D` and `TiledBuffer2D`
[INFO] [stdout]   --> src/main.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 20 |         buffer::{RowBuffer2D, TiledBuffer2D},
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 21 |         sampler::{LinearSampler2D, NearestSampler2D, Sampler2D},
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bounding`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     bounding::*,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bounding`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     bounding::*,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x_pos` is never read
[INFO] [stdout]    --> src/main.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         x_pos = _mouse_state.x() as f32;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `y_pos` is never read
[INFO] [stdout]    --> src/main.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 218 |         y_pos = _mouse_state.y() as f32;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x_pos` is never read
[INFO] [stdout]    --> src/main.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         x_pos = _mouse_state.x() as f32;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `y_pos` is never read
[INFO] [stdout]    --> src/main.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 218 |         y_pos = _mouse_state.y() as f32;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:272:39
[INFO] [stdout]     |
[INFO] [stdout] 272 |                     Keycode::Space => unsafe {
[INFO] [stdout]     |                                       ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/main.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 |         unsafe { std::mem::transmute((new_depth as i32 - current_depth as i32) >> 31) };
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 62 -         unsafe { std::mem::transmute((new_depth as i32 - current_depth as i32) >> 31) };
[INFO] [stdout] 62 +         unsafe { i32::cast_unsigned((new_depth as i32 - current_depth as i32) >> 31) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:272:39
[INFO] [stdout]     |
[INFO] [stdout] 272 |                     Keycode::Space => unsafe {
[INFO] [stdout]     |                                       ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/main.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 |         unsafe { std::mem::transmute((new_depth as i32 - current_depth as i32) >> 31) };
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 62 -         unsafe { std::mem::transmute((new_depth as i32 - current_depth as i32) >> 31) };
[INFO] [stdout] 62 +         unsafe { i32::cast_unsigned((new_depth as i32 - current_depth as i32) >> 31) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.70s
[INFO] running `Command { std: "docker" "inspect" "4bf2d918331a2354a66fe38862e45495851290051f9d813252cb898fcf3e33f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4bf2d918331a2354a66fe38862e45495851290051f9d813252cb898fcf3e33f9", kill_on_drop: false }`
[INFO] [stdout] 4bf2d918331a2354a66fe38862e45495851290051f9d813252cb898fcf3e33f9
