[INFO] cloning repository https://github.com/mkualquiera/mkcraft
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mkualquiera/mkcraft" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmkualquiera%2Fmkcraft", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmkualquiera%2Fmkcraft'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 342b46432fc1da19537e4f249301a783297b2692
[INFO] checking mkualquiera/mkcraft against master#6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd for pr-153721
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmkualquiera%2Fmkcraft" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mkualquiera/mkcraft
[INFO] finished tweaking git repo https://github.com/mkualquiera/mkcraft
[INFO] tweaked toml for git repo https://github.com/mkualquiera/mkcraft written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mkualquiera/mkcraft on toolchain 6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mkualquiera/mkcraft 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" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded paste-impl v0.1.18
[INFO] [stderr]   Downloaded simdeez v1.0.8
[INFO] [stderr]   Downloaded ultraviolet v0.10.0
[INFO] [stderr]   Downloaded simdnoise v3.1.6
[INFO] [stderr]   Downloaded paste v0.1.18
[INFO] [stderr]   Downloaded chlorine v1.0.13
[INFO] [stderr]   Downloaded bitfrob v1.3.2
[INFO] [stderr]   Downloaded beryllium v0.13.3
[INFO] [stderr]   Downloaded gl33 v0.2.1
[INFO] [stderr]   Downloaded bool32 v0.1.1
[INFO] [stderr]   Downloaded ptr_iter v0.1.1
[INFO] [stderr]   Downloaded pixel_formats v0.1.5
[INFO] [stderr]   Downloaded zstring v0.2.4
[INFO] [stderr]   Downloaded pack1 v0.1.1
[INFO] [stderr]   Downloaded imagine v0.5.1
[INFO] [stderr]   Downloaded png_filters v0.1.2
[INFO] [stderr]   Downloaded fermium v22605.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0243c6cd1a5f4814a3cb7c06cba7b96799a27ecc371badb2d8ead52bca4ba33b
[INFO] running `Command { std: "docker" "start" "0243c6cd1a5f4814a3cb7c06cba7b96799a27ecc371badb2d8ead52bca4ba33b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0243c6cd1a5f4814a3cb7c06cba7b96799a27ecc371badb2d8ead52bca4ba33b" "/opt/rustwide/cargo-home/bin/cargo" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0243c6cd1a5f4814a3cb7c06cba7b96799a27ecc371badb2d8ead52bca4ba33b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0243c6cd1a5f4814a3cb7c06cba7b96799a27ecc371badb2d8ead52bca4ba33b" "/opt/rustwide/cargo-home/bin/cargo" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]    Compiling fermium v22605.0.0
[INFO] [stderr]     Checking bitfrob v1.3.2
[INFO] [stderr]     Checking fast-srgb8 v1.0.0
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]     Checking ptr_iter v0.1.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking bool32 v0.1.1
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]    Compiling paste-impl v0.1.18
[INFO] [stderr]     Checking png_filters v0.1.2
[INFO] [stderr]     Checking chlorine v1.0.13
[INFO] [stderr]     Checking gl33 v0.2.1
[INFO] [stderr]     Checking zstring v0.2.4
[INFO] [stderr]     Checking paste v0.1.18
[INFO] [stderr]     Checking simdeez v1.0.8
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking simdnoise v3.1.6
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]    Compiling bytemuck_derive v1.9.3
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]     Checking tokio v1.45.1
[INFO] [stderr]     Checking bytemuck v1.23.0
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking pixel_formats v0.1.5
[INFO] [stderr]     Checking pack1 v0.1.1
[INFO] [stderr]     Checking imagine v0.5.1
[INFO] [stderr]     Checking beryllium v0.13.3
[INFO] [stderr]     Checking wide v0.7.32
[INFO] [stderr]     Checking ultraviolet v0.10.0
[INFO] [stderr]     Checking mkcraft v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/akasha/mod.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 |     sync::{Arc, Mutex, RwLock},
[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 imports: `DefaultHasher`, `Hash`, and `RwLockWriteGuard`
[INFO] [stdout]  --> src/world.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     hash::{DefaultHasher, Hash, Hasher},
[INFO] [stdout]   |            ^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 4 |     sync::{Arc, RwLock, RwLockWriteGuard},
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SeedableRng`
[INFO] [stdout]  --> src/world.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{Rng, SeedableRng};
[INFO] [stdout]   |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `simdnoise::NoiseBuilder`
[INFO] [stdout]  --> src/world.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use simdnoise::NoiseBuilder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/world.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::akasha::{self, Akasha, AkashaChunk, ChunkNoises};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/akasha/mod.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 |     sync::{Arc, Mutex, RwLock},
[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 imports: `DefaultHasher`, `Hash`, and `RwLockWriteGuard`
[INFO] [stdout]  --> src/world.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     hash::{DefaultHasher, Hash, Hasher},
[INFO] [stdout]   |            ^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 4 |     sync::{Arc, RwLock, RwLockWriteGuard},
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SeedableRng`
[INFO] [stdout]  --> src/world.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{Rng, SeedableRng};
[INFO] [stdout]   |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `simdnoise::NoiseBuilder`
[INFO] [stdout]  --> src/world.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use simdnoise::NoiseBuilder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/world.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::akasha::{self, Akasha, AkashaChunk, ChunkNoises};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/akasha/decoration/tree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hasher`
[INFO] [stdout]  --> src/world.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 |     hash::{DefaultHasher, Hash, Hasher},
[INFO] [stdout]   |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/akasha/decoration/tree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hasher`
[INFO] [stdout]  --> src/world.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 |     hash::{DefaultHasher, Hash, Hasher},
[INFO] [stdout]   |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/akasha/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn new(x: i32, y: i32, z: i32) -> Self {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min`
[INFO] [stdout]   --> src/akasha/mod.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (dirt_noise, min, max) = NoiseBuilder::fbm_2d_offset(
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max`
[INFO] [stdout]   --> src/akasha/mod.rs:62:31
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (dirt_noise, min, max) = NoiseBuilder::fbm_2d_offset(
[INFO] [stdout]    |                               ^^^ help: if this is intentional, prefix it with an underscore: `_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/akasha/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn new(x: i32, y: i32, z: i32) -> Self {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min`
[INFO] [stdout]   --> src/akasha/mod.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (dirt_noise, min, max) = NoiseBuilder::fbm_2d_offset(
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max`
[INFO] [stdout]   --> src/akasha/mod.rs:62:31
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (dirt_noise, min, max) = NoiseBuilder::fbm_2d_offset(
[INFO] [stdout]    |                               ^^^ help: if this is intentional, prefix it with an underscore: `_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `queued_meshes` is assigned to, but never used
[INFO] [stdout]    --> src/tessellator.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let mut queued_meshes = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_queued_meshes` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `queued_meshes` is never read
[INFO] [stdout]    --> src/tessellator.rs:396:33
[INFO] [stdout]     |
[INFO] [stdout] 396 | ...                   queued_meshes += 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 `queued_meshes` is assigned to, but never used
[INFO] [stdout]    --> src/tessellator.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let mut queued_meshes = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_queued_meshes` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `queued_meshes` is never read
[INFO] [stdout]    --> src/tessellator.rs:396:33
[INFO] [stdout]     |
[INFO] [stdout] 396 | ...                   queued_meshes += 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: `i`
[INFO] [stdout]    --> src/text.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |         for i in 0..4 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/text.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |         for i in 0..4 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/tile.rs:18:60
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn occludes_geometry(&self, render_layer: RenderLayer, target: u8) -> bool {
[INFO] [stdout]    |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/tile.rs:319:60
[INFO] [stdout]     |
[INFO] [stdout] 319 |     fn occludes_geometry(&self, render_layer: RenderLayer, target: u8) -> bool {
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/tile.rs:335:60
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn occludes_geometry(&self, render_layer: RenderLayer, target: u8) -> bool {
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/tile.rs:356:60
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn occludes_geometry(&self, render_layer: RenderLayer, target: u8) -> bool {
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/tile.rs:404:60
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn occludes_geometry(&self, render_layer: RenderLayer, target: u8) -> bool {
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/tile.rs:18:60
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn occludes_geometry(&self, render_layer: RenderLayer, target: u8) -> bool {
[INFO] [stdout]    |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global_x`
[INFO] [stdout]   --> src/world.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |                     let global_x = basis_x * CHUNK_SIZE_X + x as i32;
[INFO] [stdout]    |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_global_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global_z`
[INFO] [stdout]   --> src/world.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |                     let global_z = basis_z * CHUNK_SIZE_X + z as i32;
[INFO] [stdout]    |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_global_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/tile.rs:319:60
[INFO] [stdout]     |
[INFO] [stdout] 319 |     fn occludes_geometry(&self, render_layer: RenderLayer, target: u8) -> bool {
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/tile.rs:335:60
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn occludes_geometry(&self, render_layer: RenderLayer, target: u8) -> bool {
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/tile.rs:356:60
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn occludes_geometry(&self, render_layer: RenderLayer, target: u8) -> bool {
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/tile.rs:404:60
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn occludes_geometry(&self, render_layer: RenderLayer, target: u8) -> bool {
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global_x`
[INFO] [stdout]   --> src/world.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |                     let global_x = basis_x * CHUNK_SIZE_X + x as i32;
[INFO] [stdout]    |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_global_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global_z`
[INFO] [stdout]   --> src/world.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |                     let global_z = basis_z * CHUNK_SIZE_X + z as i32;
[INFO] [stdout]    |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_global_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `win_id`
[INFO] [stdout]    --> src/main.rs:233:25
[INFO] [stdout]     |
[INFO] [stdout] 233 |                         win_id,
[INFO] [stdout]     |                         ^^^^^^ help: try ignoring the field: `win_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mouse_id`
[INFO] [stdout]    --> src/main.rs:234:25
[INFO] [stdout]     |
[INFO] [stdout] 234 |                         mouse_id,
[INFO] [stdout]     |                         ^^^^^^^^ help: try ignoring the field: `mouse_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clicks`
[INFO] [stdout]    --> src/main.rs:237:25
[INFO] [stdout]     |
[INFO] [stdout] 237 |                         clicks,
[INFO] [stdout]     |                         ^^^^^^ help: try ignoring the field: `clicks: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:238:25
[INFO] [stdout]     |
[INFO] [stdout] 238 |                         x,
[INFO] [stdout]     |                         ^ help: try ignoring the field: `x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/main.rs:239:25
[INFO] [stdout]     |
[INFO] [stdout] 239 |                         y,
[INFO] [stdout]     |                         ^ help: try ignoring the field: `y: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `win_id`
[INFO] [stdout]    --> src/main.rs:233:25
[INFO] [stdout]     |
[INFO] [stdout] 233 |                         win_id,
[INFO] [stdout]     |                         ^^^^^^ help: try ignoring the field: `win_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mouse_id`
[INFO] [stdout]    --> src/main.rs:234:25
[INFO] [stdout]     |
[INFO] [stdout] 234 |                         mouse_id,
[INFO] [stdout]     |                         ^^^^^^^^ help: try ignoring the field: `mouse_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clicks`
[INFO] [stdout]    --> src/main.rs:237:25
[INFO] [stdout]     |
[INFO] [stdout] 237 |                         clicks,
[INFO] [stdout]     |                         ^^^^^^ help: try ignoring the field: `clicks: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:238:25
[INFO] [stdout]     |
[INFO] [stdout] 238 |                         x,
[INFO] [stdout]     |                         ^ help: try ignoring the field: `x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/main.rs:239:25
[INFO] [stdout]     |
[INFO] [stdout] 239 |                         y,
[INFO] [stdout]     |                         ^ help: try ignoring the field: `y: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ChunkData` is more private than the item `ChunkState::data`
[INFO] [stdout]   --> src/world.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub data: Option<ChunkData>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ChunkState::data` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ChunkData` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/world.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct ChunkData {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ChunkData` is more private than the item `ChunkState::data`
[INFO] [stdout]   --> src/world.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub data: Option<ChunkData>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ChunkState::data` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ChunkData` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/world.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct ChunkData {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `locus_into_seed` is never used
[INFO] [stdout]   --> src/akasha/mod.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn locus_into_seed<T: Hash>(locus: T) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `locus_into_rng` is never used
[INFO] [stdout]   --> src/akasha/mod.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn locus_into_rng<T: Hash>(locus: &T) -> rand::rngs::StdRng {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `noise`, `noise_mountains`, `dirt_noise`, and `variance` are never read
[INFO] [stdout]   --> src/akasha/mod.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ChunkNoises {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 26 |     pub noise: Vec<f32>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 27 |     pub noise_mountains: Vec<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub dirt_noise: Vec<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 29 |     pub variance: Vec<f32>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `trees` is never read
[INFO] [stdout]    --> src/akasha/mod.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct ChunkDecorations {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 113 |     pub trees: Vec<Tree>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `decorations` is never read
[INFO] [stdout]    --> src/akasha/mod.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct AkashaChunk {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 117 |     pub noises: ChunkNoises,
[INFO] [stdout] 118 |     pub decorations: ChunkDecorations,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorldPos` is never constructed
[INFO] [stdout]  --> src/akasha/decoration/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct WorldPos {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `locus_into_seed` is never used
[INFO] [stdout]   --> src/akasha/mod.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn locus_into_seed<T: Hash>(locus: T) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Decoration` is never used
[INFO] [stdout]   --> src/akasha/decoration/mod.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub trait Decoration {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tree_x`, `tree_y`, `tree_z`, and `tree_height` are never read
[INFO] [stdout]  --> src/akasha/decoration/tree.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Tree {
[INFO] [stdout]   |            ---- fields in this struct
[INFO] [stdout] 6 |     tree_x: i32,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 7 |     tree_y: i32,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 8 |     tree_z: i32,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 9 |     tree_height: u32,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `locus_into_rng` is never used
[INFO] [stdout]   --> src/akasha/mod.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn locus_into_rng<T: Hash>(locus: &T) -> rand::rngs::StdRng {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process_keyboard` is never used
[INFO] [stdout]   --> src/camera.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Camera {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn process_keyboard(&mut self, direction: CameraMovement, delta_time: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CameraMovement` is never used
[INFO] [stdout]   --> src/camera.rs:72:10
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub enum CameraMovement {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `noise`, `noise_mountains`, `dirt_noise`, and `variance` are never read
[INFO] [stdout]   --> src/akasha/mod.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ChunkNoises {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 26 |     pub noise: Vec<f32>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 27 |     pub noise_mountains: Vec<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub dirt_noise: Vec<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 29 |     pub variance: Vec<f32>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vbo` is never read
[INFO] [stdout]   --> src/mesh.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Mesh {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 11 |     pub vao: u32,
[INFO] [stdout] 12 |     pub vbo: u32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mesh` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_colors` is never used
[INFO] [stdout]    --> src/mesh.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl Mesh {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn update_colors(&self, gl: &GlFns, colors: &[Color]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `trees` is never read
[INFO] [stdout]    --> src/akasha/mod.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct ChunkDecorations {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 113 |     pub trees: Vec<Tree>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `decorations` is never read
[INFO] [stdout]    --> src/akasha/mod.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct AkashaChunk {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 117 |     pub noises: ChunkNoises,
[INFO] [stdout] 118 |     pub decorations: ChunkDecorations,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorldPos` is never constructed
[INFO] [stdout]  --> src/akasha/decoration/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct WorldPos {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Decoration` is never used
[INFO] [stdout]   --> src/akasha/decoration/mod.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub trait Decoration {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tree_x`, `tree_y`, `tree_z`, and `tree_height` are never read
[INFO] [stdout]  --> src/akasha/decoration/tree.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Tree {
[INFO] [stdout]   |            ---- fields in this struct
[INFO] [stdout] 6 |     tree_x: i32,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 7 |     tree_y: i32,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 8 |     tree_z: i32,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 9 |     tree_height: u32,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process_keyboard` is never used
[INFO] [stdout]   --> src/camera.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Camera {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn process_keyboard(&mut self, direction: CameraMovement, delta_time: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CameraMovement` is never used
[INFO] [stdout]   --> src/camera.rs:72:10
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub enum CameraMovement {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vbo` is never read
[INFO] [stdout]   --> src/mesh.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Mesh {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 11 |     pub vao: u32,
[INFO] [stdout] 12 |     pub vbo: u32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mesh` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_colors` is never used
[INFO] [stdout]    --> src/mesh.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl Mesh {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn update_colors(&self, gl: &GlFns, colors: &[Color]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hit_point`, `uv`, `distance`, and `face` are never read
[INFO] [stdout]   --> src/physics.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct RaycastHit {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 25 |     pub hit_point: [f32; 3],  // Exact hit coordinates (floats)
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub uv: [f32; 2],         // UV coordinates on the hit face (0.0-1.0)
[INFO] [stdout]    |         ^^
[INFO] [stdout] 29 |     pub distance: f32,        // Distance from origin to hit
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 30 |     pub face: usize,          // Which face was hit: 0=X, 1=Y, 2=Z
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `discard_chunk` is never used
[INFO] [stdout]    --> src/physics.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl PhysicsEnvironment {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn discard_chunk(&mut self, chunk_pos: (i32, i32, i32)) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/physics.rs:400:12
[INFO] [stdout]     |
[INFO] [stdout] 399 | impl PhysicsObject {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 400 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_files` and `unset_mat4` are never used
[INFO] [stdout]    --> src/shader.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl Shader {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn from_files(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn unset_mat4(&self, gl: &GlFns, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `discard_chunk` is never used
[INFO] [stdout]    --> src/tessellator.rs:329:12
[INFO] [stdout]     |
[INFO] [stdout] 239 | impl Tessellator {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn discard_chunk(&mut self, chunk_pos: (i32, i32, i32)) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TL`, `TC`, `BC`, `BR`, and `CC` are never constructed
[INFO] [stdout]    --> src/text.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub enum MeshOrigin {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 218 |     TL, // Top Left
[INFO] [stdout]     |     ^^
[INFO] [stdout] 219 |     TC, // Top Center
[INFO] [stdout]     |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     BC, // Bottom Center
[INFO] [stdout]     |     ^^
[INFO] [stdout] 223 |     BR, // Bottom Right
[INFO] [stdout]     |     ^^
[INFO] [stdout] 224 |     CC,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_width` is never used
[INFO] [stdout]    --> src/text.rs:365:8
[INFO] [stdout]     |
[INFO] [stdout] 364 | impl TypesettingElement {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 365 |     fn get_width(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Center` and `Justify` are never constructed
[INFO] [stdout]    --> src/text.rs:376:5
[INFO] [stdout]     |
[INFO] [stdout] 374 | pub enum Alignment {
[INFO] [stdout]     |          --------- variants in this enum
[INFO] [stdout] 375 |     Top, // Would be left in a left-to-right language but here it's top
[INFO] [stdout] 376 |     Center,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 377 |     Bottom, // Would be right in a left-to-right language but here it's bottom
[INFO] [stdout] 378 |     Justify,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Alignment` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_max_width` is never used
[INFO] [stdout]    --> src/text.rs:670:12
[INFO] [stdout]     |
[INFO] [stdout] 658 | impl TextOptions {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 670 |     pub fn set_max_width(mut self, max_width: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `into_syllabic` is never used
[INFO] [stdout]    --> src/text.rs:718:8
[INFO] [stdout]     |
[INFO] [stdout] 718 | pub fn into_syllabic(text: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `create_solid_color` and `unbind` are never used
[INFO] [stdout]   --> src/texture.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Texture {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn create_solid_color(gl: &GlFns, r: u8, g: u8, b: u8, a: u8) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn unbind(&self, gl: &GlFns) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_texture`, `bind_texture`, and `bind_texture_by_name` are never used
[INFO] [stdout]    --> src/texture.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl TextureManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn get_texture(&self, index: usize) -> Option<&Texture> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn bind_texture(&self, gl: &GlFns, index: usize, unit: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn bind_texture_by_name(&self, gl: &GlFns, name: &str, unit: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_formed` is never used
[INFO] [stdout]    --> src/world.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl ChunkState {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn is_formed(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `ensure_chunks` and `get_block` are never used
[INFO] [stdout]    --> src/world.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl World {
[INFO] [stdout]     | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn ensure_chunks(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn get_block(world: &Arc<World>, x: i32, y: i32, z: i32) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains`, `bounds`, and `iter_blocks` are never used
[INFO] [stdout]    --> src/world.rs:472:12
[INFO] [stdout]     |
[INFO] [stdout] 332 | impl WorldView {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 472 |     pub fn contains(&self, x: i32, y: i32, z: i32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 485 |     pub fn bounds(&self) -> ((i32, i32, i32), (i32, i32, i32)) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 499 |     pub fn iter_blocks(&self) -> impl Iterator<Item = (i32, i32, i32, u8)> + '_ {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hit_point`, `uv`, `distance`, and `face` are never read
[INFO] [stdout]   --> src/physics.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct RaycastHit {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 25 |     pub hit_point: [f32; 3],  // Exact hit coordinates (floats)
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub uv: [f32; 2],         // UV coordinates on the hit face (0.0-1.0)
[INFO] [stdout]    |         ^^
[INFO] [stdout] 29 |     pub distance: f32,        // Distance from origin to hit
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 30 |     pub face: usize,          // Which face was hit: 0=X, 1=Y, 2=Z
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `discard_chunk` is never used
[INFO] [stdout]    --> src/physics.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl PhysicsEnvironment {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn discard_chunk(&mut self, chunk_pos: (i32, i32, i32)) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/physics.rs:400:12
[INFO] [stdout]     |
[INFO] [stdout] 399 | impl PhysicsObject {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 400 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_files` and `unset_mat4` are never used
[INFO] [stdout]    --> src/shader.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl Shader {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn from_files(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn unset_mat4(&self, gl: &GlFns, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `discard_chunk` is never used
[INFO] [stdout]    --> src/tessellator.rs:329:12
[INFO] [stdout]     |
[INFO] [stdout] 239 | impl Tessellator {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn discard_chunk(&mut self, chunk_pos: (i32, i32, i32)) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TL`, `TC`, `BC`, `BR`, and `CC` are never constructed
[INFO] [stdout]    --> src/text.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub enum MeshOrigin {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 218 |     TL, // Top Left
[INFO] [stdout]     |     ^^
[INFO] [stdout] 219 |     TC, // Top Center
[INFO] [stdout]     |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     BC, // Bottom Center
[INFO] [stdout]     |     ^^
[INFO] [stdout] 223 |     BR, // Bottom Right
[INFO] [stdout]     |     ^^
[INFO] [stdout] 224 |     CC,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_width` is never used
[INFO] [stdout]    --> src/text.rs:365:8
[INFO] [stdout]     |
[INFO] [stdout] 364 | impl TypesettingElement {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 365 |     fn get_width(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Center` and `Justify` are never constructed
[INFO] [stdout]    --> src/text.rs:376:5
[INFO] [stdout]     |
[INFO] [stdout] 374 | pub enum Alignment {
[INFO] [stdout]     |          --------- variants in this enum
[INFO] [stdout] 375 |     Top, // Would be left in a left-to-right language but here it's top
[INFO] [stdout] 376 |     Center,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 377 |     Bottom, // Would be right in a left-to-right language but here it's bottom
[INFO] [stdout] 378 |     Justify,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Alignment` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_max_width` is never used
[INFO] [stdout]    --> src/text.rs:670:12
[INFO] [stdout]     |
[INFO] [stdout] 658 | impl TextOptions {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 670 |     pub fn set_max_width(mut self, max_width: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `into_syllabic` is never used
[INFO] [stdout]    --> src/text.rs:718:8
[INFO] [stdout]     |
[INFO] [stdout] 718 | pub fn into_syllabic(text: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `create_solid_color` and `unbind` are never used
[INFO] [stdout]   --> src/texture.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Texture {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn create_solid_color(gl: &GlFns, r: u8, g: u8, b: u8, a: u8) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn unbind(&self, gl: &GlFns) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_texture`, `bind_texture`, and `bind_texture_by_name` are never used
[INFO] [stdout]    --> src/texture.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl TextureManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn get_texture(&self, index: usize) -> Option<&Texture> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn bind_texture(&self, gl: &GlFns, index: usize, unit: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn bind_texture_by_name(&self, gl: &GlFns, name: &str, unit: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_formed` is never used
[INFO] [stdout]    --> src/world.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl ChunkState {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn is_formed(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `ensure_chunks` and `get_block` are never used
[INFO] [stdout]    --> src/world.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl World {
[INFO] [stdout]     | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn ensure_chunks(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn get_block(world: &Arc<World>, x: i32, y: i32, z: i32) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains`, `bounds`, and `iter_blocks` are never used
[INFO] [stdout]    --> src/world.rs:472:12
[INFO] [stdout]     |
[INFO] [stdout] 332 | impl WorldView {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 472 |     pub fn contains(&self, x: i32, y: i32, z: i32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 485 |     pub fn bounds(&self) -> ((i32, i32, i32), (i32, i32, i32)) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 499 |     pub fn iter_blocks(&self) -> impl Iterator<Item = (i32, i32, i32, u8)> + '_ {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.54s
[INFO] running `Command { std: "docker" "inspect" "0243c6cd1a5f4814a3cb7c06cba7b96799a27ecc371badb2d8ead52bca4ba33b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0243c6cd1a5f4814a3cb7c06cba7b96799a27ecc371badb2d8ead52bca4ba33b", kill_on_drop: false }`
[INFO] [stdout] 0243c6cd1a5f4814a3cb7c06cba7b96799a27ecc371badb2d8ead52bca4ba33b
