[INFO] cloning repository https://github.com/maxryan008/GameDemo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/maxryan008/GameDemo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaxryan008%2FGameDemo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaxryan008%2FGameDemo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4c0f0220ddf86ba72485d2bd481168a2b3f147af
[INFO] checking maxryan008/GameDemo against master#2aabf3ce0569dd7c8c2d2a27944850056dcf2566 for pr-156508
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaxryan008%2FGameDemo" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/maxryan008/GameDemo
[INFO] finished tweaking git repo https://github.com/maxryan008/GameDemo
[INFO] tweaked toml for git repo https://github.com/maxryan008/GameDemo written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/maxryan008/GameDemo on toolchain 2aabf3ce0569dd7c8c2d2a27944850056dcf2566
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2aabf3ce0569dd7c8c2d2a27944850056dcf2566" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/maxryan008/GameDemo 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" "+2aabf3ce0569dd7c8c2d2a27944850056dcf2566" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wayland-protocols-plasma v0.2.0
[INFO] [stderr]   Downloaded web-time v0.2.4
[INFO] [stderr]   Downloaded wayland-scanner v0.31.5
[INFO] [stderr]   Downloaded wayland-sys v0.31.5
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.43
[INFO] [stderr]   Downloaded wayland-cursor v0.31.6
[INFO] [stderr]   Downloaded calloop-wayland-source v0.2.0
[INFO] [stderr]   Downloaded xcursor v0.3.8
[INFO] [stderr]   Downloaded block2 v0.3.0
[INFO] [stderr]   Downloaded objc2-encode v3.0.0
[INFO] [stderr]   Downloaded wayland-protocols-wlr v0.2.0
[INFO] [stderr]   Downloaded bytemuck_derive v1.6.0
[INFO] [stderr]   Downloaded block-sys v0.2.1
[INFO] [stderr]   Downloaded unicode-xid v0.2.5
[INFO] [stderr]   Downloaded glutin_wgl_sys v0.6.0
[INFO] [stderr]   Downloaded bit-vec v0.7.0
[INFO] [stderr]   Downloaded bytemuck v1.18.0
[INFO] [stderr]   Downloaded redox_syscall v0.5.4
[INFO] [stderr]   Downloaded bit-set v0.6.0
[INFO] [stderr]   Downloaded d3d12 v22.0.0
[INFO] [stderr]   Downloaded sctk-adwaita v0.8.3
[INFO] [stderr]   Downloaded gpu-allocator v0.26.0
[INFO] [stderr]   Downloaded tobj v4.0.2
[INFO] [stderr]   Downloaded wayland-client v0.31.6
[INFO] [stderr]   Downloaded wayland-backend v0.3.7
[INFO] [stderr]   Downloaded calloop v0.12.4
[INFO] [stderr]   Downloaded cc v1.1.20
[INFO] [stderr]   Downloaded wgpu-types v22.0.0
[INFO] [stderr]   Downloaded pollster v0.3.0
[INFO] [stderr]   Downloaded hyper-rustls v0.27.3
[INFO] [stderr]   Downloaded rustls-pki-types v1.9.0
[INFO] [stderr]   Downloaded openssl-sys v0.9.103
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.18.1
[INFO] [stderr]   Downloaded hyper-util v0.1.9
[INFO] [stderr]   Downloaded quick-xml v0.36.1
[INFO] [stderr]   Downloaded wayland-protocols v0.31.2
[INFO] [stderr]   Downloaded cgmath v0.18.0
[INFO] [stderr]   Downloaded objc2 v0.4.1
[INFO] [stderr]   Downloaded wgpu v22.1.0
[INFO] [stderr]   Downloaded flate2 v1.0.33
[INFO] [stderr]   Downloaded reqwest v0.12.8
[INFO] [stderr]   Downloaded hyper v1.4.1
[INFO] [stderr]   Downloaded h2 v0.4.6
[INFO] [stderr]   Downloaded android-activity v0.5.2
[INFO] [stderr]   Downloaded wgpu-core v22.1.0
[INFO] [stderr]   Downloaded image v0.25.2
[INFO] [stderr]   Downloaded openssl v0.10.66
[INFO] [stderr]   Downloaded wgpu-hal v22.0.0
[INFO] [stderr]   Downloaded rustls v0.23.14
[INFO] [stderr]   Downloaded unicode-width v0.1.13
[INFO] [stderr]   Downloaded winit v0.29.15
[INFO] [stderr]   Downloaded naga v22.1.0
[INFO] [stderr]   Downloaded icrate v0.0.4
[INFO] [stderr]   Downloaded metal v0.29.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+2aabf3ce0569dd7c8c2d2a27944850056dcf2566" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b3b9e2c17928521875ac7b6557158a6de2c8fd9e7aee1af7071b98eaa4533337
[INFO] running `Command { std: "docker" "start" "-a" "b3b9e2c17928521875ac7b6557158a6de2c8fd9e7aee1af7071b98eaa4533337", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b3b9e2c17928521875ac7b6557158a6de2c8fd9e7aee1af7071b98eaa4533337", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3b9e2c17928521875ac7b6557158a6de2c8fd9e7aee1af7071b98eaa4533337", kill_on_drop: false }`
[INFO] [stdout] b3b9e2c17928521875ac7b6557158a6de2c8fd9e7aee1af7071b98eaa4533337
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+2aabf3ce0569dd7c8c2d2a27944850056dcf2566" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ff5789c4a79da23a00767f3abe70eef3cae8adfb5214461bc73bde4c7ac35706
[INFO] running `Command { std: "docker" "start" "-a" "ff5789c4a79da23a00767f3abe70eef3cae8adfb5214461bc73bde4c7ac35706", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking libloading v0.8.5
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling cc v1.1.20
[INFO] [stderr]    Compiling rustix v0.38.37
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling wayland-sys v0.31.5
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking allocator-api2 v0.2.18
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking bytes v1.7.1
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking scoped-tls v1.0.1
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling wayland-client v0.31.6
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking tokio v1.40.0
[INFO] [stderr]    Compiling quick-xml v0.36.1
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling syn v2.0.77
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling openssl v0.10.66
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling wayland-backend v0.3.7
[INFO] [stderr]    Compiling openssl-sys v0.9.103
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]    Compiling naga v22.1.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]     Checking unicode-width v0.1.13
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]    Compiling ash v0.38.0+1.3.281
[INFO] [stderr]    Compiling wayland-scanner v0.31.5
[INFO] [stderr]    Compiling anyhow v1.0.89
[INFO] [stderr]     Checking bit-vec v0.7.0
[INFO] [stderr]     Checking bit-set v0.6.0
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling wgpu-hal v22.0.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking regex-syntax v0.8.4
[INFO] [stderr]     Checking unicode-xid v0.2.5
[INFO] [stderr]     Checking strict-num v0.1.1
[INFO] [stderr]     Checking ttf-parser v0.25.0
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]    Compiling smithay-client-toolkit v0.18.1
[INFO] [stderr]     Checking cursor-icon v1.1.0
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]     Checking xcursor v0.3.8
[INFO] [stderr]     Checking xkeysym v0.2.1
[INFO] [stderr]     Checking regex-automata v0.4.7
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.93
[INFO] [stderr]     Checking unicode-normalization v0.1.24
[INFO] [stderr]     Checking tokio-util v0.7.12
[INFO] [stderr]     Checking owned_ttf_parser v0.25.0
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]    Compiling wgpu-core v22.1.0
[INFO] [stderr]     Checking wgpu-types v22.0.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.93
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]     Checking profiling v1.0.15
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking unicode-bidi v0.3.17
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling bytemuck_derive v1.6.0
[INFO] [stderr]     Checking polling v3.7.3
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.93
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking thiserror v1.0.63
[INFO] [stderr]     Checking bytemuck v1.18.0
[INFO] [stderr]     Checking calloop v0.12.4
[INFO] [stderr]     Checking glow v0.13.1
[INFO] [stderr]    Compiling document-features v0.2.10
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking miniz_oxide v0.7.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking wasm-bindgen v0.2.93
[INFO] [stderr]     Checking indexmap v2.5.0
[INFO] [stderr]     Checking gpu-descriptor v0.3.0
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking regex v1.10.6
[INFO] [stderr]     Checking wayland-protocols v0.31.2
[INFO] [stderr]     Checking calloop-wayland-source v0.2.0
[INFO] [stderr]     Checking wayland-cursor v0.31.6
[INFO] [stderr]     Checking h2 v0.4.6
[INFO] [stderr]     Checking anstyle-parse v0.2.5
[INFO] [stderr]     Checking ab_glyph v0.2.29
[INFO] [stderr]     Checking flate2 v1.0.33
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling winit v0.29.15
[INFO] [stderr]    Compiling wgpu v22.1.0
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling cgmath v0.18.0
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking anstyle v1.0.8
[INFO] [stderr]     Checking anstyle-query v1.1.1
[INFO] [stderr]     Checking rustls-pki-types v1.9.0
[INFO] [stderr]     Checking colorchoice v1.0.2
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking x11rb-protocol v0.13.1
[INFO] [stderr]    Compiling GameDemo v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking zune-jpeg v0.4.13
[INFO] [stderr]     Checking anstream v0.6.15
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking hyper v1.4.1
[INFO] [stderr]     Checking url v2.5.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking js-sys v0.3.70
[INFO] [stderr]     Checking env_filter v0.1.2
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking sync_wrapper v1.0.1
[INFO] [stderr]     Checking hyper-util v0.1.9
[INFO] [stderr]     Checking wayland-protocols-wlr v0.2.0
[INFO] [stderr]     Checking wayland-protocols-plasma v0.2.0
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking encoding_rs v0.8.34
[INFO] [stderr]     Checking raw-window-handle v0.5.2
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking ipnet v2.10.1
[INFO] [stderr]     Checking image v0.25.2
[INFO] [stderr]     Checking env_logger v0.11.5
[INFO] [stderr]     Checking reqwest v0.12.8
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking sctk-adwaita v0.8.3
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]     Checking web-sys v0.3.70
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking pollster v0.3.0
[INFO] [stderr]     Checking tobj v4.0.2
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stdout] warning: unused imports: `Vector2` and `Vector3`
[INFO] [stdout]  --> src/constants.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use cgmath::{Vector2, Vector3};
[INFO] [stdout]   |              ^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/greedy_mesher.rs:156:26
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 for i in (0..height) {
[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] 156 -                 for i in (0..height) {
[INFO] [stdout] 156 +                 for i in 0..height  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/greedy_mesher.rs:157:30
[INFO] [stdout]     |
[INFO] [stdout] 157 |                     for j in (0..width) {
[INFO] [stdout]     |                              ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 157 -                     for j in (0..width) {
[INFO] [stdout] 157 +                     for j in 0..width  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Vector2` and `Vector3`
[INFO] [stdout]  --> src/constants.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use cgmath::{Vector2, Vector3};
[INFO] [stdout]   |              ^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/greedy_mesher.rs:156:26
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 for i in (0..height) {
[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] 156 -                 for i in (0..height) {
[INFO] [stdout] 156 +                 for i in 0..height  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/greedy_mesher.rs:157:30
[INFO] [stdout]     |
[INFO] [stdout] 157 |                     for j in (0..width) {
[INFO] [stdout]     |                              ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 157 -                     for j in (0..width) {
[INFO] [stdout] 157 +                     for j in 0..width  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/greedy_mesher.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use cgmath::{Array, Vector3, Zero};
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_chunk_position`
[INFO] [stdout]    --> src/wgpulib.rs:627:13
[INFO] [stdout]     |
[INFO] [stdout] 627 |         let player_chunk_position = get_chunk_pos_from_world(self.camera.position.to_vec());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_chunk_position`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/greedy_mesher.rs:161:37
[INFO] [stdout]     |
[INFO] [stdout] 161 | ...                   let mut voxel_index =
[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/greedy_mesher.rs:170:37
[INFO] [stdout]     |
[INFO] [stdout] 170 | ...                   let mut voxel_index =
[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/greedy_mesher.rs:178:37
[INFO] [stdout]     |
[INFO] [stdout] 178 | ...                   let mut voxel_index =
[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/greedy_mesher.rs:186:37
[INFO] [stdout]     |
[INFO] [stdout] 186 | ...                   let mut voxel_index =
[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/greedy_mesher.rs:194:37
[INFO] [stdout]     |
[INFO] [stdout] 194 | ...                   let mut voxel_index =
[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/greedy_mesher.rs:203:37
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...                   let mut voxel_index =
[INFO] [stdout]     |                           ----^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lod`
[INFO] [stdout]   --> src/greedy_mesher.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     lod: Lod,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_lod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/greedy_mesher.rs:394:20
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub fn unload_data(mut world_data: WorldData) {
[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/greedy_mesher.rs:418:5
[INFO] [stdout]     |
[INFO] [stdout] 418 |     mut world_data: &mut WorldData,
[INFO] [stdout]     |     ----^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `voxel_vector`
[INFO] [stdout]    --> src/greedy_mesher.rs:430:34
[INFO] [stdout]     |
[INFO] [stdout] 430 | ...   |item: Vector3<i32>, voxel_vector: Arc<VoxelVector>, chunks_data: Arc<Mutex<HashMap<Vector3<i32>, Arc<ChunkData>>>>| -> (Vect...
[INFO] [stdout]     |                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_voxel_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunks_data`
[INFO] [stdout]    --> src/greedy_mesher.rs:430:66
[INFO] [stdout]     |
[INFO] [stdout] 430 | ...r: Arc<VoxelVector>, chunks_data: Arc<Mutex<HashMap<Vector3<i32>, Arc<ChunkData>>>>| -> (Vector3<i32>, ChunkData) {
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunks_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/greedy_mesher.rs:445:5
[INFO] [stdout]     |
[INFO] [stdout] 445 |     mut world_data: &mut WorldData,
[INFO] [stdout]     |     ----^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/wgpulib.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct PackedVec3 {
[INFO] [stdout]    |            ^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/wgpulib.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | / #[repr(C)]
[INFO] [stdout] 34 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 35 | | pub struct PackedVec3 {
[INFO] [stdout] 36 | |     pub x: f32,
[INFO] [stdout] 37 | |     pub y: f32,
[INFO] [stdout] 38 | |     pub z: f32,
[INFO] [stdout] 39 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/wgpulib.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct PackedVec2 {
[INFO] [stdout]    |            ^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/wgpulib.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | / #[repr(C)]
[INFO] [stdout] 42 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 43 | | pub struct PackedVec2 {
[INFO] [stdout] 44 | |     pub x: f32,
[INFO] [stdout] 45 | |     pub y: f32,
[INFO] [stdout] 46 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/wgpulib.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct ChunkInstanceRaw {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> src/wgpulib.rs:97:1
[INFO] [stdout]     |
[INFO] [stdout]  97 | / #[repr(C)]
[INFO] [stdout]  98 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable, Debug)]
[INFO] [stdout]  99 | | pub struct ChunkInstanceRaw {
[INFO] [stdout] 100 | |     model: [[f32; 4]; 4],
[INFO] [stdout] 101 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/wgpulib.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | struct CameraUniform {
[INFO] [stdout]     |        ^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> src/wgpulib.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / #[repr(C)]
[INFO] [stdout] 136 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 137 | | struct CameraUniform {
[INFO] [stdout] 138 | |     view_position: [f32; 4],
[INFO] [stdout] 139 | |     view_proj: [[f32; 4]; 4],
[INFO] [stdout] 140 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `place_block_in_front`, `break_block_in_front`, and `unload_chunk` are never used
[INFO] [stdout]    --> src/wgpulib.rs:557:12
[INFO] [stdout]     |
[INFO] [stdout] 261 | impl<'a> State<'a> {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 557 |     pub fn place_block_in_front(&mut self, block_type: u32, distance: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 612 |     pub fn break_block_in_front(&mut self, distance: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 730 |     fn unload_chunk(&mut self, position: Vector3<i32>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_texture` is never used
[INFO] [stdout]     --> src/wgpulib.rs:1514:4
[INFO] [stdout]      |
[INFO] [stdout] 1514 | fn copy_texture(
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rect_direction` is never used
[INFO] [stdout]     --> src/wgpulib.rs:1591:4
[INFO] [stdout]      |
[INFO] [stdout] 1591 | fn get_rect_direction(rect: &Rect) -> &'static str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_rect_directions` is never used
[INFO] [stdout]     --> src/wgpulib.rs:1622:4
[INFO] [stdout]      |
[INFO] [stdout] 1622 | fn print_rect_directions(rects: Vec<Rect>) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sampler` is never read
[INFO] [stdout]  --> src/texture.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Texture {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     pub sampler: wgpu::Sampler,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_rgba_image` is never used
[INFO] [stdout]   --> src/texture.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Texture {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn from_rgba_image(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/vertex_types.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ChunkMeshVertex {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/vertex_types.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | / #[repr(C)]
[INFO] [stdout]  9 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable, Debug)]
[INFO] [stdout] 10 | | pub struct ChunkMeshVertex {
[INFO] [stdout] 11 | |     pub position: PackedVec3,  // 12 bytes for position
[INFO] [stdout] 12 | |     pub tex_coords: PackedVec2, // 8 bytes for texture coordinates
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `translucent` are never read
[INFO] [stdout]  --> src/voxels.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct VoxelType
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] 6 | {
[INFO] [stdout] 7 |     pub name: String,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 8 |     pub texture: TexturePattern,
[INFO] [stdout] 9 |     pub translucent: bool,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_raw` is never used
[INFO] [stdout]  --> src/logger.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn log_raw(record: &str, value: Vector3<i32>)
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_voxel_types` is never used
[INFO] [stdout]   --> src/logger.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn log_voxel_types(record: VoxelVector)
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_chunk` is never used
[INFO] [stdout]   --> src/logger.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn log_chunk(position: Vector3<i32>) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `length`, `is_empty`, `drain`, and `clear` are never used
[INFO] [stdout]   --> src/world_handler.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<T> Queue<T> {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn length(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn is_empty(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn drain(&mut self) -> Vec<T> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn clear(&mut self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `drain`, `clear`, `is_empty`, and `length` are never used
[INFO] [stdout]   --> src/world_handler.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl<T> ArcQueue<T> {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn drain(&self) -> Vec<T> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn clear(&self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn length(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `queue` is never read
[INFO] [stdout]   --> src/world_handler.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct DataWorker<T> {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 97 |     queue: ArcQueue<T>,           // Shared queue for incoming items
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `enqueue` is never used
[INFO] [stdout]    --> src/world_handler.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl<T: Send + 'static> DataWorker<T> {
[INFO] [stdout]     | ------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn enqueue(&self, item: T) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `queue` is never read
[INFO] [stdout]    --> src/world_handler.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct MeshWorker<T> {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 143 |     queue: ArcQueue<T>,           // Shared queue for incoming items
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `enqueue` is never used
[INFO] [stdout]    --> src/world_handler.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 147 | impl<T: Send + 'static + Clone> MeshWorker<T> {
[INFO] [stdout]     | --------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn enqueue(&self, item: T) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_voxel_no_neighbour`, `get_adjacent_voxels`, `get_von_neumann`, and `get_2` are never used
[INFO] [stdout]   --> src/chunks_refs.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl ChunksRefs {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn get_voxel_no_neighbour(&self, pos: Vector3<i32>) -> &u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn get_adjacent_voxels(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn get_von_neumann(&self, pos: Vector3<i32>) -> Option<Vec<(Direction, &u32)>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn get_2(&self, pos: Vector3<i32>, offset: Vector3<i32>) -> (&u32, &u32) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `index_to_vector3i_bounds_reverse` is never used
[INFO] [stdout]    --> src/chunks_refs.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn index_to_vector3i_bounds_reverse(i: i32, bounds: i32) -> Vector3<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHUNK_SIZE_P2` is never used
[INFO] [stdout]  --> src/constants.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const CHUNK_SIZE_P2: usize = CHUNK_SIZE_P * CHUNK_SIZE_P;
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHUNK_SIZE_P3` is never used
[INFO] [stdout]  --> src/constants.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const CHUNK_SIZE_P3: usize = CHUNK_SIZE_P * CHUNK_SIZE_P * CHUNK_SIZE_P;
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHUNK_SIZE2_I32` is never used
[INFO] [stdout]   --> src/constants.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const CHUNK_SIZE2_I32: i32 = CHUNK_SIZE2 as i32;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/quad.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Direction {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_normal` and `get_opposite` are never used
[INFO] [stdout]   --> src/quad.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Direction {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 14 |     pub fn get_normal(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn get_opposite(self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Quad` is never constructed
[INFO] [stdout]   --> src/quad.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Quad {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_direction` is never used
[INFO] [stdout]   --> src/quad.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Quad {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn from_direction(direction: Direction, pos: Vector3<i32>, color: [f32; 3]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `normal_index`, `air_sample_dir`, `world_to_sample`, `reverse_order`, and `negate_axis` are never used
[INFO] [stdout]   --> src/face_direction.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl FaceDir {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 15 |     pub fn normal_index(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn air_sample_dir(&self) -> Vector3<i32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn world_to_sample(&self, axis: i32, x: i32, y: i32, _lod: &Lod) -> Vector3<i32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn reverse_order(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn negate_axis(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unload_all_meshes` is never used
[INFO] [stdout]    --> src/greedy_mesher.rs:373:12
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl WorldData {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 373 |     pub fn unload_all_meshes(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unload_data` is never used
[INFO] [stdout]    --> src/greedy_mesher.rs:394:8
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub fn unload_data(mut world_data: WorldData) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `L16`, `L8`, `L4`, and `L2` are never constructed
[INFO] [stdout]  --> src/lod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Lod {
[INFO] [stdout]   |          --- variants in this enum
[INFO] [stdout] 3 |     L32,
[INFO] [stdout] 4 |     L16,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 5 |     L8,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 6 |     L4,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 7 |     L2,
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Lod` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `jump_index` are never used
[INFO] [stdout]   --> src/lod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Lod {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] 11 |     ///! the amount of voxels per axis
[INFO] [stdout] 12 |     pub fn size(&self) -> i32 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn jump_index(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/greedy_mesher.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use cgmath::{Array, Vector3, Zero};
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_chunk_position`
[INFO] [stdout]    --> src/wgpulib.rs:627:13
[INFO] [stdout]     |
[INFO] [stdout] 627 |         let player_chunk_position = get_chunk_pos_from_world(self.camera.position.to_vec());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_chunk_position`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/greedy_mesher.rs:161:37
[INFO] [stdout]     |
[INFO] [stdout] 161 | ...                   let mut voxel_index =
[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/greedy_mesher.rs:170:37
[INFO] [stdout]     |
[INFO] [stdout] 170 | ...                   let mut voxel_index =
[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/greedy_mesher.rs:178:37
[INFO] [stdout]     |
[INFO] [stdout] 178 | ...                   let mut voxel_index =
[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/greedy_mesher.rs:186:37
[INFO] [stdout]     |
[INFO] [stdout] 186 | ...                   let mut voxel_index =
[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/greedy_mesher.rs:194:37
[INFO] [stdout]     |
[INFO] [stdout] 194 | ...                   let mut voxel_index =
[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/greedy_mesher.rs:203:37
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...                   let mut voxel_index =
[INFO] [stdout]     |                           ----^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lod`
[INFO] [stdout]   --> src/greedy_mesher.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     lod: Lod,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_lod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/greedy_mesher.rs:394:20
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub fn unload_data(mut world_data: WorldData) {
[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/greedy_mesher.rs:418:5
[INFO] [stdout]     |
[INFO] [stdout] 418 |     mut world_data: &mut WorldData,
[INFO] [stdout]     |     ----^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `voxel_vector`
[INFO] [stdout]    --> src/greedy_mesher.rs:430:34
[INFO] [stdout]     |
[INFO] [stdout] 430 | ...   |item: Vector3<i32>, voxel_vector: Arc<VoxelVector>, chunks_data: Arc<Mutex<HashMap<Vector3<i32>, Arc<ChunkData>>>>| -> (Vect...
[INFO] [stdout]     |                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_voxel_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunks_data`
[INFO] [stdout]    --> src/greedy_mesher.rs:430:66
[INFO] [stdout]     |
[INFO] [stdout] 430 | ...r: Arc<VoxelVector>, chunks_data: Arc<Mutex<HashMap<Vector3<i32>, Arc<ChunkData>>>>| -> (Vector3<i32>, ChunkData) {
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunks_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/greedy_mesher.rs:445:5
[INFO] [stdout]     |
[INFO] [stdout] 445 |     mut world_data: &mut WorldData,
[INFO] [stdout]     |     ----^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/wgpulib.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct PackedVec3 {
[INFO] [stdout]    |            ^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/wgpulib.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | / #[repr(C)]
[INFO] [stdout] 34 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 35 | | pub struct PackedVec3 {
[INFO] [stdout] 36 | |     pub x: f32,
[INFO] [stdout] 37 | |     pub y: f32,
[INFO] [stdout] 38 | |     pub z: f32,
[INFO] [stdout] 39 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/wgpulib.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct PackedVec2 {
[INFO] [stdout]    |            ^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/wgpulib.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | / #[repr(C)]
[INFO] [stdout] 42 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 43 | | pub struct PackedVec2 {
[INFO] [stdout] 44 | |     pub x: f32,
[INFO] [stdout] 45 | |     pub y: f32,
[INFO] [stdout] 46 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/wgpulib.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct ChunkInstanceRaw {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> src/wgpulib.rs:97:1
[INFO] [stdout]     |
[INFO] [stdout]  97 | / #[repr(C)]
[INFO] [stdout]  98 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable, Debug)]
[INFO] [stdout]  99 | | pub struct ChunkInstanceRaw {
[INFO] [stdout] 100 | |     model: [[f32; 4]; 4],
[INFO] [stdout] 101 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/wgpulib.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | struct CameraUniform {
[INFO] [stdout]     |        ^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> src/wgpulib.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / #[repr(C)]
[INFO] [stdout] 136 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 137 | | struct CameraUniform {
[INFO] [stdout] 138 | |     view_position: [f32; 4],
[INFO] [stdout] 139 | |     view_proj: [[f32; 4]; 4],
[INFO] [stdout] 140 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `place_block_in_front`, `break_block_in_front`, and `unload_chunk` are never used
[INFO] [stdout]    --> src/wgpulib.rs:557:12
[INFO] [stdout]     |
[INFO] [stdout] 261 | impl<'a> State<'a> {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 557 |     pub fn place_block_in_front(&mut self, block_type: u32, distance: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 612 |     pub fn break_block_in_front(&mut self, distance: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 730 |     fn unload_chunk(&mut self, position: Vector3<i32>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_texture` is never used
[INFO] [stdout]     --> src/wgpulib.rs:1514:4
[INFO] [stdout]      |
[INFO] [stdout] 1514 | fn copy_texture(
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rect_direction` is never used
[INFO] [stdout]     --> src/wgpulib.rs:1591:4
[INFO] [stdout]      |
[INFO] [stdout] 1591 | fn get_rect_direction(rect: &Rect) -> &'static str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_rect_directions` is never used
[INFO] [stdout]     --> src/wgpulib.rs:1622:4
[INFO] [stdout]      |
[INFO] [stdout] 1622 | fn print_rect_directions(rects: Vec<Rect>) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sampler` is never read
[INFO] [stdout]  --> src/texture.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Texture {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     pub sampler: wgpu::Sampler,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_rgba_image` is never used
[INFO] [stdout]   --> src/texture.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Texture {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn from_rgba_image(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/vertex_types.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ChunkMeshVertex {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/vertex_types.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | / #[repr(C)]
[INFO] [stdout]  9 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable, Debug)]
[INFO] [stdout] 10 | | pub struct ChunkMeshVertex {
[INFO] [stdout] 11 | |     pub position: PackedVec3,  // 12 bytes for position
[INFO] [stdout] 12 | |     pub tex_coords: PackedVec2, // 8 bytes for texture coordinates
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `translucent` are never read
[INFO] [stdout]  --> src/voxels.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct VoxelType
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] 6 | {
[INFO] [stdout] 7 |     pub name: String,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 8 |     pub texture: TexturePattern,
[INFO] [stdout] 9 |     pub translucent: bool,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_raw` is never used
[INFO] [stdout]  --> src/logger.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn log_raw(record: &str, value: Vector3<i32>)
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_voxel_types` is never used
[INFO] [stdout]   --> src/logger.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn log_voxel_types(record: VoxelVector)
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_chunk` is never used
[INFO] [stdout]   --> src/logger.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn log_chunk(position: Vector3<i32>) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `length`, `is_empty`, `drain`, and `clear` are never used
[INFO] [stdout]   --> src/world_handler.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<T> Queue<T> {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn length(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn is_empty(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn drain(&mut self) -> Vec<T> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn clear(&mut self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `drain`, `clear`, `is_empty`, and `length` are never used
[INFO] [stdout]   --> src/world_handler.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl<T> ArcQueue<T> {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn drain(&self) -> Vec<T> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn clear(&self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn length(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `queue` is never read
[INFO] [stdout]   --> src/world_handler.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct DataWorker<T> {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 97 |     queue: ArcQueue<T>,           // Shared queue for incoming items
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `enqueue` is never used
[INFO] [stdout]    --> src/world_handler.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl<T: Send + 'static> DataWorker<T> {
[INFO] [stdout]     | ------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn enqueue(&self, item: T) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `queue` is never read
[INFO] [stdout]    --> src/world_handler.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct MeshWorker<T> {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 143 |     queue: ArcQueue<T>,           // Shared queue for incoming items
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `enqueue` is never used
[INFO] [stdout]    --> src/world_handler.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 147 | impl<T: Send + 'static + Clone> MeshWorker<T> {
[INFO] [stdout]     | --------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn enqueue(&self, item: T) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_voxel_no_neighbour`, `get_adjacent_voxels`, `get_von_neumann`, and `get_2` are never used
[INFO] [stdout]   --> src/chunks_refs.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl ChunksRefs {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn get_voxel_no_neighbour(&self, pos: Vector3<i32>) -> &u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn get_adjacent_voxels(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn get_von_neumann(&self, pos: Vector3<i32>) -> Option<Vec<(Direction, &u32)>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn get_2(&self, pos: Vector3<i32>, offset: Vector3<i32>) -> (&u32, &u32) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `index_to_vector3i_bounds_reverse` is never used
[INFO] [stdout]    --> src/chunks_refs.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn index_to_vector3i_bounds_reverse(i: i32, bounds: i32) -> Vector3<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHUNK_SIZE_P2` is never used
[INFO] [stdout]  --> src/constants.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const CHUNK_SIZE_P2: usize = CHUNK_SIZE_P * CHUNK_SIZE_P;
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHUNK_SIZE_P3` is never used
[INFO] [stdout]  --> src/constants.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const CHUNK_SIZE_P3: usize = CHUNK_SIZE_P * CHUNK_SIZE_P * CHUNK_SIZE_P;
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHUNK_SIZE2_I32` is never used
[INFO] [stdout]   --> src/constants.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const CHUNK_SIZE2_I32: i32 = CHUNK_SIZE2 as i32;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/quad.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Direction {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_normal` and `get_opposite` are never used
[INFO] [stdout]   --> src/quad.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Direction {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 14 |     pub fn get_normal(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn get_opposite(self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Quad` is never constructed
[INFO] [stdout]   --> src/quad.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Quad {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_direction` is never used
[INFO] [stdout]   --> src/quad.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Quad {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn from_direction(direction: Direction, pos: Vector3<i32>, color: [f32; 3]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `normal_index`, `air_sample_dir`, `world_to_sample`, `reverse_order`, and `negate_axis` are never used
[INFO] [stdout]   --> src/face_direction.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl FaceDir {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 15 |     pub fn normal_index(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn air_sample_dir(&self) -> Vector3<i32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn world_to_sample(&self, axis: i32, x: i32, y: i32, _lod: &Lod) -> Vector3<i32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn reverse_order(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn negate_axis(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unload_all_meshes` is never used
[INFO] [stdout]    --> src/greedy_mesher.rs:373:12
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl WorldData {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 373 |     pub fn unload_all_meshes(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unload_data` is never used
[INFO] [stdout]    --> src/greedy_mesher.rs:394:8
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub fn unload_data(mut world_data: WorldData) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `L16`, `L8`, `L4`, and `L2` are never constructed
[INFO] [stdout]  --> src/lod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Lod {
[INFO] [stdout]   |          --- variants in this enum
[INFO] [stdout] 3 |     L32,
[INFO] [stdout] 4 |     L16,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 5 |     L8,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 6 |     L4,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 7 |     L2,
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Lod` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `jump_index` are never used
[INFO] [stdout]   --> src/lod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Lod {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] 11 |     ///! the amount of voxels per axis
[INFO] [stdout] 12 |     pub fn size(&self) -> i32 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn jump_index(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 22s
[INFO] running `Command { std: "docker" "inspect" "ff5789c4a79da23a00767f3abe70eef3cae8adfb5214461bc73bde4c7ac35706", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff5789c4a79da23a00767f3abe70eef3cae8adfb5214461bc73bde4c7ac35706", kill_on_drop: false }`
[INFO] [stdout] ff5789c4a79da23a00767f3abe70eef3cae8adfb5214461bc73bde4c7ac35706
