[INFO] cloning repository https://github.com/flafmg/dandelion-classic
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/flafmg/dandelion-classic" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fflafmg%2Fdandelion-classic", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fflafmg%2Fdandelion-classic'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8bf4f6b8eef5c107ef82b98236471129377641f5
[INFO] building flafmg/dandelion-classic against master#ad211ced81509462cdfe4c29ed10f97279a0acae for pr-135216-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fflafmg%2Fdandelion-classic" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/flafmg/dandelion-classic on toolchain ad211ced81509462cdfe4c29ed10f97279a0acae
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad211ced81509462cdfe4c29ed10f97279a0acae" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/flafmg/dandelion-classic
[INFO] finished tweaking git repo https://github.com/flafmg/dandelion-classic
[INFO] tweaked toml for git repo https://github.com/flafmg/dandelion-classic written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad211ced81509462cdfe4c29ed10f97279a0acae" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 179 packages to latest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad211ced81509462cdfe4c29ed10f97279a0acae" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_yaml v0.9.34+deprecated
[INFO] [stderr]   Downloaded async-trait v0.1.85
[INFO] [stderr]   Downloaded noise v0.9.0
[INFO] [stderr]   Downloaded unsafe-libyaml v0.2.11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+ad211ced81509462cdfe4c29ed10f97279a0acae" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cefe3752c413638dac564b4f625060f84aaa6be5cbfc21ebab9a9dab2a06eeca
[INFO] running `Command { std: "docker" "start" "-a" "cefe3752c413638dac564b4f625060f84aaa6be5cbfc21ebab9a9dab2a06eeca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cefe3752c413638dac564b4f625060f84aaa6be5cbfc21ebab9a9dab2a06eeca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cefe3752c413638dac564b4f625060f84aaa6be5cbfc21ebab9a9dab2a06eeca", kill_on_drop: false }`
[INFO] [stdout] cefe3752c413638dac564b4f625060f84aaa6be5cbfc21ebab9a9dab2a06eeca
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+ad211ced81509462cdfe4c29ed10f97279a0acae" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f1a6025366905c4daafe20966925bbae38b6516c21c8817fc87a93e7e2f74181
[INFO] running `Command { std: "docker" "start" "-a" "f1a6025366905c4daafe20966925bbae38b6516c21c8817fc87a93e7e2f74181", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling bytes v1.9.0
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling cc v1.2.7
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling litemap v0.7.4
[INFO] [stderr]    Compiling writeable v0.5.5
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.0
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling icu_properties_data v1.5.0
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]    Compiling http v1.2.0
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling write16 v1.0.0
[INFO] [stderr]    Compiling utf16_iter v1.0.5
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.135
[INFO] [stderr]    Compiling syn v2.0.95
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling socket2 v0.5.8
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling indexmap v2.7.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling rustls-pki-types v1.10.1
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling adler2 v2.0.0
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling miniz_oxide v0.8.2
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling ipnet v2.10.1
[INFO] [stderr]    Compiling rand_xorshift v0.3.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling flate2 v1.0.35
[INFO] [stderr]    Compiling http-body-util v0.1.2
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling async-trait v0.1.85
[INFO] [stderr]    Compiling tokio v1.43.0
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling zerofrom v0.1.5
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling noise v0.9.0
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling tokio-util v0.7.13
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling h2 v0.4.7
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling hyper v1.5.2
[INFO] [stderr]    Compiling hyper-util v0.1.10
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.12
[INFO] [stderr]    Compiling dandelion v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> src/server/game/dmf_map.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 |     io::{self, ErrorKind, Read, Write},
[INFO] [stdout]   |                ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/server/game/dmf_map.rs:31:28
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let total_blocks = (x_size as usize * y_size as usize * z_size as usize);
[INFO] [stdout]    |                            ^                                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 31 -         let total_blocks = (x_size as usize * y_size as usize * z_size as usize);
[INFO] [stdout] 31 +         let total_blocks = x_size as usize * y_size as usize * z_size as usize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/server/game/dmf_map.rs:142:28
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let total_blocks = (x_size as usize * y_size as usize * z_size as usize);
[INFO] [stdout]     |                            ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 142 -         let total_blocks = (x_size as usize * y_size as usize * z_size as usize);
[INFO] [stdout] 142 +         let total_blocks = x_size as usize * y_size as usize * z_size as usize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `config::Config`
[INFO] [stdout]  --> src/server/network/heartbeat.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::server::{config::Config, server::Server};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/server/network/packet.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Mutex`
[INFO] [stdout]  --> src/server/network/packet.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::{io::WriteHalf, net::TcpStream, sync::Mutex};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LevelDataChunkPacket`, `LevelFinalizePacket`, and `LevelInitializePacket`
[INFO] [stdout]  --> src/server/network/packet_resolver.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     DespawnPlayerPacket, LevelDataChunkPacket, LevelFinalizePacket, LevelInitializePacket,
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flate2::write::GzEncoder`
[INFO] [stdout]   --> src/server/network/packet_resolver.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use flate2::write::GzEncoder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flate2::Compression`
[INFO] [stdout]   --> src/server/network/packet_resolver.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use flate2::Compression;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]   --> src/server/network/packet_resolver.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::fmt::format;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/server/network/packet_resolver.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 | use tokio::io::{self, AsyncWriteExt, WriteHalf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::fs`
[INFO] [stdout]  --> src/server/server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::fs;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WriteHalf` and `self`
[INFO] [stdout]  --> src/server/server.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::io::{self, AsyncReadExt, AsyncWriteExt, WriteHalf};
[INFO] [stdout]   |                 ^^^^                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Dimensions`, `MapBuilder`, `NoiseLayer`, and `PresetParams`
[INFO] [stdout]   --> src/server/server.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | use super::map_builder::{Dimensions, MapBuilder, NoiseLayer, PresetParams};
[INFO] [stdout]    |                          ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response_body`
[INFO] [stdout]   --> src/server/network/heartbeat.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let response_body = response.text().await?;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_body`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/network/packet_resolver.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let mut maps = self.server.loaded_maps.clone();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/network/packet_resolver.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |         let mut set_position_packet = SetPositionAndOrientationPacket::new(
[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/server/network/packet_resolver.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let mut player = self
[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/server/network/packet_resolver.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |         let mut send_message_packet = SendMessagePacket::new(player.get_id(), message);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `er`
[INFO] [stdout]    --> src/server/network/packet_resolver.rs:382:28
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 if let Err(er) = socket.write_all(&packet_writer.into_inner()).await {
[INFO] [stdout]     |                            ^^ help: if this is intentional, prefix it with an underscore: `_er`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/server/server.rs:88:10
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let (mut reader, mut writer) = tokio::io::split(socket);
[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/server/server.rs:88:22
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let (mut reader, mut writer) = tokio::io::split(socket);
[INFO] [stdout]    |                      ----^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]   --> src/server/network/packet_resolver.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `writer`
[INFO] [stdout]   --> src/server/network/packets/serverbound.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn write(&mut self, writer: &mut PacketWriter) {}
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket`
[INFO] [stdout]   --> src/server/network/packets/serverbound.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |         socket: &mut WriteHalf<TcpStream>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket`
[INFO] [stdout]    --> src/server/network/packets/serverbound.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |         socket: &mut WriteHalf<TcpStream>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket`
[INFO] [stdout]    --> src/server/network/packets/serverbound.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |         socket: &mut WriteHalf<TcpStream>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_block` are never used
[INFO] [stdout]   --> src/server/game/dmf_map.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl DmfMap {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 23 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn get_block(&self, x: i16, y: i16, z: i16) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_map` is never read
[INFO] [stdout]   --> src/server/game/player.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Player {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub current_map: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Player` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_current_world` is never used
[INFO] [stdout]   --> src/server/game/player.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Player {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_current_world(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MapBuilder` is never constructed
[INFO] [stdout]   --> src/server/map_builder.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MapBuilder;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_map`, `create_flat_map`, `create_noise_map`, and `create_classic_map` are never used
[INFO] [stdout]   --> src/server/map_builder.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl MapBuilder {
[INFO] [stdout]    | --------------- associated functions in this implementation
[INFO] [stdout] 13 |     pub async fn create_map(preset: &str, params: Option<PresetParams>) -> DmfMap {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn create_flat_map(ground_level: u32, dimensions: Dimensions) -> DmfMap {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn create_noise_map(layers: Vec<NoiseLayer>, dimensions: Dimensions) -> DmfMap {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     fn create_classic_map(layers: Vec<NoiseLayer>, dimensions: Dimensions) -> DmfMap {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PresetParams` is never constructed
[INFO] [stdout]    --> src/server/map_builder.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct PresetParams {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PresetParams` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoiseLayer` is never constructed
[INFO] [stdout]    --> src/server/map_builder.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub struct NoiseLayer {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NoiseLayer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dimensions` is never constructed
[INFO] [stdout]    --> src/server/map_builder.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct Dimensions {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Dimensions` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unload_map` is never used
[INFO] [stdout]   --> src/server/maps.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub async fn unload_map(name: &str, maps: Arc<DashMap<String, DmfMap>>) {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_byte_array` is never used
[INFO] [stdout]   --> src/server/network/packet_stream/packet_reader.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 7  | impl<'a> PacketReader<'a> {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn read_byte_array(&mut self, size: usize) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/server/network/packets/clientbound.rs:422:12
[INFO] [stdout]     |
[INFO] [stdout] 421 | impl DisconnectPlayerPacket {
[INFO] [stdout]     | --------------------------- associated function in this implementation
[INFO] [stdout] 422 |     pub fn new(reason: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/server/network/packets/clientbound.rs:457:12
[INFO] [stdout]     |
[INFO] [stdout] 456 | impl UpdateUserTypePacket {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 457 |     pub fn new(user_type: u8) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/game/dmf_map.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         file.flush();
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let _ = file.flush();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/game/player.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         set_position.resolve(&mut socket).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let _ = set_position.resolve(&mut socket).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/game/player.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         message_packet.resolve(&mut socket).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let _ = message_packet.resolve(&mut socket).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/network/packet_resolver.rs:219:17
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 spawn_player.resolve(&mut socket).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 let _ = spawn_player.resolve(&mut socket).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/network/packet_resolver.rs:343:13
[INFO] [stdout]     |
[INFO] [stdout] 343 |             packet.resolve(&mut socket).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 343 |             let _ = packet.resolve(&mut socket).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/network/packet_resolver.rs:366:21
[INFO] [stdout]     |
[INFO] [stdout] 366 |                     packet.resolve(&mut socket).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 366 |                     let _ = packet.resolve(&mut socket).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.57s
[INFO] running `Command { std: "docker" "inspect" "f1a6025366905c4daafe20966925bbae38b6516c21c8817fc87a93e7e2f74181", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1a6025366905c4daafe20966925bbae38b6516c21c8817fc87a93e7e2f74181", kill_on_drop: false }`
[INFO] [stdout] f1a6025366905c4daafe20966925bbae38b6516c21c8817fc87a93e7e2f74181
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+ad211ced81509462cdfe4c29ed10f97279a0acae" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ddf20b1f3e3c563d050b906289abc77c50ee272ca69eea5dfbfc4b2bd4ae3551
[INFO] running `Command { std: "docker" "start" "-a" "ddf20b1f3e3c563d050b906289abc77c50ee272ca69eea5dfbfc4b2bd4ae3551", kill_on_drop: false }`
[INFO] [stderr]    Compiling dandelion v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> src/server/game/dmf_map.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 |     io::{self, ErrorKind, Read, Write},
[INFO] [stdout]   |                ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/server/game/dmf_map.rs:31:28
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let total_blocks = (x_size as usize * y_size as usize * z_size as usize);
[INFO] [stdout]    |                            ^                                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 31 -         let total_blocks = (x_size as usize * y_size as usize * z_size as usize);
[INFO] [stdout] 31 +         let total_blocks = x_size as usize * y_size as usize * z_size as usize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/server/game/dmf_map.rs:142:28
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let total_blocks = (x_size as usize * y_size as usize * z_size as usize);
[INFO] [stdout]     |                            ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 142 -         let total_blocks = (x_size as usize * y_size as usize * z_size as usize);
[INFO] [stdout] 142 +         let total_blocks = x_size as usize * y_size as usize * z_size as usize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `config::Config`
[INFO] [stdout]  --> src/server/network/heartbeat.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::server::{config::Config, server::Server};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/server/network/packet.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Mutex`
[INFO] [stdout]  --> src/server/network/packet.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::{io::WriteHalf, net::TcpStream, sync::Mutex};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LevelDataChunkPacket`, `LevelFinalizePacket`, and `LevelInitializePacket`
[INFO] [stdout]  --> src/server/network/packet_resolver.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     DespawnPlayerPacket, LevelDataChunkPacket, LevelFinalizePacket, LevelInitializePacket,
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flate2::write::GzEncoder`
[INFO] [stdout]   --> src/server/network/packet_resolver.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use flate2::write::GzEncoder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flate2::Compression`
[INFO] [stdout]   --> src/server/network/packet_resolver.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use flate2::Compression;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]   --> src/server/network/packet_resolver.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::fmt::format;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/server/network/packet_resolver.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 | use tokio::io::{self, AsyncWriteExt, WriteHalf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::fs`
[INFO] [stdout]  --> src/server/server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::fs;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WriteHalf` and `self`
[INFO] [stdout]  --> src/server/server.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::io::{self, AsyncReadExt, AsyncWriteExt, WriteHalf};
[INFO] [stdout]   |                 ^^^^                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Dimensions`, `MapBuilder`, `NoiseLayer`, and `PresetParams`
[INFO] [stdout]   --> src/server/server.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | use super::map_builder::{Dimensions, MapBuilder, NoiseLayer, PresetParams};
[INFO] [stdout]    |                          ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response_body`
[INFO] [stdout]   --> src/server/network/heartbeat.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let response_body = response.text().await?;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_body`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/network/packet_resolver.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let mut maps = self.server.loaded_maps.clone();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/network/packet_resolver.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |         let mut set_position_packet = SetPositionAndOrientationPacket::new(
[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/server/network/packet_resolver.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let mut player = self
[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/server/network/packet_resolver.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |         let mut send_message_packet = SendMessagePacket::new(player.get_id(), message);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `er`
[INFO] [stdout]    --> src/server/network/packet_resolver.rs:382:28
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 if let Err(er) = socket.write_all(&packet_writer.into_inner()).await {
[INFO] [stdout]     |                            ^^ help: if this is intentional, prefix it with an underscore: `_er`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/server/server.rs:88:10
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let (mut reader, mut writer) = tokio::io::split(socket);
[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/server/server.rs:88:22
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let (mut reader, mut writer) = tokio::io::split(socket);
[INFO] [stdout]    |                      ----^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]   --> src/server/network/packet_resolver.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `writer`
[INFO] [stdout]   --> src/server/network/packets/serverbound.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn write(&mut self, writer: &mut PacketWriter) {}
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket`
[INFO] [stdout]   --> src/server/network/packets/serverbound.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |         socket: &mut WriteHalf<TcpStream>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket`
[INFO] [stdout]    --> src/server/network/packets/serverbound.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |         socket: &mut WriteHalf<TcpStream>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket`
[INFO] [stdout]    --> src/server/network/packets/serverbound.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |         socket: &mut WriteHalf<TcpStream>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_block` are never used
[INFO] [stdout]   --> src/server/game/dmf_map.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl DmfMap {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 23 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn get_block(&self, x: i16, y: i16, z: i16) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_map` is never read
[INFO] [stdout]   --> src/server/game/player.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Player {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub current_map: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Player` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_current_world` is never used
[INFO] [stdout]   --> src/server/game/player.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Player {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_current_world(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MapBuilder` is never constructed
[INFO] [stdout]   --> src/server/map_builder.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MapBuilder;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_map`, `create_flat_map`, `create_noise_map`, and `create_classic_map` are never used
[INFO] [stdout]   --> src/server/map_builder.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl MapBuilder {
[INFO] [stdout]    | --------------- associated functions in this implementation
[INFO] [stdout] 13 |     pub async fn create_map(preset: &str, params: Option<PresetParams>) -> DmfMap {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn create_flat_map(ground_level: u32, dimensions: Dimensions) -> DmfMap {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn create_noise_map(layers: Vec<NoiseLayer>, dimensions: Dimensions) -> DmfMap {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     fn create_classic_map(layers: Vec<NoiseLayer>, dimensions: Dimensions) -> DmfMap {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PresetParams` is never constructed
[INFO] [stdout]    --> src/server/map_builder.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct PresetParams {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PresetParams` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoiseLayer` is never constructed
[INFO] [stdout]    --> src/server/map_builder.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub struct NoiseLayer {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NoiseLayer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dimensions` is never constructed
[INFO] [stdout]    --> src/server/map_builder.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct Dimensions {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Dimensions` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unload_map` is never used
[INFO] [stdout]   --> src/server/maps.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub async fn unload_map(name: &str, maps: Arc<DashMap<String, DmfMap>>) {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_byte_array` is never used
[INFO] [stdout]   --> src/server/network/packet_stream/packet_reader.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 7  | impl<'a> PacketReader<'a> {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn read_byte_array(&mut self, size: usize) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/server/network/packets/clientbound.rs:422:12
[INFO] [stdout]     |
[INFO] [stdout] 421 | impl DisconnectPlayerPacket {
[INFO] [stdout]     | --------------------------- associated function in this implementation
[INFO] [stdout] 422 |     pub fn new(reason: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/server/network/packets/clientbound.rs:457:12
[INFO] [stdout]     |
[INFO] [stdout] 456 | impl UpdateUserTypePacket {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 457 |     pub fn new(user_type: u8) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/game/dmf_map.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         file.flush();
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let _ = file.flush();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/game/player.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         set_position.resolve(&mut socket).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let _ = set_position.resolve(&mut socket).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/game/player.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         message_packet.resolve(&mut socket).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let _ = message_packet.resolve(&mut socket).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/network/packet_resolver.rs:219:17
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 spawn_player.resolve(&mut socket).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 let _ = spawn_player.resolve(&mut socket).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/network/packet_resolver.rs:343:13
[INFO] [stdout]     |
[INFO] [stdout] 343 |             packet.resolve(&mut socket).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 343 |             let _ = packet.resolve(&mut socket).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/network/packet_resolver.rs:366:21
[INFO] [stdout]     |
[INFO] [stdout] 366 |                     packet.resolve(&mut socket).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 366 |                     let _ = packet.resolve(&mut socket).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.23s
[INFO] running `Command { std: "docker" "inspect" "ddf20b1f3e3c563d050b906289abc77c50ee272ca69eea5dfbfc4b2bd4ae3551", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ddf20b1f3e3c563d050b906289abc77c50ee272ca69eea5dfbfc4b2bd4ae3551", kill_on_drop: false }`
[INFO] [stdout] ddf20b1f3e3c563d050b906289abc77c50ee272ca69eea5dfbfc4b2bd4ae3551
