[INFO] cloning repository https://github.com/dandan2611/voidpoc [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dandan2611/voidpoc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdandan2611%2Fvoidpoc", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdandan2611%2Fvoidpoc'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 643c9023d866c32ed2948e1c8963ffbf4a3f57e0 [INFO] checking dandan2611/voidpoc against try#8d46be77cd48fdbcced888d027457e2c9cf2aa16 for pr-142723 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdandan2611%2Fvoidpoc" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/dandan2611/voidpoc on toolchain 8d46be77cd48fdbcced888d027457e2c9cf2aa16 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/dandan2611/voidpoc [INFO] finished tweaking git repo https://github.com/dandan2611/voidpoc [INFO] tweaked toml for git repo https://github.com/dandan2611/voidpoc written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/dandan2611/voidpoc 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" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "fetch" "--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] Downloading crates ... [INFO] [stderr] Downloaded simdnbt-derive v0.7.0 [INFO] [stderr] Downloaded simdnbt v0.7.1 [INFO] [stderr] Downloaded crab_nbt v0.2.9 [INFO] [stderr] Downloaded simd_cesu8 v1.0.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9bee81361a3f8f8ec129ad84d623ba2550765ec95081086e07065ae34d49c47e [INFO] running `Command { std: "docker" "start" "-a" "9bee81361a3f8f8ec129ad84d623ba2550765ec95081086e07065ae34d49c47e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9bee81361a3f8f8ec129ad84d623ba2550765ec95081086e07065ae34d49c47e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9bee81361a3f8f8ec129ad84d623ba2550765ec95081086e07065ae34d49c47e", kill_on_drop: false }` [INFO] [stdout] 9bee81361a3f8f8ec129ad84d623ba2550765ec95081086e07065ae34d49c47e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d9fbe1f5b388873867e7043790f0ebdeceaed4ec3dc62879462ab4b3c5af6ba9 [INFO] running `Command { std: "docker" "start" "-a" "d9fbe1f5b388873867e7043790f0ebdeceaed4ec3dc62879462ab4b3c5af6ba9", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling unicode-ident v1.0.17 [INFO] [stderr] Compiling libc v0.2.170 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling serde v1.0.218 [INFO] [stderr] Compiling getrandom v0.3.1 [INFO] [stderr] Checking smallvec v1.14.0 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking simdutf8 v0.1.5 [INFO] [stderr] Checking bytes v1.10.0 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking bit-vec v0.8.0 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking miniz_oxide v0.8.5 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Checking ryu v1.0.19 [INFO] [stderr] Checking cesu8 v1.1.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking itoa v1.0.14 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Checking bit-set v0.8.0 [INFO] [stderr] Checking flate2 v1.1.0 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling quote v1.0.39 [INFO] [stderr] Compiling simd_cesu8 v1.0.1 [INFO] [stderr] Compiling syn v2.0.99 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Checking socket2 v0.5.8 [INFO] [stderr] Checking uuid v1.15.1 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling serde_derive v1.0.218 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling simdnbt-derive v0.7.0 [INFO] [stderr] Checking tokio v1.43.0 [INFO] [stderr] Checking simdnbt v0.7.1 [INFO] [stderr] Checking derive_more v2.0.1 [INFO] [stderr] Checking crab_nbt v0.2.9 [INFO] [stderr] Checking voidpoc v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/configuration.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BaseNbt`, `NbtCompound`, and `NbtTag` [INFO] [stdout] --> src/configuration.rs:5:22 [INFO] [stdout] | [INFO] [stdout] 5 | use simdnbt::owned::{BaseNbt, Nbt, NbtCompound, NbtTag}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/play.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::ReadDir` [INFO] [stdout] --> src/play.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::ReadDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crab_nbt::nbt` [INFO] [stdout] --> src/play.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crab_nbt::nbt; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BaseNbt`, `NbtCompound`, and `NbtTag` [INFO] [stdout] --> src/play.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | use simdnbt::owned::{BaseNbt, Nbt, NbtCompound, NbtTag}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:643:16 [INFO] [stdout] | [INFO] [stdout] 643 | if (t.is_none()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 643 - if (t.is_none()) { [INFO] [stdout] 643 + if t.is_none() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BaseNbt` [INFO] [stdout] --> src/main.rs:938:30 [INFO] [stdout] | [INFO] [stdout] 938 | use simdnbt::owned::{BaseNbt, NbtCompound, NbtTag}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/configuration.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BaseNbt`, `NbtCompound`, and `NbtTag` [INFO] [stdout] --> src/configuration.rs:5:22 [INFO] [stdout] | [INFO] [stdout] 5 | use simdnbt::owned::{BaseNbt, Nbt, NbtCompound, NbtTag}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/play.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::ReadDir` [INFO] [stdout] --> src/play.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::ReadDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crab_nbt::nbt` [INFO] [stdout] --> src/play.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crab_nbt::nbt; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BaseNbt`, `NbtCompound`, and `NbtTag` [INFO] [stdout] --> src/play.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | use simdnbt::owned::{BaseNbt, Nbt, NbtCompound, NbtTag}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:643:16 [INFO] [stdout] | [INFO] [stdout] 643 | if (t.is_none()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 643 - if (t.is_none()) { [INFO] [stdout] 643 + if t.is_none() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:634:17 [INFO] [stdout] | [INFO] [stdout] 634 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/main.rs:634:17 [INFO] [stdout] | [INFO] [stdout] 469 | EServerLoginPacket::ServerBoundLoginStartPacket => { [INFO] [stdout] | ----------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 482 | EServerLoginPacket::ServerBoundLoginLoginAcknowledgedPacket => { [INFO] [stdout] | ----------------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 634 | _ => { [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:691:17 [INFO] [stdout] | [INFO] [stdout] 652 | EServerConfigurationPacket::ServerBoundConfigurationAcknowledgeFinishConfiguration => { [INFO] [stdout] | ---------------------------------------------------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 691 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/main.rs:677:25 [INFO] [stdout] | [INFO] [stdout] 677 | let p = Box::new(ClientBoundPlayChunkDataPacket { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/main.rs:686:25 [INFO] [stdout] | [INFO] [stdout] 686 | let p = Box::new(ClientBoundPlayPlayerPosition::default()); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:634:17 [INFO] [stdout] | [INFO] [stdout] 634 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/main.rs:634:17 [INFO] [stdout] | [INFO] [stdout] 469 | EServerLoginPacket::ServerBoundLoginStartPacket => { [INFO] [stdout] | ----------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 482 | EServerLoginPacket::ServerBoundLoginLoginAcknowledgedPacket => { [INFO] [stdout] | ----------------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 634 | _ => { [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:691:17 [INFO] [stdout] | [INFO] [stdout] 652 | EServerConfigurationPacket::ServerBoundConfigurationAcknowledgeFinishConfiguration => { [INFO] [stdout] | ---------------------------------------------------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 691 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/main.rs:677:25 [INFO] [stdout] | [INFO] [stdout] 677 | let p = Box::new(ClientBoundPlayChunkDataPacket { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/main.rs:686:25 [INFO] [stdout] | [INFO] [stdout] 686 | let p = Box::new(ClientBoundPlayPlayerPosition::default()); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/play.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 19 | let packet: Box = match id { [INFO] [stdout] | ____________________________________- [INFO] [stdout] 20 | | _ => panic!("Unknown packet id"), [INFO] [stdout] 21 | | }; [INFO] [stdout] | |_________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 22 | let mut packet: Box = packet.downcast::().expect("Failed to downcast Packet"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/configuration.rs:54:22 [INFO] [stdout] | [INFO] [stdout] 54 | fn encode(&self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/configuration.rs:57:26 [INFO] [stdout] | [INFO] [stdout] 57 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/configuration.rs:150:26 [INFO] [stdout] | [INFO] [stdout] 150 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/configuration.rs:170:22 [INFO] [stdout] | [INFO] [stdout] 170 | fn encode(&self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/configuration.rs:173:26 [INFO] [stdout] | [INFO] [stdout] 173 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/login.rs:89:22 [INFO] [stdout] | [INFO] [stdout] 89 | fn encode(&self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/login.rs:92:26 [INFO] [stdout] | [INFO] [stdout] 92 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/play.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 19 | let packet: Box = match id { [INFO] [stdout] | ____________________________________- [INFO] [stdout] 20 | | _ => panic!("Unknown packet id"), [INFO] [stdout] 21 | | }; [INFO] [stdout] | |_________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 22 | let mut packet: Box = packet.downcast::().expect("Failed to downcast Packet"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `packet` [INFO] [stdout] --> src/play.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | let packet: Box = match id { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/play.rs:18:52 [INFO] [stdout] | [INFO] [stdout] 18 | fn decode(&self, id: i32, buf: &mut ByteBuf) -> Box { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/play.rs:131:26 [INFO] [stdout] | [INFO] [stdout] 131 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/play.rs:162:26 [INFO] [stdout] | [INFO] [stdout] 162 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/play.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | let mut bs = BitSet::new(); [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: unused variable: `buf` [INFO] [stdout] --> src/play.rs:242:26 [INFO] [stdout] | [INFO] [stdout] 242 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/play.rs:264:26 [INFO] [stdout] | [INFO] [stdout] 264 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/play.rs:319:26 [INFO] [stdout] | [INFO] [stdout] 319 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/configuration.rs:54:22 [INFO] [stdout] | [INFO] [stdout] 54 | fn encode(&self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/configuration.rs:57:26 [INFO] [stdout] | [INFO] [stdout] 57 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/configuration.rs:150:26 [INFO] [stdout] | [INFO] [stdout] 150 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/configuration.rs:170:22 [INFO] [stdout] | [INFO] [stdout] 170 | fn encode(&self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/configuration.rs:173:26 [INFO] [stdout] | [INFO] [stdout] 173 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/login.rs:89:22 [INFO] [stdout] | [INFO] [stdout] 89 | fn encode(&self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/login.rs:92:26 [INFO] [stdout] | [INFO] [stdout] 92 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Pack` is more private than the item `ClientBoundConfigurationClientBoundKnownPacks::known_packs` [INFO] [stdout] --> src/configuration.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | pub known_packs: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ClientBoundConfigurationClientBoundKnownPacks::known_packs` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Pack` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/configuration.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | struct Pack { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ClientConnection<'a>` is more private than the item `read_complete` [INFO] [stdout] --> src/main.rs:430:1 [INFO] [stdout] | [INFO] [stdout] 430 | pub async fn read_complete<'a>(connection: &mut ClientConnection<'a>, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `read_complete` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `ClientConnection<'a>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/main.rs:382:1 [INFO] [stdout] | [INFO] [stdout] 382 | struct ClientConnection<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ByteBuf` is more private than the item `read_complete` [INFO] [stdout] --> src/main.rs:430:1 [INFO] [stdout] | [INFO] [stdout] 430 | pub async fn read_complete<'a>(connection: &mut ClientConnection<'a>, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `read_complete` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `ByteBuf` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/main.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | struct ByteBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `read_u64`, `read_f64`, `read_buf`, `write_nbt`, `read_nbt`, and `reset_read_offset` are never used [INFO] [stdout] --> src/main.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl ByteBuf { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn read_u64(&mut self) -> u64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn read_f64(&mut self) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn read_buf(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 320 | pub fn write_nbt(&mut self, nbt: &Nbt) -> &Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | pub fn read_nbt(&mut self) -> Nbt { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 366 | pub fn reset_read_offset(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `data` is never read [INFO] [stdout] --> src/configuration.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 117 | pub struct RegistryEntry { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 118 | pub identifier: String, [INFO] [stdout] 119 | pub data: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `decode` is never used [INFO] [stdout] --> src/packet.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl PacketManager { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn decode(status: PacketStatus, id: i32, buf: &mut ByteBuf) -> Box { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EServerPlayPacket` is never used [INFO] [stdout] --> src/play.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum EServerPlayPacket { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerConfigurationPacketFactory` is never constructed [INFO] [stdout] --> src/play.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct ServerConfigurationPacketFactory {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `dimension_names`, `game_mode`, `has_death_location`, `death_dimension_name`, and `death_location` are never read [INFO] [stdout] --> src/play.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct ClientBoundPlayLoginPacket { [INFO] [stdout] | -------------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 48 | pub dimension_names: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub game_mode: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub has_death_location: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 63 | pub death_dimension_name: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 64 | pub death_location: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChunkData` is never constructed [INFO] [stdout] --> src/play.rs:169:12 [INFO] [stdout] | [INFO] [stdout] 169 | pub struct ChunkData { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LightData` is never constructed [INFO] [stdout] --> src/play.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 174 | pub struct LightData { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `packet` [INFO] [stdout] --> src/play.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | let packet: Box = match id { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/play.rs:18:52 [INFO] [stdout] | [INFO] [stdout] 18 | fn decode(&self, id: i32, buf: &mut ByteBuf) -> Box { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/play.rs:131:26 [INFO] [stdout] | [INFO] [stdout] 131 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/play.rs:162:26 [INFO] [stdout] | [INFO] [stdout] 162 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/play.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | let mut bs = BitSet::new(); [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: unused variable: `buf` [INFO] [stdout] --> src/play.rs:242:26 [INFO] [stdout] | [INFO] [stdout] 242 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/play.rs:264:26 [INFO] [stdout] | [INFO] [stdout] 264 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/play.rs:319:26 [INFO] [stdout] | [INFO] [stdout] 319 | fn decode(&mut self, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Pack` is more private than the item `ClientBoundConfigurationClientBoundKnownPacks::known_packs` [INFO] [stdout] --> src/configuration.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | pub known_packs: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ClientBoundConfigurationClientBoundKnownPacks::known_packs` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Pack` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/configuration.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | struct Pack { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ClientConnection<'a>` is more private than the item `read_complete` [INFO] [stdout] --> src/main.rs:430:1 [INFO] [stdout] | [INFO] [stdout] 430 | pub async fn read_complete<'a>(connection: &mut ClientConnection<'a>, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `read_complete` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `ClientConnection<'a>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/main.rs:382:1 [INFO] [stdout] | [INFO] [stdout] 382 | struct ClientConnection<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ByteBuf` is more private than the item `read_complete` [INFO] [stdout] --> src/main.rs:430:1 [INFO] [stdout] | [INFO] [stdout] 430 | pub async fn read_complete<'a>(connection: &mut ClientConnection<'a>, buf: &mut ByteBuf) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `read_complete` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `ByteBuf` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/main.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | struct ByteBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/main.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl ByteBuf { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn pop_front_i8(&mut self) -> i8 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn read_u32(&mut self) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn read_u64(&mut self) -> u64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn read_f32(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn read_f64(&mut self) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn read_buf(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 320 | pub fn write_nbt(&mut self, nbt: &Nbt) -> &Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 327 | pub fn cursor_at(&mut self, pos: usize) -> std::io::Cursor<&[u8]> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | pub fn read_nbt(&mut self) -> Nbt { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 338 | pub fn write_nbt_compound(&mut self, nbt: &NbtCompound) -> &Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | pub fn read_nbt_compound(&mut self) -> NbtCompound { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn remaining_len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 366 | pub fn reset_read_offset(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `data` is never read [INFO] [stdout] --> src/configuration.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 117 | pub struct RegistryEntry { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 118 | pub identifier: String, [INFO] [stdout] 119 | pub data: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `decode` is never used [INFO] [stdout] --> src/packet.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl PacketManager { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn decode(status: PacketStatus, id: i32, buf: &mut ByteBuf) -> Box { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EServerPlayPacket` is never used [INFO] [stdout] --> src/play.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum EServerPlayPacket { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerConfigurationPacketFactory` is never constructed [INFO] [stdout] --> src/play.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct ServerConfigurationPacketFactory {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `dimension_names`, `game_mode`, `has_death_location`, `death_dimension_name`, and `death_location` are never read [INFO] [stdout] --> src/play.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct ClientBoundPlayLoginPacket { [INFO] [stdout] | -------------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 48 | pub dimension_names: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub game_mode: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub has_death_location: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 63 | pub death_dimension_name: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 64 | pub death_location: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChunkData` is never constructed [INFO] [stdout] --> src/play.rs:169:12 [INFO] [stdout] | [INFO] [stdout] 169 | pub struct ChunkData { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LightData` is never constructed [INFO] [stdout] --> src/play.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 174 | pub struct LightData { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.12s [INFO] running `Command { std: "docker" "inspect" "d9fbe1f5b388873867e7043790f0ebdeceaed4ec3dc62879462ab4b3c5af6ba9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d9fbe1f5b388873867e7043790f0ebdeceaed4ec3dc62879462ab4b3c5af6ba9", kill_on_drop: false }` [INFO] [stdout] d9fbe1f5b388873867e7043790f0ebdeceaed4ec3dc62879462ab4b3c5af6ba9