[INFO] cloning repository https://github.com/FerrousMC/Ferrous
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/FerrousMC/Ferrous" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFerrousMC%2FFerrous", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFerrousMC%2FFerrous'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4f3206b2f4355056b6f828e9ea0a731b9dbfaf2e
[INFO] checking FerrousMC/Ferrous against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFerrousMC%2FFerrous" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/FerrousMC/Ferrous
[INFO] finished tweaking git repo https://github.com/FerrousMC/Ferrous
[INFO] tweaked toml for git repo https://github.com/FerrousMC/Ferrous written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/FerrousMC/Ferrous on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/FerrousMC/Ferrous already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
[INFO] [stderr]   See https://doc.rust-lang.org/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded colored v2.0.0
[INFO] [stderr]   Downloaded anyhow v1.0.57
[INFO] [stderr]   Downloaded cfb8 v0.8.1
[INFO] [stderr]   Downloaded uuid-macro-internal v1.1.1
[INFO] [stderr]   Downloaded uuid v1.1.1
[INFO] [stderr]   Downloaded aes v0.8.1
[INFO] [stderr]   Downloaded syn v1.0.95
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4f6b6bacf4507e8657565d92e2cb0af389cf49dc07b58ffd15d30929bf6fcf37
[INFO] running `Command { std: "docker" "start" "-a" "4f6b6bacf4507e8657565d92e2cb0af389cf49dc07b58ffd15d30929bf6fcf37", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4f6b6bacf4507e8657565d92e2cb0af389cf49dc07b58ffd15d30929bf6fcf37", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f6b6bacf4507e8657565d92e2cb0af389cf49dc07b58ffd15d30929bf6fcf37", kill_on_drop: false }`
[INFO] [stdout] 4f6b6bacf4507e8657565d92e2cb0af389cf49dc07b58ffd15d30929bf6fcf37
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f7dcedd16abbe6ac0473de89b2d0519da3ee48dcf5600b9b11ba611e4e5e7e70
[INFO] running `Command { std: "docker" "start" "-a" "f7dcedd16abbe6ac0473de89b2d0519da3ee48dcf5600b9b11ba611e4e5e7e70", kill_on_drop: false }`
[INFO] [stderr] warning: the cargo feature `edition2021` has been stabilized in the 1.56 release and is no longer necessary to be listed in the manifest
[INFO] [stderr]   See https://doc.rust-lang.org/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling proc-macro2 v1.0.39
[INFO] [stderr]    Compiling syn v1.0.95
[INFO] [stderr]     Checking ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling anyhow v1.0.57
[INFO] [stderr]    Compiling serde v1.0.137
[INFO] [stderr]     Checking linked-hash-map v0.5.4
[INFO] [stderr]    Compiling generic-array v0.14.5
[INFO] [stderr]     Checking miniz_oxide v0.5.3
[INFO] [stderr]     Checking bytes v1.1.0
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking getrandom v0.2.6
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking colored v2.0.0
[INFO] [stderr]     Checking flate2 v1.0.24
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking crypto-common v0.1.3
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]    Compiling quote v1.0.18
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking cipher v0.4.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking cfb8 v0.8.1
[INFO] [stderr]     Checking aes v0.8.1
[INFO] [stderr]    Compiling uuid-macro-internal v1.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.31
[INFO] [stderr]     Checking uuid v1.1.1
[INFO] [stderr]     Checking thiserror v1.0.31
[INFO] [stderr]     Checking ferrous v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Cursor`, `Read`, and `Result`
[INFO] [stdout]  --> src/main.rs:1:36
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{net::{TcpListener}, io::{Read, Cursor}, result::{Result}};
[INFO] [stdout]   |                                    ^^^^  ^^^^^^            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Context`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::Context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `byteorder::ReadBytesExt`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use byteorder::ReadBytesExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Writeable`
[INFO] [stdout]  --> src/protocol/packet_handler.rs:1:48
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{VarInt, ProtocolVersion, Readable, Writeable};
[INFO] [stdout]   |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncStreamCipher`
[INFO] [stdout]  --> src/protocol/packet_handler.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use aes::cipher::{AsyncStreamCipher, KeyIvInit};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Decryptor` and `Encryptor`
[INFO] [stdout]  --> src/protocol/packet_handler.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cfb8::{Encryptor, Decryptor};
[INFO] [stdout]   |            ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Compression` and `ZlibEncoder`
[INFO] [stdout]  --> src/protocol/packet_handler.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 |     bufread::{ZlibDecoder, ZlibEncoder},
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout] 8 |     Compression,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cursor`, `Read`, and `Result`
[INFO] [stdout]  --> src/main.rs:1:36
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{net::{TcpListener}, io::{Read, Cursor}, result::{Result}};
[INFO] [stdout]   |                                    ^^^^  ^^^^^^            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Context`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::Context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `byteorder::ReadBytesExt`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use byteorder::ReadBytesExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Writeable`
[INFO] [stdout]  --> src/protocol/packet_handler.rs:1:48
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{VarInt, ProtocolVersion, Readable, Writeable};
[INFO] [stdout]   |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncStreamCipher`
[INFO] [stdout]  --> src/protocol/packet_handler.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use aes::cipher::{AsyncStreamCipher, KeyIvInit};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Decryptor` and `Encryptor`
[INFO] [stdout]  --> src/protocol/packet_handler.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cfb8::{Encryptor, Decryptor};
[INFO] [stdout]   |            ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Compression` and `ZlibEncoder`
[INFO] [stdout]  --> src/protocol/packet_handler.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 |     bufread::{ZlibDecoder, ZlibEncoder},
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout] 8 |     Compression,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/protocol/structs.rs:447:41
[INFO] [stdout]     |
[INFO] [stdout] 447 |     fn read(buffer: &mut Cursor<&[u8]>, version: ProtocolVersion) -> anyhow::Result<Self>
[INFO] [stdout]     |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/protocol/structs.rs:447:41
[INFO] [stdout]     |
[INFO] [stdout] 447 |     fn read(buffer: &mut Cursor<&[u8]>, version: ProtocolVersion) -> anyhow::Result<Self>
[INFO] [stdout]     |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `connection`
[INFO] [stdout]   --> src/main.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let connection = connection.expect("Unable to read TCP connection!");
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROTOCOL` is never used
[INFO] [stdout]   --> src/main.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const PROTOCOL: ProtocolVersion = ProtocolVersion::V1_18_2;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Config` is never constructed
[INFO] [stdout]   --> src/main.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Config {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ProtocolVersion` is never used
[INFO] [stdout]   --> src/protocol/structs.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum ProtocolVersion {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Readable` is never used
[INFO] [stdout]   --> src/protocol/structs.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub trait Readable {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Writeable` is never used
[INFO] [stdout]   --> src/protocol/structs.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub trait Writeable: Sized {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Error` is never used
[INFO] [stdout]   --> src/protocol/structs.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub enum Error {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VarInt` is never constructed
[INFO] [stdout]    --> src/protocol/structs.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct VarInt(pub i32);
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `write_to` and `read_from` are never used
[INFO] [stdout]    --> src/protocol/structs.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl VarInt {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 184 |     pub fn write_to(&self, mut writer: impl Write) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn read_from(mut reader: impl Read) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_LENGTH` is never used
[INFO] [stdout]    --> src/protocol/structs.rs:364:11
[INFO] [stdout]     |
[INFO] [stdout] 364 | pub const MAX_LENGTH: usize = 1024 * 1024;
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `VarIntPrefixedVec` is never used
[INFO] [stdout]    --> src/protocol/structs.rs:442:10
[INFO] [stdout]     |
[INFO] [stdout] 442 | pub type VarIntPrefixedVec<'a, T> = LengthPrefixedVec<'a, VarInt, T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ShortPrefixedVec` is never used
[INFO] [stdout]    --> src/protocol/structs.rs:443:10
[INFO] [stdout]     |
[INFO] [stdout] 443 | pub type ShortPrefixedVec<'a, T> = LengthPrefixedVec<'a, u16, T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `EncryptionKey` is never used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub type EncryptionKey = [u8; 16];
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CompressionThreshold` is never used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type CompressionThreshold = usize;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Cfb8Enc` is never used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub type Cfb8Enc = cfb8::Encryptor<Aes128>;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Cfb8Dec` is never used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub type Cfb8Dec = cfb8::Decryptor<Aes128>;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROTOCOL` is never used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const PROTOCOL: ProtocolVersion = ProtocolVersion::V1_18_2;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EncryptionHandler` is never constructed
[INFO] [stdout]   --> src/protocol/packet_handler.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct EncryptionHandler {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl EncryptionHandler {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 29 |     pub fn new(key: EncryptionKey) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PacketHandler` is never constructed
[INFO] [stdout]   --> src/protocol/packet_handler.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct PacketHandler {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `clone_keep_settings`, `enable_encryption`, and `next_packet` are never used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl PacketHandler {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 54 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn clone_keep_settings(&self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn enable_encryption(&mut self, key: EncryptionKey) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn next_packet<T>(&mut self) -> anyhow::Result<Option<T>>
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dimension` is never constructed
[INFO] [stdout]  --> src/world/world.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Dimension {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Chunk` is never constructed
[INFO] [stdout]   --> src/world/world.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Chunk {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `section` and `update` are never used
[INFO] [stdout]   --> src/world/world.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Chunk {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 18 |     // Returns mutable reference to the ChunkSection at the index. Index is from -4 to 19 (in 1.18.2)
[INFO] [stdout] 19 |     pub fn section(&mut self, index: i32) -> &mut ChunkSection {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn update(&mut self) {}
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChunkSection` is never constructed
[INFO] [stdout]   --> src/world/world.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ChunkSection {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_blockstate`, `get_blockstate_mut`, and `set_blockstate` are never used
[INFO] [stdout]   --> src/world/world.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl ChunkSection {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 31 |     // Returns a reference to the BlockState at the provided coords
[INFO] [stdout] 32 |     pub fn get_blockstate(&self, x: usize, y: usize, z: usize) -> &BlockState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn get_blockstate_mut(&mut self, x: usize, y: usize, z: usize) -> &mut BlockState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn set_blockstate(&mut self, new_state: BlockState, x: usize, y: usize, z: usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChunkGenerator` is never constructed
[INFO] [stdout]   --> src/world/world.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct ChunkGenerator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockState` is never constructed
[INFO] [stdout]  --> src/world/blocks.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct BlockState {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Identifier` is never constructed
[INFO] [stdout]   --> src/util/mod.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Identifier(String);
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/mod.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Identifier {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(namespace: String, value: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `connection`
[INFO] [stdout]   --> src/main.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let connection = connection.expect("Unable to read TCP connection!");
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROTOCOL` is never used
[INFO] [stdout]   --> src/main.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const PROTOCOL: ProtocolVersion = ProtocolVersion::V1_18_2;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Config` is never constructed
[INFO] [stdout]   --> src/main.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Config {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ProtocolVersion` is never used
[INFO] [stdout]   --> src/protocol/structs.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum ProtocolVersion {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Readable` is never used
[INFO] [stdout]   --> src/protocol/structs.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub trait Readable {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Writeable` is never used
[INFO] [stdout]   --> src/protocol/structs.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub trait Writeable: Sized {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Error` is never used
[INFO] [stdout]   --> src/protocol/structs.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub enum Error {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VarInt` is never constructed
[INFO] [stdout]    --> src/protocol/structs.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct VarInt(pub i32);
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `write_to` and `read_from` are never used
[INFO] [stdout]    --> src/protocol/structs.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl VarInt {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 184 |     pub fn write_to(&self, mut writer: impl Write) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn read_from(mut reader: impl Read) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_LENGTH` is never used
[INFO] [stdout]    --> src/protocol/structs.rs:364:11
[INFO] [stdout]     |
[INFO] [stdout] 364 | pub const MAX_LENGTH: usize = 1024 * 1024;
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `VarIntPrefixedVec` is never used
[INFO] [stdout]    --> src/protocol/structs.rs:442:10
[INFO] [stdout]     |
[INFO] [stdout] 442 | pub type VarIntPrefixedVec<'a, T> = LengthPrefixedVec<'a, VarInt, T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ShortPrefixedVec` is never used
[INFO] [stdout]    --> src/protocol/structs.rs:443:10
[INFO] [stdout]     |
[INFO] [stdout] 443 | pub type ShortPrefixedVec<'a, T> = LengthPrefixedVec<'a, u16, T>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `EncryptionKey` is never used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub type EncryptionKey = [u8; 16];
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CompressionThreshold` is never used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type CompressionThreshold = usize;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Cfb8Enc` is never used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub type Cfb8Enc = cfb8::Encryptor<Aes128>;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Cfb8Dec` is never used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub type Cfb8Dec = cfb8::Decryptor<Aes128>;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROTOCOL` is never used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const PROTOCOL: ProtocolVersion = ProtocolVersion::V1_18_2;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EncryptionHandler` is never constructed
[INFO] [stdout]   --> src/protocol/packet_handler.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct EncryptionHandler {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl EncryptionHandler {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 29 |     pub fn new(key: EncryptionKey) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PacketHandler` is never constructed
[INFO] [stdout]   --> src/protocol/packet_handler.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct PacketHandler {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `clone_keep_settings`, `enable_encryption`, and `next_packet` are never used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl PacketHandler {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 54 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn clone_keep_settings(&self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn enable_encryption(&mut self, key: EncryptionKey) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn next_packet<T>(&mut self) -> anyhow::Result<Option<T>>
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dimension` is never constructed
[INFO] [stdout]  --> src/world/world.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Dimension {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Chunk` is never constructed
[INFO] [stdout]   --> src/world/world.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Chunk {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `section` and `update` are never used
[INFO] [stdout]   --> src/world/world.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Chunk {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 18 |     // Returns mutable reference to the ChunkSection at the index. Index is from -4 to 19 (in 1.18.2)
[INFO] [stdout] 19 |     pub fn section(&mut self, index: i32) -> &mut ChunkSection {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn update(&mut self) {}
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChunkSection` is never constructed
[INFO] [stdout]   --> src/world/world.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ChunkSection {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_blockstate`, `get_blockstate_mut`, and `set_blockstate` are never used
[INFO] [stdout]   --> src/world/world.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl ChunkSection {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 31 |     // Returns a reference to the BlockState at the provided coords
[INFO] [stdout] 32 |     pub fn get_blockstate(&self, x: usize, y: usize, z: usize) -> &BlockState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn get_blockstate_mut(&mut self, x: usize, y: usize, z: usize) -> &mut BlockState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn set_blockstate(&mut self, new_state: BlockState, x: usize, y: usize, z: usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChunkGenerator` is never constructed
[INFO] [stdout]   --> src/world/world.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct ChunkGenerator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockState` is never constructed
[INFO] [stdout]  --> src/world/blocks.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct BlockState {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Identifier` is never constructed
[INFO] [stdout]   --> src/util/mod.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Identifier(String);
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/mod.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Identifier {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(namespace: String, value: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:97:21
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     decompressor.read_to_end(&mut self.compressed_buf);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let _ = decompressor.read_to_end(&mut self.compressed_buf);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `xPos` should have a snake case name
[INFO] [stdout]   --> src/world/world.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     xPos: i64,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to snake case: `x_pos`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `zPos` should have a snake case name
[INFO] [stdout]   --> src/world/world.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     zPos: i64,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to snake case: `z_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/protocol/packet_handler.rs:97:21
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     decompressor.read_to_end(&mut self.compressed_buf);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let _ = decompressor.read_to_end(&mut self.compressed_buf);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `xPos` should have a snake case name
[INFO] [stdout]   --> src/world/world.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     xPos: i64,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to snake case: `x_pos`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `zPos` should have a snake case name
[INFO] [stdout]   --> src/world/world.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     zPos: i64,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to snake case: `z_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.34s
[INFO] running `Command { std: "docker" "inspect" "f7dcedd16abbe6ac0473de89b2d0519da3ee48dcf5600b9b11ba611e4e5e7e70", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f7dcedd16abbe6ac0473de89b2d0519da3ee48dcf5600b9b11ba611e4e5e7e70", kill_on_drop: false }`
[INFO] [stdout] f7dcedd16abbe6ac0473de89b2d0519da3ee48dcf5600b9b11ba611e4e5e7e70
