[INFO] cloning repository https://github.com/MrMarnic/RGL
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MrMarnic/RGL" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrMarnic%2FRGL", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrMarnic%2FRGL'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 70d39f97c34732c87354cd3e5dac2af786e025d4
[INFO] checking MrMarnic/RGL against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrMarnic%2FRGL" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc1/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/MrMarnic/RGL
[INFO] finished tweaking git repo https://github.com/MrMarnic/RGL
[INFO] tweaked toml for git repo https://github.com/MrMarnic/RGL written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MrMarnic/RGL on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MrMarnic/RGL 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/MrMarnic/rgl-openal-sys`
[INFO] [stderr]     Updating git repository `https://github.com/MrMarnic/rgl-font`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wayland-cursor v0.29.1
[INFO] [stderr]   Downloaded libloading v0.7.2
[INFO] [stderr]   Downloaded tiny-skia-path v0.8.3
[INFO] [stderr]   Downloaded which v3.1.1
[INFO] [stderr]   Downloaded com-rs v0.2.1
[INFO] [stderr]   Downloaded approx v0.5.0
[INFO] [stderr]   Downloaded calloop v0.10.2
[INFO] [stderr]   Downloaded gpu-descriptor v0.2.2
[INFO] [stderr]   Downloaded ab_glyph v0.2.20
[INFO] [stderr]   Downloaded num_enum v0.5.5
[INFO] [stderr]   Downloaded cxxbridge-flags v1.0.68
[INFO] [stderr]   Downloaded renderdoc-sys v1.0.0
[INFO] [stderr]   Downloaded iana-time-zone v0.1.56
[INFO] [stderr]   Downloaded num_enum_derive v0.5.5
[INFO] [stderr]   Downloaded tobj v4.0.0
[INFO] [stderr]   Downloaded cexpr v0.4.0
[INFO] [stderr]   Downloaded d3d12 v0.7.0
[INFO] [stderr]   Downloaded nalgebra-glm v0.18.0
[INFO] [stderr]   Downloaded cxxbridge-macro v1.0.68
[INFO] [stderr]   Downloaded wgpu-types v0.17.0
[INFO] [stderr]   Downloaded clang-sys v1.3.0
[INFO] [stderr]   Downloaded matrixmultiply v0.3.2
[INFO] [stderr]   Downloaded safe_arch v0.6.0
[INFO] [stderr]   Downloaded wide v0.7.3
[INFO] [stderr]   Downloaded cxx-build v1.0.68
[INFO] [stderr]   Downloaded nom v7.1.0
[INFO] [stderr]   Downloaded freetype-rs v0.30.1
[INFO] [stderr]   Downloaded wgpu v0.17.1
[INFO] [stderr]   Downloaded nom v5.1.2
[INFO] [stderr]   Downloaded bindgen v0.55.1
[INFO] [stderr]   Downloaded cxx v1.0.68
[INFO] [stderr]   Downloaded wgpu-core v0.17.1
[INFO] [stderr]   Downloaded nix v0.22.0
[INFO] [stderr]   Downloaded exr v1.5.3
[INFO] [stderr]   Downloaded wgpu-hal v0.17.2
[INFO] [stderr]   Downloaded rustix v0.37.11
[INFO] [stderr]   Downloaded sysinfo v0.29.10
[INFO] [stderr]   Downloaded image v0.24.7
[INFO] [stderr]   Downloaded petgraph v0.6.0
[INFO] [stderr]   Downloaded glow v0.12.3
[INFO] [stderr]   Downloaded ttf-parser v0.18.1
[INFO] [stderr]   Downloaded owned_ttf_parser v0.18.1
[INFO] [stderr]   Downloaded tiny-skia v0.8.3
[INFO] [stderr]   Downloaded half v2.3.1
[INFO] [stderr]   Downloaded flume v0.10.12
[INFO] [stderr]   Downloaded gpu-allocator v0.22.0
[INFO] [stderr]   Downloaded png v0.17.10
[INFO] [stderr]   Downloaded naga v0.13.0
[INFO] [stderr]   Downloaded hassle-rs v0.10.0
[INFO] [stderr]   Downloaded rustc-demangle v0.1.22
[INFO] [stderr]   Downloaded jpeg-decoder v0.3.0
[INFO] [stderr]   Downloaded orbclient v0.3.44
[INFO] [stderr]   Downloaded tiff v0.9.0
[INFO] [stderr]   Downloaded profiling v1.0.4
[INFO] [stderr]   Downloaded metal v0.26.0
[INFO] [stderr]   Downloaded freetype-sys v0.15.0
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ab94778dc7de2fd84396aeb1af71e5fa8ff4f3876360d63de09f523967c6d13f
[INFO] running `Command { std: "docker" "start" "-a" "ab94778dc7de2fd84396aeb1af71e5fa8ff4f3876360d63de09f523967c6d13f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ab94778dc7de2fd84396aeb1af71e5fa8ff4f3876360d63de09f523967c6d13f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab94778dc7de2fd84396aeb1af71e5fa8ff4f3876360d63de09f523967c6d13f", kill_on_drop: false }`
[INFO] [stdout] ab94778dc7de2fd84396aeb1af71e5fa8ff4f3876360d63de09f523967c6d13f
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2c7d0147dd97f07dc61fe5f482d4bb2c0f8ac5ff7c4ac00f53b0347c9bfd3a5d
[INFO] running `Command { std: "docker" "start" "-a" "2c7d0147dd97f07dc61fe5f482d4bb2c0f8ac5ff7c4ac00f53b0347c9bfd3a5d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.149
[INFO] [stderr]    Compiling proc-macro2 v1.0.69
[INFO] [stderr]    Compiling syn v1.0.84
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling pkg-config v0.3.24
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking once_cell v1.17.1
[INFO] [stderr]     Checking smallvec v1.7.0
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]     Checking libloading v0.7.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]     Checking bytemuck v1.13.1
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling crc32fast v1.3.0
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]     Checking lock_api v0.4.5
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]     Checking dlib v0.5.0
[INFO] [stderr]     Checking miniz_oxide v0.5.1
[INFO] [stderr]    Compiling glob v0.3.0
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]    Compiling nom v7.1.0
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking bitflags v2.4.1
[INFO] [stderr]     Checking fdeflate v0.3.0
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]    Compiling slotmap v1.0.6
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]    Compiling num-rational v0.4.0
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]    Compiling unicode-width v0.1.9
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]    Compiling clang-sys v1.3.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking scoped-tls v1.0.0
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking arrayvec v0.7.2
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling cmake v0.1.48
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling io-lifetimes v1.0.10
[INFO] [stderr]     Checking unicode-xid v0.2.4
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]     Checking fixedbitset v0.4.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking flate2 v1.0.23
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]    Compiling bindgen v0.55.1
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]     Checking ahash v0.7.6
[INFO] [stderr]     Checking bit-set v0.5.2
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]    Compiling freetype-sys v0.15.0
[INFO] [stderr]     Checking nix v0.22.0
[INFO] [stderr]     Checking png v0.17.10
[INFO] [stderr]     Checking pp-rs v0.2.1
[INFO] [stderr]    Compiling which v3.1.1
[INFO] [stderr]     Checking petgraph v0.6.0
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.0
[INFO] [stderr]     Checking spirv v0.2.0+1.5.4
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking spin v0.9.2
[INFO] [stderr]     Checking safe_arch v0.6.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.1
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]     Checking strict-num v0.1.0
[INFO] [stderr]     Checking futures-sink v0.3.21
[INFO] [stderr]     Checking ttf-parser v0.18.1
[INFO] [stderr]     Checking weezl v0.1.5
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]     Checking xcursor v0.3.4
[INFO] [stderr]     Checking arrayref v0.3.7
[INFO] [stderr]    Compiling peeking_take_while v0.1.2
[INFO] [stderr]    Compiling shlex v0.1.1
[INFO] [stderr]    Compiling rustix v0.37.11
[INFO] [stderr]     Checking tiny-skia-path v0.8.3
[INFO] [stderr]     Checking wide v0.7.3
[INFO] [stderr]     Checking gpu-descriptor v0.2.2
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]    Compiling env_logger v0.7.1
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]    Compiling cexpr v0.4.0
[INFO] [stderr]     Checking ash v0.37.3+1.3.251
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]    Compiling x11-dl v2.19.1
[INFO] [stderr]     Checking approx v0.5.0
[INFO] [stderr]     Checking num-complex v0.4.0
[INFO] [stderr]     Checking wgpu-types v0.17.0
[INFO] [stderr]    Compiling minimp3-sys v0.3.2
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking miniz_oxide v0.6.2
[INFO] [stderr]    Compiling ahash v0.8.3
[INFO] [stderr]     Checking half v2.3.1
[INFO] [stderr]     Checking renderdoc-sys v1.0.0
[INFO] [stderr]     Checking bit_field v0.10.1
[INFO] [stderr]    Compiling paste v1.0.6
[INFO] [stderr]     Checking linux-raw-sys v0.3.1
[INFO] [stderr]     Checking jpeg-decoder v0.3.0
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking owned_ttf_parser v0.18.1
[INFO] [stderr]     Checking profiling v1.0.4
[INFO] [stderr]     Checking glow v0.12.3
[INFO] [stderr]     Checking matrixmultiply v0.3.2
[INFO] [stderr]     Checking ab_glyph v0.2.20
[INFO] [stderr]     Checking gif v0.12.0
[INFO] [stderr]    Compiling winit v0.28.7
[INFO] [stderr]     Checking wayland-cursor v0.29.1
[INFO] [stderr]     Checking simba v0.8.1
[INFO] [stderr]     Checking tiny-skia v0.8.3
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking tinyvec v1.5.1
[INFO] [stderr]     Checking tiff v0.9.0
[INFO] [stderr]     Checking freetype-rs v0.30.1
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]     Checking slice-deque v0.3.0
[INFO] [stderr]     Checking mio v0.8.0
[INFO] [stderr]     Checking iana-time-zone v0.1.56
[INFO] [stderr]     Checking chrono v0.4.31
[INFO] [stderr]     Checking tobj v4.0.0
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking sysinfo v0.29.10
[INFO] [stderr]     Checking is-terminal v0.4.7
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling pin-project-internal v1.0.10
[INFO] [stderr]    Compiling nalgebra-macros v0.2.1
[INFO] [stderr]     Checking env_logger v0.10.0
[INFO] [stderr]     Checking thiserror v1.0.30
[INFO] [stderr]     Checking calloop v0.10.2
[INFO] [stderr]     Checking naga v0.13.0
[INFO] [stderr]     Checking minimp3 v0.5.1
[INFO] [stderr]     Checking pin-project v1.0.10
[INFO] [stderr]     Checking flume v0.10.12
[INFO] [stderr]     Checking exr v1.5.3
[INFO] [stderr]     Checking image v0.24.7
[INFO] [stderr]    Compiling openal-sys v0.1.0 (https://github.com/MrMarnic/rgl-openal-sys#7bd5b1c8)
[INFO] [stderr]     Checking nalgebra v0.32.3
[INFO] [stderr]     Checking rgl_font v0.1.0 (https://github.com/MrMarnic/rgl-font#185a9e73)
[INFO] [stderr]     Checking wgpu-hal v0.17.2
[INFO] [stderr]     Checking nalgebra-glm v0.18.0
[INFO] [stderr]     Checking wgpu-core v0.17.1
[INFO] [stderr]     Checking wgpu v0.17.1
[INFO] [stderr]     Checking sctk-adwaita v0.5.4
[INFO] [stderr]     Checking rgl v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `PresentMode`
[INFO] [stdout]  --> src/engine/game_engine.rs:3:100
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wgpu::{Backends, CommandEncoder, Device, Dx12Compiler, InstanceDescriptor, LoadOp, Operations, PresentMode, Queue, RenderPass, Re...
[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: `crate::audio::audio_source::AudioSource`
[INFO] [stdout]  --> src/engine/resource_loader.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::audio::audio_source::AudioSource;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::audio::mp3_file::MP3File`
[INFO] [stdout]  --> src/engine/resource_loader.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::audio::mp3_file::MP3File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/engine/resource_loader.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/engine/resource_loader.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicBool` and `Ordering`
[INFO] [stdout]  --> src/engine/resource_loader.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::atomic::{AtomicBool, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/engine/resource_loader.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra_glm::pi`
[INFO] [stdout]   --> src/engine/resource_loader.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use nalgebra_glm::pi;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game_engine::GameEngine`
[INFO] [stdout]   --> src/engine/resource_loader.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::engine::game_engine::GameEngine;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Material`
[INFO] [stdout]   --> src/engine/resource_loader.rs:16:33
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::objects::obj_model::{Material, ObjModel};
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `normalize`, `vec1`, and `vec4`
[INFO] [stdout]  --> src/engine/input_handler.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra_glm::{normalize, TVec3, vec1, vec3, vec4};
[INFO] [stdout]   |                    ^^^^^^^^^         ^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game_engine::GameEngine`
[INFO] [stdout]  --> src/engine/input_handler.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::engine::game_engine::GameEngine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game_engine::GameEngine`
[INFO] [stdout]  --> src/engine/tick_handler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::engine::game_engine::GameEngine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayStorage`, `Orthographic3`, `Perspective3`, `Point3`, `Point`, and `TProjective`
[INFO] [stdout]  --> src/objects/camera.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra::{Point, Point3, ArrayStorage, Perspective3, Orthographic3, TProjective};
[INFO] [stdout]   |                ^^^^^  ^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufferAddress` and `BufferSlice`
[INFO] [stdout]  --> src/objects/camera.rs:4:209
[INFO] [stdout]   |
[INFO] [stdout] 4 | ...criptor, BufferSize, BufferSlice, BufferBindingType, BufferBinding, BufferUsages, ShaderStages, BufferAddress};
[INFO] [stdout]   |                         ^^^^^^^^^^^                                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TMat` and `mat4`
[INFO] [stdout]  --> src/objects/transform.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra_glm::{Mat4, mat4, TMat, TMat4, TVec3, vec3};
[INFO] [stdout]   |                          ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `e`
[INFO] [stdout]  --> src/objects/aabb.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra_glm::{TVec3, e, TVec2, vec3, vec2};
[INFO] [stdout]   |                           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Formatter`
[INFO] [stdout]  --> src/objects/aabb.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]  --> src/objects/texture_object.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ffi::CString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/objects/texture_object.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/objects/texture_object.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TVec2` and `vec2`
[INFO] [stdout]  --> src/objects/texture_object.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nalgebra_glm::{TVec2, vec2};
[INFO] [stdout]   |                    ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]  --> src/objects/texture_object.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::atomic::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/objects/texture_object.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddressMode`, `CompareFunction`, `FilterMode`, `SamplerDescriptor`, `TextureUsages`, `TextureViewDescriptor`, and `TextureViewDimension`
[INFO] [stdout]  --> src/objects/texture_object.rs:8:148
[INFO] [stdout]   |
[INFO] [stdout] 8 | ...t, TextureViewDescriptor, SamplerDescriptor, AddressMode, FilterMode, CompareFunction, ImageCopyTexture, ImageDataLayout, TextureAspect, TextureUsages, TextureViewDimension};
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^                                                    ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RgbImage` and `RgbaImage`
[INFO] [stdout]  --> src/objects/texture_object.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{RgbaImage, RgbImage, ImageBuffer, Rgba, GenericImageView};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/objects/texture_object.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::NonZeroU32`
[INFO] [stdout]   --> src/objects/texture_object.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::num::NonZeroU32;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]   --> src/objects/texture_object.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::convert::TryFrom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wgpu::util::StagingBelt`
[INFO] [stdout]   --> src/objects/texture_object.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use wgpu::util::StagingBelt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TVec2` and `vec2`
[INFO] [stdout]  --> src/objects/texture_map.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nalgebra_glm::{TVec2, vec2};
[INFO] [stdout]   |                    ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:77:30
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let mut m_vec = vec2((y2-y1),(x2-x1));
[INFO] [stdout]    |                              ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -         let mut m_vec = vec2((y2-y1),(x2-x1));
[INFO] [stdout] 77 +         let mut m_vec = vec2(y2-y1 ,(x2-x1));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:77:38
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let mut m_vec = vec2((y2-y1),(x2-x1));
[INFO] [stdout]    |                                      ^     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -         let mut m_vec = vec2((y2-y1),(x2-x1));
[INFO] [stdout] 77 +         let mut m_vec = vec2((y2-y1),x2-x1 );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:97:30
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut m_vec = vec2((y2-oy1),(x2-ox1));
[INFO] [stdout]    |                              ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 97 -         let mut m_vec = vec2((y2-oy1),(x2-ox1));
[INFO] [stdout] 97 +         let mut m_vec = vec2(y2-oy1 ,(x2-ox1));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:97:39
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut m_vec = vec2((y2-oy1),(x2-ox1));
[INFO] [stdout]    |                                       ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 97 -         let mut m_vec = vec2((y2-oy1),(x2-ox1));
[INFO] [stdout] 97 +         let mut m_vec = vec2((y2-oy1),x2-ox1 );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/objects/vertex_buffer_builder.rs:129:20
[INFO] [stdout]     |
[INFO] [stdout] 129 |         for deg in (0..360*quality) {
[INFO] [stdout]     |                    ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 129 -         for deg in (0..360*quality) {
[INFO] [stdout] 129 +         for deg in 0..360*quality  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::color::Color`
[INFO] [stdout]   --> src/objects/obj_model.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::objects::color::Color;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PresentMode`
[INFO] [stdout]  --> src/engine/game_engine.rs:3:100
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wgpu::{Backends, CommandEncoder, Device, Dx12Compiler, InstanceDescriptor, LoadOp, Operations, PresentMode, Queue, RenderPass, Re...
[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: `crate::audio::audio_source::AudioSource`
[INFO] [stdout]  --> src/engine/resource_loader.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::audio::audio_source::AudioSource;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vertex`
[INFO] [stdout]   --> src/objects/obj_model.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::objects::vertex::{NormalVertex, Vertex};
[INFO] [stdout]    |                                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::audio::mp3_file::MP3File`
[INFO] [stdout]  --> src/engine/resource_loader.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::audio::mp3_file::MP3File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VertexBuffer`
[INFO] [stdout]   --> src/objects/obj_model.rs:13:57
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::objects::vertex_buffer::{NormalVertexBuffer, VertexBuffer};
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/engine/resource_loader.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/engine/resource_loader.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::vertex_buffer_builder::VertexBufferBuilder`
[INFO] [stdout]   --> src/objects/obj_model.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::objects::vertex_buffer_builder::VertexBufferBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra_glm::vec3`
[INFO] [stdout]  --> src/objects/vertex_buffer_obj.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra_glm::vec3;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/objects/simple_text.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TVec3`
[INFO] [stdout]  --> src/objects/simple_text.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nalgebra_glm::{TVec3, vec3, vec4};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::animation::animator::Animator`
[INFO] [stdout]  --> src/objects/simple_text.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::animation::animator::Animator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::render::render_phase::RenderPhase`
[INFO] [stdout]   --> src/objects/simple_text.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::render::render_phase::RenderPhase;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::bounds::Bounds`
[INFO] [stdout]   --> src/objects/simple_text.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::ui::bounds::Bounds;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::ui_constraint::ConstraintSettings`
[INFO] [stdout]   --> src/objects/simple_text.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::ui::ui_constraint::ConstraintSettings;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicBool` and `Ordering`
[INFO] [stdout]  --> src/engine/resource_loader.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::atomic::{AtomicBool, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/engine/resource_loader.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra_glm::pi`
[INFO] [stdout]   --> src/engine/resource_loader.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use nalgebra_glm::pi;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game_engine::GameEngine`
[INFO] [stdout]   --> src/engine/resource_loader.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::engine::game_engine::GameEngine;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Material`
[INFO] [stdout]   --> src/engine/resource_loader.rs:16:33
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::objects::obj_model::{Material, ObjModel};
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `normalize`, `vec1`, and `vec4`
[INFO] [stdout]  --> src/engine/input_handler.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra_glm::{normalize, TVec3, vec1, vec3, vec4};
[INFO] [stdout]   |                    ^^^^^^^^^         ^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game_engine::GameEngine`
[INFO] [stdout]  --> src/engine/input_handler.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::engine::game_engine::GameEngine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game_engine::GameEngine`
[INFO] [stdout]  --> src/engine/tick_handler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::engine::game_engine::GameEngine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayStorage`, `Orthographic3`, `Perspective3`, `Point3`, `Point`, and `TProjective`
[INFO] [stdout]  --> src/objects/camera.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra::{Point, Point3, ArrayStorage, Perspective3, Orthographic3, TProjective};
[INFO] [stdout]   |                ^^^^^  ^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufferAddress` and `BufferSlice`
[INFO] [stdout]  --> src/objects/camera.rs:4:209
[INFO] [stdout]   |
[INFO] [stdout] 4 | ...criptor, BufferSize, BufferSlice, BufferBindingType, BufferBinding, BufferUsages, ShaderStages, BufferAddress};
[INFO] [stdout]   |                         ^^^^^^^^^^^                                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TMat` and `mat4`
[INFO] [stdout]  --> src/objects/transform.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra_glm::{Mat4, mat4, TMat, TMat4, TVec3, vec3};
[INFO] [stdout]   |                          ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `e`
[INFO] [stdout]  --> src/objects/aabb.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra_glm::{TVec3, e, TVec2, vec3, vec2};
[INFO] [stdout]   |                           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Formatter`
[INFO] [stdout]  --> src/objects/aabb.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]  --> src/objects/texture_object.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ffi::CString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BindGroupDescriptor`, `BindGroupEntry`, `BindGroupLayoutDescriptor`, `BindGroupLayoutEntry`, `BindingResource`, `BindingType`, `BufferDescriptor`, `Face`, `Features`, `IndexFormat`, `Limits`, `PUSH_CONSTANT_ALIGNMENT`, `PushConstantRange`, and `ShaderStages`
[INFO] [stdout]  --> src/pipeline/pipeline.rs:2:102
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...e, IndexFormat, RenderPipeline, BindGroupDescriptor, BindGroupLayoutDescriptor, BindGroupLayoutEntry, BindingType, BindGroupEntry, BindingResource, BindGroup, Buffer, ShaderModule, BindGroupLayout, BufferDescriptor, PUSH_CONSTANT_ALIGNMENT, Features, PushConstantRange, Limits, TextureFormat, CompareFunction, ShaderModuleDescriptor, VertexState, FragmentState, ColorTargetState, BlendState, BlendFactor, BlendOperation, PrimitiveState, PolygonMode, DepthStencilState, DepthBiasState, MultisampleState, VertexBufferLayout, StencilState, BlendComponent, Face, ShaderSource, BufferUsages, ColorWrites, SurfaceConfiguration, SamplerBindingType, ShaderStages};
[INFO] [stdout]   |       ^^^^^^^^^^^                  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^                                                    ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^                                                                                                                                                                                                                                                                                     ^^^^                                                                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> src/pipeline/pipeline.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{PathBuf, Path};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/pipeline/pipeline.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `Write`
[INFO] [stdout]  --> src/pipeline/pipeline.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::{Read, Write};
[INFO] [stdout]   |               ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game_engine::GameEngine`
[INFO] [stdout]   --> src/pipeline/pipeline.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::engine::game_engine::GameEngine;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BindGroupLayout`, `BindingResource`, `BufferBinding`, `BufferDescriptor`, `BufferSize`, and `Surface`
[INFO] [stdout]  --> src/pipeline/color_render_pipeline.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...e, BindGroupLayout, BindGroupLayoutDescriptor, BindGroupLayoutEntry, BindingType, BindGroupDescriptor, BindGroupEntry, BindingResource, PrimitiveTopology, BufferBindingType, BufferSize, BufferBinding, BufferDescriptor, ShaderStages, Surface, S...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^                                                                                                     ^^^^^^^^^^^^^^^                                        ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra_glm::vec3`
[INFO] [stdout]  --> src/pipeline/color_render_pipeline.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra_glm::vec3;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wgpu::util::BufferInitDescriptor`
[INFO] [stdout]  --> src/pipeline/color_render_pipeline.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use wgpu::util::BufferInitDescriptor;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game_engine::GameEngine`
[INFO] [stdout]  --> src/pipeline/color_render_pipeline.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::engine::game_engine::GameEngine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BindGroupLayout`, `Limits`, and `Surface`
[INFO] [stdout]  --> src/pipeline/texture_render_pipeline.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...e, BindGroupLayout, BindGroupLayoutDescriptor, BindGroupLayoutEntry, BindingType, BindGroupDescriptor, BindGroupEntry, BindingResource, PrimitiveTopology, QUERY_RESOLVE_BUFFER_ALIGNMENT, BufferBindingType, Limits, BufferBinding, BufferSize, ShaderStages, Surface, S...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^                                                                                                                                                                                            ^^^^^^                                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra_glm::vec3`
[INFO] [stdout]  --> src/pipeline/texture_render_pipeline.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra_glm::vec3;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OnlyCoordsVertexBuffer`
[INFO] [stdout]  --> src/pipeline/texture_render_pipeline.rs:5:37
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::objects::vertex_buffer::{OnlyCoordsVertexBuffer, VertexBuffer};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BindGroupLayout` and `Surface`
[INFO] [stdout]  --> src/pipeline/line_render_pipeline.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...e, BindGroupLayout, BindGroupLayoutDescriptor, BindGroupLayoutEntry, BindingType, BindGroupDescriptor, BindGroupEntry, BindingResource, PrimitiveTopology, BufferBindingType, BufferBinding, BufferSize, ShaderStages, Surface, S...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^                                                                                                                                                                                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `vec3` and `vec4`
[INFO] [stdout]  --> src/pipeline/line_render_pipeline.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra_glm::{vec3, vec4};
[INFO] [stdout]   |                    ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BindGroupLayout`, `SamplerBindingType`, and `Surface`
[INFO] [stdout]  --> src/pipeline/custom_vertex_render_pipeline.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use wgpu::{BindGroupLayout, Device, PrimitiveTopology, SamplerBindingType, Surface, SurfaceConfiguration};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^                             ^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndexFormat`
[INFO] [stdout]  --> src/pipeline/text_render_pipeline.rs:2:243
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...lineLayoutDescriptor, RenderPipelineDescriptor, FrontFace, IndexFormat, BlendFactor, BlendOperation, BindGroup, MultisampleState, ...
[INFO] [stdout]   |                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra_glm::vec3`
[INFO] [stdout]  --> src/pipeline/text_render_pipeline.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra_glm::vec3;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OnlyCoordsVertexBuffer`
[INFO] [stdout]  --> src/pipeline/text_render_pipeline.rs:5:37
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::objects::vertex_buffer::{OnlyCoordsVertexBuffer, VertexBuffer};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec3`
[INFO] [stdout]  --> src/pipeline/vertex_render_pipeline.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra_glm::{vec3, vec4};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Surface`
[INFO] [stdout]  --> src/pipeline/vertex_render_pipeline.rs:2:223
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...ngType, BufferSize, Device, PrimitiveTopology, ShaderStages, Surface, SurfaceConfiguration};
[INFO] [stdout]   |                                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::obj_model::Material`
[INFO] [stdout]  --> src/pipeline/vertex_render_pipeline.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::objects::obj_model::Material;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::vertex::NormalVertex`
[INFO] [stdout]  --> src/pipeline/vertex_render_pipeline.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::objects::vertex::NormalVertex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VertexBuffer`
[INFO] [stdout]  --> src/pipeline/vertex_render_pipeline.rs:8:57
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::objects::vertex_buffer::{NormalVertexBuffer, VertexBuffer};
[INFO] [stdout]   |                                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VertexBuffer`
[INFO] [stdout]  --> src/render/color_renderer.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::objects::vertex_buffer::{VertexBuffer, OnlyCoordsVertexBuffer};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/objects/texture_object.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/objects/texture_object.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TVec2` and `vec2`
[INFO] [stdout]  --> src/objects/texture_object.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nalgebra_glm::{TVec2, vec2};
[INFO] [stdout]   |                    ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]  --> src/objects/texture_object.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::atomic::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/objects/texture_object.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddressMode`, `CompareFunction`, `FilterMode`, `SamplerDescriptor`, `TextureUsages`, `TextureViewDescriptor`, and `TextureViewDimension`
[INFO] [stdout]  --> src/objects/texture_object.rs:8:148
[INFO] [stdout]   |
[INFO] [stdout] 8 | ...t, TextureViewDescriptor, SamplerDescriptor, AddressMode, FilterMode, CompareFunction, ImageCopyTexture, ImageDataLayout, TextureAspect, TextureUsages, TextureViewDimension};
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^                                                    ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RgbImage` and `RgbaImage`
[INFO] [stdout]  --> src/objects/texture_object.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{RgbaImage, RgbImage, ImageBuffer, Rgba, GenericImageView};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/objects/texture_object.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::NonZeroU32`
[INFO] [stdout]   --> src/objects/texture_object.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::num::NonZeroU32;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]   --> src/objects/texture_object.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::convert::TryFrom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wgpu::util::StagingBelt`
[INFO] [stdout]   --> src/objects/texture_object.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use wgpu::util::StagingBelt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TVec2` and `vec2`
[INFO] [stdout]  --> src/objects/texture_map.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nalgebra_glm::{TVec2, vec2};
[INFO] [stdout]   |                    ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:77:30
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let mut m_vec = vec2((y2-y1),(x2-x1));
[INFO] [stdout]    |                              ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -         let mut m_vec = vec2((y2-y1),(x2-x1));
[INFO] [stdout] 77 +         let mut m_vec = vec2(y2-y1 ,(x2-x1));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:77:38
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let mut m_vec = vec2((y2-y1),(x2-x1));
[INFO] [stdout]    |                                      ^     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -         let mut m_vec = vec2((y2-y1),(x2-x1));
[INFO] [stdout] 77 +         let mut m_vec = vec2((y2-y1),x2-x1 );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:97:30
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut m_vec = vec2((y2-oy1),(x2-ox1));
[INFO] [stdout]    |                              ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 97 -         let mut m_vec = vec2((y2-oy1),(x2-ox1));
[INFO] [stdout] 97 +         let mut m_vec = vec2(y2-oy1 ,(x2-ox1));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:97:39
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut m_vec = vec2((y2-oy1),(x2-ox1));
[INFO] [stdout]    |                                       ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 97 -         let mut m_vec = vec2((y2-oy1),(x2-ox1));
[INFO] [stdout] 97 +         let mut m_vec = vec2((y2-oy1),x2-ox1 );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/objects/vertex_buffer_builder.rs:129:20
[INFO] [stdout]     |
[INFO] [stdout] 129 |         for deg in (0..360*quality) {
[INFO] [stdout]     |                    ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 129 -         for deg in (0..360*quality) {
[INFO] [stdout] 129 +         for deg in 0..360*quality  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::color::Color`
[INFO] [stdout]   --> src/objects/obj_model.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::objects::color::Color;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vertex`
[INFO] [stdout]   --> src/objects/obj_model.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::objects::vertex::{NormalVertex, Vertex};
[INFO] [stdout]    |                                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VertexBuffer`
[INFO] [stdout]   --> src/objects/obj_model.rs:13:57
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::objects::vertex_buffer::{NormalVertexBuffer, VertexBuffer};
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::vertex_buffer_builder::VertexBufferBuilder`
[INFO] [stdout]   --> src/objects/obj_model.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::objects::vertex_buffer_builder::VertexBufferBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra_glm::vec3`
[INFO] [stdout]  --> src/objects/vertex_buffer_obj.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra_glm::vec3;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/objects/simple_text.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TVec3`
[INFO] [stdout]  --> src/objects/simple_text.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nalgebra_glm::{TVec3, vec3, vec4};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::animation::animator::Animator`
[INFO] [stdout]  --> src/objects/simple_text.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::animation::animator::Animator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoderDescriptor` and `Surface`
[INFO] [stdout]  --> src/render/color_renderer.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wgpu::{Device, RenderPass, Queue, CommandEncoderDescriptor, BufferAddress, Surface, SurfaceConfiguration};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec3`
[INFO] [stdout]  --> src/render/color_renderer.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use nalgebra_glm::{TVec3, vec4, vec3, Mat4};
[INFO] [stdout]   |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::vertex::OnlyCoordsVertex`
[INFO] [stdout]  --> src/render/color_renderer.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::objects::vertex::OnlyCoordsVertex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game_engine::GameEngine`
[INFO] [stdout]  --> src/render/color_renderer.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::engine::game_engine::GameEngine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoderDescriptor`, `PushConstantRange`, and `Surface`
[INFO] [stdout]  --> src/render/texture_renderer.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use wgpu::{Device, RenderPass, Queue, CommandEncoderDescriptor, PushConstantRange, BufferAddress, Surface, SurfaceConfiguration};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec2`
[INFO] [stdout]  --> src/render/texture_renderer.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nalgebra_glm::{TVec3, vec2};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RangeBounds`
[INFO] [stdout]  --> src/render/texture_renderer.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{Range, RangeBounds};
[INFO] [stdout]   |                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoderDescriptor` and `Surface`
[INFO] [stdout]  --> src/render/line_renderer.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wgpu::{Device, Queue, RenderPass, CommandEncoderDescriptor, BufferAddress, Surface, SurfaceConfiguration};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TMat4`, `vec3`, and `vec4`
[INFO] [stdout]  --> src/render/line_renderer.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nalgebra_glm::{TVec3, vec3,vec4, TMat4};
[INFO] [stdout]   |                           ^^^^ ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufferInitDescriptor` and `DeviceExt`
[INFO] [stdout]  --> src/render/line_renderer.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use wgpu::util::{DeviceExt, BufferInitDescriptor};
[INFO] [stdout]   |                  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/render/line_renderer.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Surface`
[INFO] [stdout]  --> src/render/custom_vertex_renderer.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use wgpu::{Device, RenderPass, Surface, SurfaceConfiguration};
[INFO] [stdout]   |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::texture_map::TextureMap`
[INFO] [stdout]  --> src/render/custom_vertex_renderer.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::objects::texture_map::TextureMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OnlyCoordsVertexBuffer`
[INFO] [stdout]  --> src/render/text_renderer.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::objects::vertex_buffer::{OnlyCoordsVertexBuffer, VertexBuffer};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Surface`
[INFO] [stdout]  --> src/render/text_renderer.rs:4:54
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wgpu::{Device, RenderPass, Queue, BufferAddress, Surface, SurfaceConfiguration};
[INFO] [stdout]   |                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OffsetHandler`
[INFO] [stdout]   --> src/render/text_renderer.rs:10:38
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::objects::offset_handler::{OffsetHandler, StaticOffsetHandler};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Surface`
[INFO] [stdout]  --> src/render/vertex_renderer.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use wgpu::{Device, Queue, RenderPass, Surface, SurfaceConfiguration};
[INFO] [stdout]   |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::texture_map::TextureMap`
[INFO] [stdout]  --> src/render/vertex_renderer.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::objects::texture_map::TextureMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::render::render_phase::RenderPhase`
[INFO] [stdout]   --> src/objects/simple_text.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::render::render_phase::RenderPhase;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::bounds::Bounds`
[INFO] [stdout]   --> src/objects/simple_text.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::ui::bounds::Bounds;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::ui_constraint::ConstraintSettings`
[INFO] [stdout]   --> src/objects/simple_text.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::ui::ui_constraint::ConstraintSettings;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BindGroupDescriptor`, `BindGroupEntry`, `BindGroupLayoutDescriptor`, `BindGroupLayoutEntry`, `BindingResource`, `BindingType`, `BufferDescriptor`, `Face`, `Features`, `IndexFormat`, `Limits`, `PUSH_CONSTANT_ALIGNMENT`, `PushConstantRange`, and `ShaderStages`
[INFO] [stdout]  --> src/pipeline/pipeline.rs:2:102
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...e, IndexFormat, RenderPipeline, BindGroupDescriptor, BindGroupLayoutDescriptor, BindGroupLayoutEntry, BindingType, BindGroupEntry, BindingResource, BindGroup, Buffer, ShaderModule, BindGroupLayout, BufferDescriptor, PUSH_CONSTANT_ALIGNMENT, Features, PushConstantRange, Limits, TextureFormat, CompareFunction, ShaderModuleDescriptor, VertexState, FragmentState, ColorTargetState, BlendState, BlendFactor, BlendOperation, PrimitiveState, PolygonMode, DepthStencilState, DepthBiasState, MultisampleState, VertexBufferLayout, StencilState, BlendComponent, Face, ShaderSource, BufferUsages, ColorWrites, SurfaceConfiguration, SamplerBindingType, ShaderStages};
[INFO] [stdout]   |       ^^^^^^^^^^^                  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^                                                    ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^                                                                                                                                                                                                                                                                                     ^^^^                                                                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> src/pipeline/pipeline.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{PathBuf, Path};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/pipeline/pipeline.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `Write`
[INFO] [stdout]  --> src/pipeline/pipeline.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::{Read, Write};
[INFO] [stdout]   |               ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game_engine::GameEngine`
[INFO] [stdout]   --> src/pipeline/pipeline.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::engine::game_engine::GameEngine;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VertexBuffer`
[INFO] [stdout]  --> src/render/vertex_renderer.rs:7:57
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::objects::vertex_buffer::{NormalVertexBuffer, VertexBuffer};
[INFO] [stdout]   |                                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderPipelineGroup`
[INFO] [stdout]  --> src/render/vertex_renderer.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::pipeline::pipeline::{RenderPipelineGroup, RenderPipelineGroupBuilder};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/audio/audio_handler.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lewton::inside_ogg::OggStreamReader`
[INFO] [stdout]  --> src/audio/mp3_file.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use lewton::inside_ogg::OggStreamReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AL_FORMAT_MONO16` and `AL_FORMAT_STEREO16`
[INFO] [stdout]  --> src/audio/mp3_file.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use openal_sys::{AL_FORMAT_MONO16, AL_FORMAT_STEREO16};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/audio/mp3_file.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AL_FORMAT_MONO16` and `AL_FORMAT_STEREO16`
[INFO] [stdout]  --> src/audio/vorbis_file.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use openal_sys::{AL_FORMAT_MONO16, AL_FORMAT_STEREO16};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game_engine::GameEngine`
[INFO] [stdout]  --> src/text/render_font.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::engine::game_engine::GameEngine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoder` and `TextureView`
[INFO] [stdout]  --> src/ui/ui_pane.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wgpu::{CommandEncoder, RenderPass, TextureView};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UIConstraint`
[INFO] [stdout]   --> src/ui/ui_pane.rs:12:52
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::ui::ui_constraint::{ConstraintSettings, UIConstraint};
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::bounds::Bounds`
[INFO] [stdout]  --> src/ui/ui_constraint.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::ui::bounds::Bounds;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoder` and `TextureView`
[INFO] [stdout]  --> src/ui/ui_component.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wgpu::{CommandEncoder, RenderPass, TextureView};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BindGroupLayout`, `BindingResource`, `BufferBinding`, `BufferDescriptor`, `BufferSize`, and `Surface`
[INFO] [stdout]  --> src/pipeline/color_render_pipeline.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...e, BindGroupLayout, BindGroupLayoutDescriptor, BindGroupLayoutEntry, BindingType, BindGroupDescriptor, BindGroupEntry, BindingResource, PrimitiveTopology, BufferBindingType, BufferSize, BufferBinding, BufferDescriptor, ShaderStages, Surface, S...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^                                                                                                     ^^^^^^^^^^^^^^^                                        ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra_glm::vec3`
[INFO] [stdout]  --> src/pipeline/color_render_pipeline.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra_glm::vec3;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wgpu::util::BufferInitDescriptor`
[INFO] [stdout]  --> src/pipeline/color_render_pipeline.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use wgpu::util::BufferInitDescriptor;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game_engine::GameEngine`
[INFO] [stdout]  --> src/pipeline/color_render_pipeline.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::engine::game_engine::GameEngine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BindGroupLayout`, `Limits`, and `Surface`
[INFO] [stdout]  --> src/pipeline/texture_render_pipeline.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...e, BindGroupLayout, BindGroupLayoutDescriptor, BindGroupLayoutEntry, BindingType, BindGroupDescriptor, BindGroupEntry, BindingResource, PrimitiveTopology, QUERY_RESOLVE_BUFFER_ALIGNMENT, BufferBindingType, Limits, BufferBinding, BufferSize, ShaderStages, Surface, S...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^                                                                                                                                                                                            ^^^^^^                                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra_glm::vec3`
[INFO] [stdout]  --> src/pipeline/texture_render_pipeline.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra_glm::vec3;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OnlyCoordsVertexBuffer`
[INFO] [stdout]  --> src/pipeline/texture_render_pipeline.rs:5:37
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::objects::vertex_buffer::{OnlyCoordsVertexBuffer, VertexBuffer};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BindGroupLayout` and `Surface`
[INFO] [stdout]  --> src/pipeline/line_render_pipeline.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...e, BindGroupLayout, BindGroupLayoutDescriptor, BindGroupLayoutEntry, BindingType, BindGroupDescriptor, BindGroupEntry, BindingResource, PrimitiveTopology, BufferBindingType, BufferBinding, BufferSize, ShaderStages, Surface, S...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^                                                                                                                                                                                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `vec3` and `vec4`
[INFO] [stdout]  --> src/pipeline/line_render_pipeline.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra_glm::{vec3, vec4};
[INFO] [stdout]   |                    ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BindGroupLayout`, `SamplerBindingType`, and `Surface`
[INFO] [stdout]  --> src/pipeline/custom_vertex_render_pipeline.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use wgpu::{BindGroupLayout, Device, PrimitiveTopology, SamplerBindingType, Surface, SurfaceConfiguration};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^                             ^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndexFormat`
[INFO] [stdout]  --> src/pipeline/text_render_pipeline.rs:2:243
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...lineLayoutDescriptor, RenderPipelineDescriptor, FrontFace, IndexFormat, BlendFactor, BlendOperation, BindGroup, MultisampleState, ...
[INFO] [stdout]   |                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra_glm::vec3`
[INFO] [stdout]  --> src/pipeline/text_render_pipeline.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra_glm::vec3;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OnlyCoordsVertexBuffer`
[INFO] [stdout]  --> src/pipeline/text_render_pipeline.rs:5:37
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::objects::vertex_buffer::{OnlyCoordsVertexBuffer, VertexBuffer};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec3`
[INFO] [stdout]  --> src/pipeline/vertex_render_pipeline.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra_glm::{vec3, vec4};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Surface`
[INFO] [stdout]  --> src/pipeline/vertex_render_pipeline.rs:2:223
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...ngType, BufferSize, Device, PrimitiveTopology, ShaderStages, Surface, SurfaceConfiguration};
[INFO] [stdout]   |                                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::obj_model::Material`
[INFO] [stdout]  --> src/pipeline/vertex_render_pipeline.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::objects::obj_model::Material;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::vertex::NormalVertex`
[INFO] [stdout]  --> src/pipeline/vertex_render_pipeline.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::objects::vertex::NormalVertex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VertexBuffer`
[INFO] [stdout]  --> src/pipeline/vertex_render_pipeline.rs:8:57
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::objects::vertex_buffer::{NormalVertexBuffer, VertexBuffer};
[INFO] [stdout]   |                                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VertexBuffer`
[INFO] [stdout]  --> src/render/color_renderer.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::objects::vertex_buffer::{VertexBuffer, OnlyCoordsVertexBuffer};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoderDescriptor` and `Surface`
[INFO] [stdout]  --> src/render/color_renderer.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wgpu::{Device, RenderPass, Queue, CommandEncoderDescriptor, BufferAddress, Surface, SurfaceConfiguration};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec3`
[INFO] [stdout]  --> src/render/color_renderer.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use nalgebra_glm::{TVec3, vec4, vec3, Mat4};
[INFO] [stdout]   |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UIConstraint`
[INFO] [stdout]   --> src/ui/ui_component.rs:10:52
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::ui::ui_constraint::{ConstraintSettings, UIConstraint};
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `COLOR_BUTTON` should have an upper camel case name
[INFO] [stdout]   --> src/ui/ui_component.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     COLOR_BUTTON,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ColorButton`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoder` and `TextureView`
[INFO] [stdout]  --> src/ui/ui_rect.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use wgpu::{CommandEncoder, RenderPass, TextureView};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TVec3`
[INFO] [stdout]  --> src/ui/ui_text.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nalgebra_glm::{TVec3, vec3, vec4};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoder` and `TextureView`
[INFO] [stdout]  --> src/ui/ui_color_button.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wgpu::{CommandEncoder, RenderPass, TextureView};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::ui_color_button::ButtonState::NORMAL`
[INFO] [stdout]   --> src/ui/ui_color_button.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::ui::ui_color_button::ButtonState::NORMAL;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoder` and `TextureView`
[INFO] [stdout]  --> src/ui/ui_image.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wgpu::{CommandEncoder, RenderPass, TextureView};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::color::Color`
[INFO] [stdout]  --> src/ui/ui_image.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::objects::color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TVec4` and `vec3_to_vec4`
[INFO] [stdout]  --> src/light/light.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra_glm::{TVec3, TVec4, vec3, vec3_to_vec4, vec4};
[INFO] [stdout]   |                           ^^^^^        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TransformData`
[INFO] [stdout]  --> src/animation/animation_instance.rs:6:44
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::objects::transform::{Transform, TransformData};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::bounds::Bounds`
[INFO] [stdout]  --> src/animation/animator.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::ui::bounds::Bounds;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::vertex::OnlyCoordsVertex`
[INFO] [stdout]  --> src/render/color_renderer.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::objects::vertex::OnlyCoordsVertex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game_engine::GameEngine`
[INFO] [stdout]  --> src/render/color_renderer.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::engine::game_engine::GameEngine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoderDescriptor`, `PushConstantRange`, and `Surface`
[INFO] [stdout]  --> src/render/texture_renderer.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use wgpu::{Device, RenderPass, Queue, CommandEncoderDescriptor, PushConstantRange, BufferAddress, Surface, SurfaceConfiguration};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec2`
[INFO] [stdout]  --> src/render/texture_renderer.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nalgebra_glm::{TVec3, vec2};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RangeBounds`
[INFO] [stdout]  --> src/render/texture_renderer.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{Range, RangeBounds};
[INFO] [stdout]   |                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoderDescriptor` and `Surface`
[INFO] [stdout]  --> src/render/line_renderer.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wgpu::{Device, Queue, RenderPass, CommandEncoderDescriptor, BufferAddress, Surface, SurfaceConfiguration};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TMat4`, `vec3`, and `vec4`
[INFO] [stdout]  --> src/render/line_renderer.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nalgebra_glm::{TVec3, vec3,vec4, TMat4};
[INFO] [stdout]   |                           ^^^^ ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufferInitDescriptor` and `DeviceExt`
[INFO] [stdout]  --> src/render/line_renderer.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use wgpu::util::{DeviceExt, BufferInitDescriptor};
[INFO] [stdout]   |                  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/render/line_renderer.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Surface`
[INFO] [stdout]  --> src/render/custom_vertex_renderer.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use wgpu::{Device, RenderPass, Surface, SurfaceConfiguration};
[INFO] [stdout]   |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::texture_map::TextureMap`
[INFO] [stdout]  --> src/render/custom_vertex_renderer.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::objects::texture_map::TextureMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OnlyCoordsVertexBuffer`
[INFO] [stdout]  --> src/render/text_renderer.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::objects::vertex_buffer::{OnlyCoordsVertexBuffer, VertexBuffer};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Surface`
[INFO] [stdout]  --> src/render/text_renderer.rs:4:54
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wgpu::{Device, RenderPass, Queue, BufferAddress, Surface, SurfaceConfiguration};
[INFO] [stdout]   |                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OffsetHandler`
[INFO] [stdout]   --> src/render/text_renderer.rs:10:38
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::objects::offset_handler::{OffsetHandler, StaticOffsetHandler};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Surface`
[INFO] [stdout]  --> src/render/vertex_renderer.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use wgpu::{Device, Queue, RenderPass, Surface, SurfaceConfiguration};
[INFO] [stdout]   |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::texture_map::TextureMap`
[INFO] [stdout]  --> src/render/vertex_renderer.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::objects::texture_map::TextureMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VertexBuffer`
[INFO] [stdout]  --> src/render/vertex_renderer.rs:7:57
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::objects::vertex_buffer::{NormalVertexBuffer, VertexBuffer};
[INFO] [stdout]   |                                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RenderPipelineGroup`
[INFO] [stdout]  --> src/render/vertex_renderer.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::pipeline::pipeline::{RenderPipelineGroup, RenderPipelineGroupBuilder};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/audio/audio_handler.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lewton::inside_ogg::OggStreamReader`
[INFO] [stdout]  --> src/audio/mp3_file.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use lewton::inside_ogg::OggStreamReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AL_FORMAT_MONO16` and `AL_FORMAT_STEREO16`
[INFO] [stdout]  --> src/audio/mp3_file.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use openal_sys::{AL_FORMAT_MONO16, AL_FORMAT_STEREO16};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/audio/mp3_file.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AL_FORMAT_MONO16` and `AL_FORMAT_STEREO16`
[INFO] [stdout]  --> src/audio/vorbis_file.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use openal_sys::{AL_FORMAT_MONO16, AL_FORMAT_STEREO16};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game_engine::GameEngine`
[INFO] [stdout]  --> src/text/render_font.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::engine::game_engine::GameEngine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoder` and `TextureView`
[INFO] [stdout]  --> src/ui/ui_pane.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wgpu::{CommandEncoder, RenderPass, TextureView};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UIConstraint`
[INFO] [stdout]   --> src/ui/ui_pane.rs:12:52
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::ui::ui_constraint::{ConstraintSettings, UIConstraint};
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::bounds::Bounds`
[INFO] [stdout]  --> src/ui/ui_constraint.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::ui::bounds::Bounds;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoder` and `TextureView`
[INFO] [stdout]  --> src/ui/ui_component.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wgpu::{CommandEncoder, RenderPass, TextureView};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UIConstraint`
[INFO] [stdout]   --> src/ui/ui_component.rs:10:52
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::ui::ui_constraint::{ConstraintSettings, UIConstraint};
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `COLOR_BUTTON` should have an upper camel case name
[INFO] [stdout]   --> src/ui/ui_component.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     COLOR_BUTTON,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ColorButton`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoder` and `TextureView`
[INFO] [stdout]  --> src/ui/ui_rect.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use wgpu::{CommandEncoder, RenderPass, TextureView};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TVec3`
[INFO] [stdout]  --> src/ui/ui_text.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nalgebra_glm::{TVec3, vec3, vec4};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoder` and `TextureView`
[INFO] [stdout]  --> src/ui/ui_color_button.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wgpu::{CommandEncoder, RenderPass, TextureView};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::ui_color_button::ButtonState::NORMAL`
[INFO] [stdout]   --> src/ui/ui_color_button.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::ui::ui_color_button::ButtonState::NORMAL;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CommandEncoder` and `TextureView`
[INFO] [stdout]  --> src/ui/ui_image.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wgpu::{CommandEncoder, RenderPass, TextureView};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::color::Color`
[INFO] [stdout]  --> src/ui/ui_image.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::objects::color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TVec4` and `vec3_to_vec4`
[INFO] [stdout]  --> src/light/light.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra_glm::{TVec3, TVec4, vec3, vec3_to_vec4, vec4};
[INFO] [stdout]   |                           ^^^^^        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TransformData`
[INFO] [stdout]  --> src/animation/animation_instance.rs:6:44
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::objects::transform::{Transform, TransformData};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::bounds::Bounds`
[INFO] [stdout]  --> src/animation/animator.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::ui::bounds::Bounds;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImageView`
[INFO] [stdout]  --> src/objects/texture_object.rs:9:53
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{RgbaImage, RgbImage, ImageBuffer, Rgba, GenericImageView};
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::ui_component::UIComponent`
[INFO] [stdout]   --> src/objects/simple_text.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::ui::ui_component::UIComponent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/engine/game_window.rs:17:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(title: String, mut width: i32, mut height: i32,x:i32,y:i32,clear_color:Color,vsync:bool) -> GameWindow {
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/engine/game_window.rs:17:47
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(title: String, mut width: i32, mut height: i32,x:i32,y:i32,clear_color:Color,vsync:bool) -> GameWindow {
[INFO] [stdout]    |                                               ----^^^^^^
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImageView`
[INFO] [stdout]  --> src/objects/texture_object.rs:9:53
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{RgbaImage, RgbImage, ImageBuffer, Rgba, GenericImageView};
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::ui_component::UIComponent`
[INFO] [stdout]   --> src/objects/simple_text.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::ui::ui_component::UIComponent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/engine/game_window.rs:17:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(title: String, mut width: i32, mut height: i32,x:i32,y:i32,clear_color:Color,vsync:bool) -> GameWindow {
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/engine/game_window.rs:17:47
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(title: String, mut width: i32, mut height: i32,x:i32,y:i32,clear_color:Color,vsync:bool) -> GameWindow {
[INFO] [stdout]    |                                               ----^^^^^^
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/engine/game_engine.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let mut render_pass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/engine/game_engine.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let mut render_pass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/engine/game_engine.rs:195:13
[INFO] [stdout]     |
[INFO] [stdout] 195 |         let mut render_pass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/engine/game_engine.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut render_pass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]   --> src/engine/game_events.rs:98:21
[INFO] [stdout]    |
[INFO] [stdout] 98 |                     device_id, event
[INFO] [stdout]    |                     ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/engine/resource_loader.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     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: variable does not need to be mutable
[INFO] [stdout]    --> src/engine/game_engine.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let mut render_pass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/engine/game_engine.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let mut render_pass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/engine/game_engine.rs:195:13
[INFO] [stdout]     |
[INFO] [stdout] 195 |         let mut render_pass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/engine/game_engine.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut render_pass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/engine/resource_loader.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     unsafe {
[INFO] [stdout]    |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]   --> src/engine/game_events.rs:98:21
[INFO] [stdout]    |
[INFO] [stdout] 98 |                     device_id, event
[INFO] [stdout]    |                     ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]   --> src/engine/input_handler.rs:68:35
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn handle_mouse(&mut self,device_id: &DeviceId, state: &ElementState, button: &MouseButton) {
[INFO] [stdout]    |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/engine/resource_loader.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     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: unused variable: `device_id`
[INFO] [stdout]   --> src/engine/input_handler.rs:98:41
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn handle_cursor_move(&mut self,device_id:&DeviceId,position:&PhysicalPosition<f64>,size:&PhysicalSize<u32>) {
[INFO] [stdout]    |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/engine/resource_loader.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     unsafe {
[INFO] [stdout]    |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/engine/material_manager.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |         for (id,m) in mats {
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]   --> src/engine/input_handler.rs:68:35
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn handle_mouse(&mut self,device_id: &DeviceId, state: &ElementState, button: &MouseButton) {
[INFO] [stdout]    |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]   --> src/engine/input_handler.rs:98:41
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn handle_cursor_move(&mut self,device_id:&DeviceId,position:&PhysicalPosition<f64>,size:&PhysicalSize<u32>) {
[INFO] [stdout]    |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/engine/material_manager.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |         for (id,m) in mats {
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/objects/transform.rs:62:34
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn interpolate(&mut self,engine:&GameEngine) {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/objects/transform.rs:62:34
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn interpolate(&mut self,engine:&GameEngine) {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let mut width = width;
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let mut height = width;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let mut width = width;
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut height = width;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin_min`
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:92:119
[INFO] [stdout]    |
[INFO] [stdout] 92 | ...origin_max:TVec3<f32>,origin_min:TVec3<f32>, t:bool) -> (TVec2<f32>,TVec3<f32>,TVec3<f32>){
[INFO] [stdout]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]    --> src/objects/vertex_buffer_builder.rs:142:51
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn add_text(&mut self, lines:&Vec<String>,engine:&GameEngine, font:&Rc<RenderFont>,width:f32, x_start: f32, y_start: f32){
[INFO] [stdout]     |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let mut width = width;
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let mut height = width;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let mut width = width;
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut height = width;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin_min`
[INFO] [stdout]   --> src/objects/vertex_buffer_builder.rs:92:119
[INFO] [stdout]    |
[INFO] [stdout] 92 | ...origin_max:TVec3<f32>,origin_min:TVec3<f32>, t:bool) -> (TVec2<f32>,TVec3<f32>,TVec3<f32>){
[INFO] [stdout]    |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/obj_model.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut lines = txt.split("\n").collect::<Vec<&str>>();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_uv` is never read
[INFO] [stdout]   --> src/objects/obj_model.rs:84:44
[INFO] [stdout]    |
[INFO] [stdout] 84 |                         let mut index_uv = -1;
[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: unused variable: `engine`
[INFO] [stdout]    --> src/objects/vertex_buffer_builder.rs:142:51
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn add_text(&mut self, lines:&Vec<String>,engine:&GameEngine, font:&Rc<RenderFont>,width:f32, x_start: f32, y_start: f32){
[INFO] [stdout]     |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/objects/obj_model.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let mut lines = txt.split("\n").collect::<Vec<&str>>();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> src/objects/obj_model.rs:181:56
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn map_from_mat_file(parent:String,file:String,device:&Device) -> HashMap<String,Material> {
[INFO] [stdout]     |                                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/obj_model.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut lines = txt.split("\n").collect::<Vec<&str>>();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_uv` is never read
[INFO] [stdout]   --> src/objects/obj_model.rs:84:44
[INFO] [stdout]    |
[INFO] [stdout] 84 |                         let mut index_uv = -1;
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/objects/obj_model.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let mut lines = txt.split("\n").collect::<Vec<&str>>();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> src/objects/obj_model.rs:181:56
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn map_from_mat_file(parent:String,file:String,device:&Device) -> HashMap<String,Material> {
[INFO] [stdout]     |                                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/simple_text.rs:51:16
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(mut text:String,font:Rc<RenderFont>,color:Color,engine:&mut GameEngine,x:f32,y:f32,width:f32, height:f32) -> SimpleTe...
[INFO] [stdout]    |                ----^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/simple_text.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut paragraphs : Vec<String> = text.split("\n\r").map(|s| s.to_string()).collect();
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/simple_text.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let mut ls : Vec<String> = l.split("\n").map(|s| s.to_string()).collect();
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/objects/simple_text.rs:51:110
[INFO] [stdout]    |
[INFO] [stdout] 51 | ...ne,x:f32,y:f32,width:f32, height:f32) -> SimpleText {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]  --> src/scene/scene.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn loaded(&mut self,engine:&mut GameEngine) {}
[INFO] [stdout]   |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]  --> src/scene/scene.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn process_input(&mut self,engine:&mut GameEngine) {}
[INFO] [stdout]   |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn handle_second(&mut self,engine:&mut GameEngine) {}
[INFO] [stdout]    |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn close(&mut self,engine:&mut GameEngine){}
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn loaded(&mut self, engine: &mut GameEngine) {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn process_input(&mut self, engine: &mut GameEngine) {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:37:26
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn update(&mut self, engine: &mut GameEngine) {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:41:22
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn render(&self, engine: &GameEngine, encoder: &mut CommandEncoder, view: &TextureView){
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoder`
[INFO] [stdout]   --> src/scene/scene.rs:41:43
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn render(&self, engine: &GameEngine, encoder: &mut CommandEncoder, view: &TextureView){
[INFO] [stdout]    |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `view`
[INFO] [stdout]   --> src/scene/scene.rs:41:73
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn render(&self, engine: &GameEngine, encoder: &mut CommandEncoder, view: &TextureView){
[INFO] [stdout]    |                                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:44:34
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn window_resized(&mut self, engine: &GameEngine, size: &PhysicalSize<u32>) {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/scene/scene.rs:44:55
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn window_resized(&mut self, engine: &GameEngine, size: &PhysicalSize<u32>) {
[INFO] [stdout]    |                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:48:33
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn handle_second(&mut self, engine: &mut GameEngine) {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:52:25
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn close(&mut self, engine: &mut GameEngine) {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/simple_text.rs:51:16
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(mut text:String,font:Rc<RenderFont>,color:Color,engine:&mut GameEngine,x:f32,y:f32,width:f32, height:f32) -> SimpleTe...
[INFO] [stdout]    |                ----^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/simple_text.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut paragraphs : Vec<String> = text.split("\n\r").map(|s| s.to_string()).collect();
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objects/simple_text.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let mut ls : Vec<String> = l.split("\n").map(|s| s.to_string()).collect();
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/objects/simple_text.rs:51:110
[INFO] [stdout]    |
[INFO] [stdout] 51 | ...ne,x:f32,y:f32,width:f32, height:f32) -> SimpleText {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name_vertex`
[INFO] [stdout]   --> src/pipeline/pipeline.rs:33:107
[INFO] [stdout]    |
[INFO] [stdout] 33 | ..._shader_path: String,name_vertex:String,name_fragment:String) {
[INFO] [stdout]    |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_name_vertex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name_fragment`
[INFO] [stdout]   --> src/pipeline/pipeline.rs:33:126
[INFO] [stdout]    |
[INFO] [stdout] 33 | ...name_vertex:String,name_fragment:String) {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_name_fragment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]  --> src/scene/scene.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn loaded(&mut self,engine:&mut GameEngine) {}
[INFO] [stdout]   |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]  --> src/scene/scene.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn process_input(&mut self,engine:&mut GameEngine) {}
[INFO] [stdout]   |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn handle_second(&mut self,engine:&mut GameEngine) {}
[INFO] [stdout]    |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn close(&mut self,engine:&mut GameEngine){}
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn loaded(&mut self, engine: &mut GameEngine) {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn process_input(&mut self, engine: &mut GameEngine) {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:37:26
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn update(&mut self, engine: &mut GameEngine) {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:41:22
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn render(&self, engine: &GameEngine, encoder: &mut CommandEncoder, view: &TextureView){
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoder`
[INFO] [stdout]   --> src/scene/scene.rs:41:43
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn render(&self, engine: &GameEngine, encoder: &mut CommandEncoder, view: &TextureView){
[INFO] [stdout]    |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `view`
[INFO] [stdout]   --> src/scene/scene.rs:41:73
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn render(&self, engine: &GameEngine, encoder: &mut CommandEncoder, view: &TextureView){
[INFO] [stdout]    |                                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:44:34
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn window_resized(&mut self, engine: &GameEngine, size: &PhysicalSize<u32>) {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/scene/scene.rs:44:55
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn window_resized(&mut self, engine: &GameEngine, size: &PhysicalSize<u32>) {
[INFO] [stdout]    |                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:48:33
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn handle_second(&mut self, engine: &mut GameEngine) {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/scene/scene.rs:52:25
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn close(&mut self, engine: &mut GameEngine) {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name_vertex`
[INFO] [stdout]   --> src/pipeline/pipeline.rs:33:107
[INFO] [stdout]    |
[INFO] [stdout] 33 | ..._shader_path: String,name_vertex:String,name_fragment:String) {
[INFO] [stdout]    |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_name_vertex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name_fragment`
[INFO] [stdout]   --> src/pipeline/pipeline.rs:33:126
[INFO] [stdout]    |
[INFO] [stdout] 33 | ...name_vertex:String,name_fragment:String) {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_name_fragment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/render/color_renderer.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/render/texture_renderer.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/render/color_renderer.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/render/custom_vertex_renderer.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/render/text_renderer.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/render/texture_renderer.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/render/vertex_renderer.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/render/custom_vertex_renderer.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/render/text_renderer.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/audio/audio_handler.rs:76:18
[INFO] [stdout]    |
[INFO] [stdout] 76 |             for (id,s) in self.audio_sources.lock().unwrap().iter() {
[INFO] [stdout]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/render/vertex_renderer.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/audio/audio_handler.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let v = self.audio_sources.clone();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/audio/audio_handler.rs:152:43
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 s.lock().unwrap().retain(|id,source| {
[INFO] [stdout]     |                                           ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/audio/audio_handler.rs:76:18
[INFO] [stdout]    |
[INFO] [stdout] 76 |             for (id,s) in self.audio_sources.lock().unwrap().iter() {
[INFO] [stdout]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]   --> src/audio/mp3_file.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |         while let frame = mp3_file.next_frame() {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]    = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/audio/mp3_file.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let mut started: bool = false;
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/audio/wave_file.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut file = File::open(path.clone()).unwrap();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/audio/wave_file.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let mut array: [char;4] = WaveFile::read_char_array(&mut reader);
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/audio/audio_handler.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let v = self.audio_sources.clone();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/audio/wave_file.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut array: [char;4] = WaveFile::read_char_array(&mut reader);
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/audio/wave_file.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut array: [char;4] = WaveFile::read_char_array(&mut reader);
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/audio/wave_file.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut char: [char;4] = [array[0] as char,array[1] as char, array[2] as char, array[3] as char];
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `format` is never read
[INFO] [stdout]   --> src/audio/audio_data.rs:15:26
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut format = 0;
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `format` is never read
[INFO] [stdout]   --> src/audio/audio_data.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut format = 0;
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/audio/audio_handler.rs:152:43
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 s.lock().unwrap().retain(|id,source| {
[INFO] [stdout]     |                                           ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/text/render_character.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | ...   let mut vexs = vec![Vertex::new(0.0,char.height as f32,0.0,coord.tex_coords[0].x,coord.tex_coords[0].y),Vertex::new(0.0,0.0,0....
[INFO] [stdout]    |           ----^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]   --> src/audio/mp3_file.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |         while let frame = mp3_file.next_frame() {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]    = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/text/render_font.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |         for (id,c) in base.chars.iter() {
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/audio/mp3_file.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let mut started: bool = false;
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/ui/ui_pane.rs:42:23
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn load(&mut self,engine:&mut GameEngine) {
[INFO] [stdout]    |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/audio/wave_file.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut file = File::open(path.clone()).unwrap();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/audio/wave_file.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let mut array: [char;4] = WaveFile::read_char_array(&mut reader);
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ui/ui_pane.rs:116:14
[INFO] [stdout]     |
[INFO] [stdout] 116 |         for (id,c) in self.buttons.iter() {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/audio/wave_file.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut array: [char;4] = WaveFile::read_char_array(&mut reader);
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/audio/wave_file.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut array: [char;4] = WaveFile::read_char_array(&mut reader);
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/audio/wave_file.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut char: [char;4] = [array[0] as char,array[1] as char, array[2] as char, array[3] as char];
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `format` is never read
[INFO] [stdout]   --> src/audio/audio_data.rs:15:26
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut format = 0;
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `format` is never read
[INFO] [stdout]   --> src/audio/audio_data.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut format = 0;
[INFO] [stdout]    |                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ui/ui_pane.rs:167:14
[INFO] [stdout]     |
[INFO] [stdout] 167 |         for (id,c) in self.buttons.iter_mut() {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/text/render_character.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | ...   let mut vexs = vec![Vertex::new(0.0,char.height as f32,0.0,coord.tex_coords[0].x,coord.tex_coords[0].y),Vertex::new(0.0,0.0,0....
[INFO] [stdout]    |           ----^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/text/render_font.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |         for (id,c) in base.chars.iter() {
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/ui/ui_component.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn update(&mut self, engine:&mut GameEngine, camera:&Camera) {}
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]   --> src/ui/ui_component.rs:26:50
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn update(&mut self, engine:&mut GameEngine, camera:&Camera) {}
[INFO] [stdout]    |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/ui/ui_component.rs:27:33
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn process_input(&mut self, engine:&mut GameEngine, camera:&Camera) {}
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]   --> src/ui/ui_component.rs:27:57
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn process_input(&mut self, engine:&mut GameEngine, camera:&Camera) {}
[INFO] [stdout]    |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/ui/ui_pane.rs:42:23
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn load(&mut self,engine:&mut GameEngine) {
[INFO] [stdout]    |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ui/ui_component.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut b = self.get_bounds_mut();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ui/ui_pane.rs:116:14
[INFO] [stdout]     |
[INFO] [stdout] 116 |         for (id,c) in self.buttons.iter() {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ui/ui_pane.rs:167:14
[INFO] [stdout]     |
[INFO] [stdout] 167 |         for (id,c) in self.buttons.iter_mut() {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ui/ui_component.rs:182:40
[INFO] [stdout]     |
[INFO] [stdout] 182 |         self.get_buttons_mut().retain(|id,c|{
[INFO] [stdout]     |                                        ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ui/ui_component.rs:171:14
[INFO] [stdout]     |
[INFO] [stdout] 171 |         for (id,c) in self.get_buttons_mut().iter_mut() {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ui/ui_component.rs:194:14
[INFO] [stdout]     |
[INFO] [stdout] 194 |         for (id,c) in self.get_buttons_mut().iter_mut() {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/ui/ui_component.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn update(&mut self, engine:&mut GameEngine, camera:&Camera) {}
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ui/ui_component.rs:202:14
[INFO] [stdout]     |
[INFO] [stdout] 202 |         for (id,c) in self.get_buttons().iter() {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]   --> src/ui/ui_component.rs:26:50
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn update(&mut self, engine:&mut GameEngine, camera:&Camera) {}
[INFO] [stdout]    |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/ui/ui_component.rs:27:33
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn process_input(&mut self, engine:&mut GameEngine, camera:&Camera) {}
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]   --> src/ui/ui_component.rs:27:57
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn process_input(&mut self, engine:&mut GameEngine, camera:&Camera) {}
[INFO] [stdout]    |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/ui/ui_rect.rs:57:28
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn render<'a>(&'a self,engine: &'a GameEngine, camera:&'a Camera, pass: &mut RenderPass<'a>, state: RenderPhase) {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]   --> src/ui/ui_rect.rs:57:52
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn render<'a>(&'a self,engine: &'a GameEngine, camera:&'a Camera, pass: &mut RenderPass<'a>, state: RenderPhase) {
[INFO] [stdout]    |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass`
[INFO] [stdout]   --> src/ui/ui_rect.rs:57:71
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn render<'a>(&'a self,engine: &'a GameEngine, camera:&'a Camera, pass: &mut RenderPass<'a>, state: RenderPhase) {
[INFO] [stdout]    |                                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_pass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/ui/ui_rect.rs:57:98
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn render<'a>(&'a self,engine: &'a GameEngine, camera:&'a Camera, pass: &mut RenderPass<'a>, state: RenderPhase) {
[INFO] [stdout]    |                                                                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/ui/ui_rect.rs:65:22
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn remove(&self, engine: &mut GameEngine) {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ui/ui_component.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut b = self.get_bounds_mut();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ui/ui_text.rs:56:20
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn new_new(mut text:String,font:Rc<RenderFont>,color:Color,engine:&mut GameEngine,x:f32,y:f32,width:f32, height:f32) -> UITe...
[INFO] [stdout]    |                    ----^^^^
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ui/ui_text.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut paragraphs : Vec<String> = text.split("\n\r").map(|s| s.to_string()).collect();
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ui/ui_text.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |             let mut ls : Vec<String> = l.split("\n").map(|s| s.to_string()).collect();
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ui/ui_text.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut bounds = Bounds::new(x,y,width,height);
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ui/ui_component.rs:182:40
[INFO] [stdout]     |
[INFO] [stdout] 182 |         self.get_buttons_mut().retain(|id,c|{
[INFO] [stdout]     |                                        ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ui/ui_component.rs:171:14
[INFO] [stdout]     |
[INFO] [stdout] 171 |         for (id,c) in self.get_buttons_mut().iter_mut() {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ui/ui_component.rs:194:14
[INFO] [stdout]     |
[INFO] [stdout] 194 |         for (id,c) in self.get_buttons_mut().iter_mut() {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/ui/ui_component.rs:202:14
[INFO] [stdout]     |
[INFO] [stdout] 202 |         for (id,c) in self.get_buttons().iter() {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/ui/ui_text.rs:235:17
[INFO] [stdout]     |
[INFO] [stdout] 235 |             let w = self.font.get_width(&self.lines[0]);
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/ui/ui_rect.rs:57:28
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn render<'a>(&'a self,engine: &'a GameEngine, camera:&'a Camera, pass: &mut RenderPass<'a>, state: RenderPhase) {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]   --> src/ui/ui_rect.rs:57:52
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn render<'a>(&'a self,engine: &'a GameEngine, camera:&'a Camera, pass: &mut RenderPass<'a>, state: RenderPhase) {
[INFO] [stdout]    |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass`
[INFO] [stdout]   --> src/ui/ui_rect.rs:57:71
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn render<'a>(&'a self,engine: &'a GameEngine, camera:&'a Camera, pass: &mut RenderPass<'a>, state: RenderPhase) {
[INFO] [stdout]    |                                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_pass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/ui/ui_rect.rs:57:98
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn render<'a>(&'a self,engine: &'a GameEngine, camera:&'a Camera, pass: &mut RenderPass<'a>, state: RenderPhase) {
[INFO] [stdout]    |                                                                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/ui/ui_rect.rs:65:22
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn remove(&self, engine: &mut GameEngine) {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/ui/ui_color_button.rs:112:58
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn process_input(&mut self, engine: &mut GameEngine, camera: &Camera) {
[INFO] [stdout]     |                                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ui/ui_text.rs:56:20
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn new_new(mut text:String,font:Rc<RenderFont>,color:Color,engine:&mut GameEngine,x:f32,y:f32,width:f32, height:f32) -> UITe...
[INFO] [stdout]    |                    ----^^^^
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ui/ui_text.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut paragraphs : Vec<String> = text.split("\n\r").map(|s| s.to_string()).collect();
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ui/ui_text.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |             let mut ls : Vec<String> = l.split("\n").map(|s| s.to_string()).collect();
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ui/ui_text.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut bounds = Bounds::new(x,y,width,height);
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/ui/ui_image.rs:86:22
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn remove(&self, engine: &mut GameEngine) {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/ui/ui_text.rs:235:17
[INFO] [stdout]     |
[INFO] [stdout] 235 |             let w = self.font.get_width(&self.lines[0]);
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]    --> src/animation/animation_instance.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn check(&mut self, engine:&GameEngine, key_frame:&KeyFrame) {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_frame`
[INFO] [stdout]    --> src/animation/animation_instance.rs:104:45
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn check(&mut self, engine:&GameEngine, key_frame:&KeyFrame) {
[INFO] [stdout]     |                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]    --> src/ui/ui_color_button.rs:112:58
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn process_input(&mut self, engine: &mut GameEngine, camera: &Camera) {
[INFO] [stdout]     |                                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]   --> src/ui/ui_image.rs:86:22
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn remove(&self, engine: &mut GameEngine) {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_new` is never read
[INFO] [stdout]   --> src/engine/input_handler.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct InputHandler {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     is_new : bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `write_transform` is never read
[INFO] [stdout]   --> src/objects/simple_text.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SimpleText {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     write_transform: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update` and `render` are never used
[INFO] [stdout]   --> src/objects/simple_text.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl SimpleText {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     fn update(&mut self, engine: &mut GameEngine, camera: &Camera) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     fn render<'a>(&'a self, engine: &'a GameEngine, camera: &'a Camera, pass: &mut RenderPass<'a>) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load` is never used
[INFO] [stdout]   --> src/ui/ui_pane.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl UIPane {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn load(&mut self,engine:&mut GameEngine) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check` is never used
[INFO] [stdout]    --> src/animation/animation_instance.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl AnimationInstance {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn check(&mut self, engine:&GameEngine, key_frame:&KeyFrame) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]    --> src/animation/animation_instance.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn check(&mut self, engine:&GameEngine, key_frame:&KeyFrame) {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_frame`
[INFO] [stdout]    --> src/animation/animation_instance.rs:104:45
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn check(&mut self, engine:&GameEngine, key_frame:&KeyFrame) {
[INFO] [stdout]     |                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sizeInBytes` should have a snake case name
[INFO] [stdout]    --> src/audio/audio_source.rs:118:21
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let mut sizeInBytes = 0;
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `size_in_bytes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lengthInSamples` should have a snake case name
[INFO] [stdout]    --> src/audio/audio_source.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |             let lengthInSamples = sizeInBytes * 8 / (channels * bits);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `length_in_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_new` is never read
[INFO] [stdout]   --> src/engine/input_handler.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct InputHandler {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     is_new : bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `write_transform` is never read
[INFO] [stdout]   --> src/objects/simple_text.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SimpleText {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     write_transform: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update` and `render` are never used
[INFO] [stdout]   --> src/objects/simple_text.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl SimpleText {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     fn update(&mut self, engine: &mut GameEngine, camera: &Camera) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     fn render<'a>(&'a self, engine: &'a GameEngine, camera: &'a Camera, pass: &mut RenderPass<'a>) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load` is never used
[INFO] [stdout]   --> src/ui/ui_pane.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl UIPane {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn load(&mut self,engine:&mut GameEngine) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check` is never used
[INFO] [stdout]    --> src/animation/animation_instance.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl AnimationInstance {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn check(&mut self, engine:&GameEngine, key_frame:&KeyFrame) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sizeInBytes` should have a snake case name
[INFO] [stdout]    --> src/audio/audio_source.rs:118:21
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let mut sizeInBytes = 0;
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: convert the identifier to snake case: `size_in_bytes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lengthInSamples` should have a snake case name
[INFO] [stdout]    --> src/audio/audio_source.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |             let lengthInSamples = sizeInBytes * 8 / (channels * bits);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `length_in_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio/wave_file.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         reader.read(&mut size);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let _ = reader.read(&mut size);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio/wave_file.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         reader.read_exact(&mut buf);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let _ = reader.read_exact(&mut buf);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio/wave_file.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         reader.read_exact(&mut array);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let _ = reader.read_exact(&mut array);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio/wave_file.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |         reader.read_exact(&mut array);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let _ = reader.read_exact(&mut array);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio/wave_file.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         reader.read_exact(&mut array);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let _ = reader.read_exact(&mut array);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio/wave_file.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         reader.read_exact(&mut array);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let _ = reader.read_exact(&mut array);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/audio/wave_file.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         reader.read_exact(&mut array);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let _ = reader.read_exact(&mut array);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio/wave_file.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         reader.read(&mut size);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let _ = reader.read(&mut size);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio/wave_file.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         reader.read_exact(&mut buf);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let _ = reader.read_exact(&mut buf);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio/wave_file.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         reader.read_exact(&mut array);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let _ = reader.read_exact(&mut array);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio/wave_file.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |         reader.read_exact(&mut array);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let _ = reader.read_exact(&mut array);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio/wave_file.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         reader.read_exact(&mut array);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let _ = reader.read_exact(&mut array);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio/wave_file.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         reader.read_exact(&mut array);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let _ = reader.read_exact(&mut array);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/audio/wave_file.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         reader.read_exact(&mut array);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let _ = reader.read_exact(&mut array);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 22s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "2c7d0147dd97f07dc61fe5f482d4bb2c0f8ac5ff7c4ac00f53b0347c9bfd3a5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c7d0147dd97f07dc61fe5f482d4bb2c0f8ac5ff7c4ac00f53b0347c9bfd3a5d", kill_on_drop: false }`
[INFO] [stdout] 2c7d0147dd97f07dc61fe5f482d4bb2c0f8ac5ff7c4ac00f53b0347c9bfd3a5d
