[INFO] cloning repository https://github.com/leocth/hieronymusv2
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/leocth/hieronymusv2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleocth%2Fhieronymusv2", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleocth%2Fhieronymusv2'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 19f2c5241b398e86b60c30b058043bc77febd3d3
[INFO] checking leocth/hieronymusv2 against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleocth%2Fhieronymusv2" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/leocth/hieronymusv2 on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/leocth/hieronymusv2
[INFO] finished tweaking git repo https://github.com/leocth/hieronymusv2
[INFO] tweaked toml for git repo https://github.com/leocth/hieronymusv2 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/leocth/hieronymusv2 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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded futures-sink v0.3.18
[INFO] [stderr]   Downloaded smol_str v0.1.21
[INFO] [stderr]   Downloaded futures-channel v0.3.18
[INFO] [stderr]   Downloaded rsa-der v0.3.0
[INFO] [stderr]   Downloaded futures-macro v0.3.18
[INFO] [stderr]   Downloaded cfb8 v0.7.1
[INFO] [stderr]   Downloaded futures-task v0.3.18
[INFO] [stderr]   Downloaded signal-hook v0.3.12
[INFO] [stderr]   Downloaded futures-io v0.3.18
[INFO] [stderr]   Downloaded openssl-sys v0.9.71
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.3
[INFO] [stderr]   Downloaded futures-util v0.3.18
[INFO] [stderr]   Downloaded hyper v0.14.15
[INFO] [stderr]   Downloaded tokio v1.14.0
[INFO] [stderr]   Downloaded webpki-roots v0.20.0
[INFO] [stderr]   Downloaded serde_json v1.0.72
[INFO] [stderr]   Downloaded nom-derive v0.10.0
[INFO] [stderr]   Downloaded futures-core v0.3.18
[INFO] [stderr]   Downloaded hematite-nbt v0.5.2
[INFO] [stderr]   Downloaded libhoney-rust v0.1.6
[INFO] [stderr]   Downloaded simple_asn1 v0.6.1
[INFO] [stderr]   Downloaded nom-derive-impl v0.10.0
[INFO] [stderr]   Downloaded tokio-macros v1.6.0
[INFO] [stderr]   Downloaded tracing-distributed v0.3.1
[INFO] [stderr]   Downloaded tracing-honeycomb v0.4.2
[INFO] [stderr]   Downloaded tui-logger v0.6.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 925c59d10ded99d387fc2b76c588cb702cfa84e06c8cfc6b46c46d242fd81f05
[INFO] running `Command { std: "docker" "start" "-a" "925c59d10ded99d387fc2b76c588cb702cfa84e06c8cfc6b46c46d242fd81f05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "925c59d10ded99d387fc2b76c588cb702cfa84e06c8cfc6b46c46d242fd81f05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "925c59d10ded99d387fc2b76c588cb702cfa84e06c8cfc6b46c46d242fd81f05", kill_on_drop: false }`
[INFO] [stdout] 925c59d10ded99d387fc2b76c588cb702cfa84e06c8cfc6b46c46d242fd81f05
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ca94fddb4b34cc28d0a335a0806b17212e9eee03d827820e17be46a11ebec866
[INFO] running `Command { std: "docker" "start" "-a" "ca94fddb4b34cc28d0a335a0806b17212e9eee03d827820e17be46a11ebec866", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.108
[INFO] [stderr]    Compiling proc-macro2 v1.0.32
[INFO] [stderr]    Compiling syn v1.0.82
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling futures-core v0.3.18
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling typenum v1.14.0
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling ryu v1.0.6
[INFO] [stderr]    Compiling futures-task v0.3.18
[INFO] [stderr]     Checking tracing-core v0.1.21
[INFO] [stderr]    Compiling futures-util v0.3.18
[INFO] [stderr]     Checking futures-sink v0.3.18
[INFO] [stderr]     Checking ppv-lite86 v0.2.15
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling serde_json v1.0.72
[INFO] [stderr]     Checking futures-io v0.3.18
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking bytes v0.5.6
[INFO] [stderr]    Compiling pkg-config v0.3.22
[INFO] [stderr]    Compiling futures-channel v0.3.18
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]     Checking pin-project-lite v0.1.12
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]     Checking tracing-log v0.1.2
[INFO] [stderr]     Checking thread_local v1.1.3
[INFO] [stderr]     Checking sharded-slab v0.1.4
[INFO] [stderr]    Compiling tokio v1.14.0
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]    Compiling signal-hook v0.3.12
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]    Compiling encoding_rs v0.8.29
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]     Checking http-body v0.3.1
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking mio v0.7.14
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.37
[INFO] [stderr]    Compiling openssl-sys v0.9.71
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking parking_lot_core v0.8.5
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking matchers v0.0.1
[INFO] [stderr]     Checking socket2 v0.3.19
[INFO] [stderr]    Compiling mime_guess v2.0.3
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]     Checking httpdate v0.3.2
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking const-oid v0.6.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]     Checking signal-hook-mio v0.2.1
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking base64ct v1.1.1
[INFO] [stderr]    Compiling crc32fast v1.3.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking pem-rfc7468 v0.2.4
[INFO] [stderr]     Checking socket2 v0.4.2
[INFO] [stderr]    Compiling openssl v0.10.38
[INFO] [stderr]    Compiling native-tls v0.2.8
[INFO] [stderr]    Compiling backtrace v0.3.63
[INFO] [stderr]    Compiling nom v7.1.0
[INFO] [stderr]     Checking tokio v0.2.25
[INFO] [stderr]    Compiling num-bigint-dig v0.7.0
[INFO] [stderr]    Compiling time-macros v0.2.3
[INFO] [stderr]     Checking gimli v0.26.1
[INFO] [stderr]    Compiling rustversion v1.0.5
[INFO] [stderr]    Compiling slog v2.7.0
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking crypto-bigint v0.2.11
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking cipher v0.3.0
[INFO] [stderr]     Checking quickcheck v1.0.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking crossterm v0.20.0
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]     Checking object v0.27.1
[INFO] [stderr]     Checking rustc-demangle v0.1.21
[INFO] [stderr]     Checking owo-colors v1.3.0
[INFO] [stderr]     Checking der v0.4.5
[INFO] [stderr]    Compiling async-trait v0.1.51
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking eyre v0.6.5
[INFO] [stderr]     Checking flate2 v1.0.22
[INFO] [stderr]     Checking tui v0.16.0
[INFO] [stderr]     Checking sha-1 v0.9.8
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking cesu8 v1.1.0
[INFO] [stderr]     Checking cfb8 v0.7.1
[INFO] [stderr]     Checking aes v0.7.5
[INFO] [stderr]     Checking crossterm v0.22.1
[INFO] [stderr]     Checking spki v0.4.1
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking sha1 v0.6.0
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking time v0.3.5
[INFO] [stderr]     Checking tokio-util v0.3.1
[INFO] [stderr]     Checking addr2line v0.17.0
[INFO] [stderr]     Checking webpki v0.21.4
[INFO] [stderr]     Checking sct v0.6.1
[INFO] [stderr]     Checking rustls v0.18.1
[INFO] [stderr]     Checking webpki-roots v0.20.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling tracing-attributes v0.1.18
[INFO] [stderr]    Compiling futures-macro v0.3.18
[INFO] [stderr]    Compiling pin-project-internal v1.0.8
[INFO] [stderr]    Compiling tokio-macros v1.6.0
[INFO] [stderr]    Compiling zeroize_derive v1.2.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling nom-derive-impl v0.10.0
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking tokio-rustls v0.14.1
[INFO] [stderr]     Checking zeroize v1.4.3
[INFO] [stderr]     Checking pkcs1 v0.2.4
[INFO] [stderr]     Checking pkcs8 v0.7.6
[INFO] [stderr]     Checking nom-derive v0.10.0
[INFO] [stderr]     Checking pin-project v1.0.8
[INFO] [stderr]     Checking thiserror v1.0.30
[INFO] [stderr]     Checking simple_asn1 v0.6.1
[INFO] [stderr]     Checking rsa-der v0.3.0
[INFO] [stderr]     Checking tracing v0.1.29
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking tracing-subscriber v0.3.3
[INFO] [stderr]     Checking rsa v0.5.0
[INFO] [stderr]     Checking tracing-error v0.2.0
[INFO] [stderr]     Checking h2 v0.2.7
[INFO] [stderr]     Checking tokio-util v0.6.9
[INFO] [stderr]     Checking tokio-native-tls v0.3.0
[INFO] [stderr]     Checking h2 v0.3.7
[INFO] [stderr]     Checking hyper v0.13.10
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking tracing-serde v0.1.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.0
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking toml v0.5.8
[INFO] [stderr]     Checking hematite-nbt v0.5.2
[INFO] [stderr]     Checking smol_str v0.1.21
[INFO] [stderr]     Checking tracing-subscriber v0.2.25
[INFO] [stderr]     Checking tui-logger v0.6.5
[INFO] [stderr]     Checking hyper v0.14.15
[INFO] [stderr]     Checking tracing-error v0.1.2
[INFO] [stderr]     Checking tracing-distributed v0.3.1
[INFO] [stderr]     Checking color-spantrace v0.1.6
[INFO] [stderr]     Checking color-eyre v0.5.11
[INFO] [stderr]     Checking hyper-rustls v0.21.0
[INFO] [stderr]     Checking reqwest v0.10.10
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.7
[INFO] [stderr]     Checking libhoney-rust v0.1.6
[INFO] [stderr]     Checking tracing-honeycomb v0.4.2
[INFO] [stderr]     Checking hieronymusv2 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `test`
[INFO] [stdout]   --> src/data.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let (i, test) = peek(be_u8)(i)?;
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_test`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test`
[INFO] [stdout]   --> src/data.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let (i, test) = peek(be_u8)(i)?;
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_test`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]   --> src/net/play.rs:68:28
[INFO] [stdout]    |
[INFO] [stdout] 68 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]   --> src/net/play.rs:82:28
[INFO] [stdout]    |
[INFO] [stdout] 82 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]   --> src/net/play.rs:94:28
[INFO] [stdout]    |
[INFO] [stdout] 94 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:107:28
[INFO] [stdout]     |
[INFO] [stdout] 107 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]   --> src/net/play.rs:68:28
[INFO] [stdout]    |
[INFO] [stdout] 68 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:120:28
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]   --> src/net/play.rs:82:28
[INFO] [stdout]    |
[INFO] [stdout] 82 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]   --> src/net/play.rs:94:28
[INFO] [stdout]    |
[INFO] [stdout] 94 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:142:28
[INFO] [stdout]     |
[INFO] [stdout] 142 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:107:28
[INFO] [stdout]     |
[INFO] [stdout] 107 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:120:28
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:169:28
[INFO] [stdout]     |
[INFO] [stdout] 169 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:182:28
[INFO] [stdout]     |
[INFO] [stdout] 182 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:142:28
[INFO] [stdout]     |
[INFO] [stdout] 142 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:202:28
[INFO] [stdout]     |
[INFO] [stdout] 202 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:214:28
[INFO] [stdout]     |
[INFO] [stdout] 214 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:169:28
[INFO] [stdout]     |
[INFO] [stdout] 169 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:228:28
[INFO] [stdout]     |
[INFO] [stdout] 228 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:182:28
[INFO] [stdout]     |
[INFO] [stdout] 182 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:246:28
[INFO] [stdout]     |
[INFO] [stdout] 246 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:202:28
[INFO] [stdout]     |
[INFO] [stdout] 202 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:261:28
[INFO] [stdout]     |
[INFO] [stdout] 261 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:214:28
[INFO] [stdout]     |
[INFO] [stdout] 214 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:280:28
[INFO] [stdout]     |
[INFO] [stdout] 280 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:228:28
[INFO] [stdout]     |
[INFO] [stdout] 228 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:307:28
[INFO] [stdout]     |
[INFO] [stdout] 307 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:246:28
[INFO] [stdout]     |
[INFO] [stdout] 246 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:317:28
[INFO] [stdout]     |
[INFO] [stdout] 317 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:261:28
[INFO] [stdout]     |
[INFO] [stdout] 261 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:330:28
[INFO] [stdout]     |
[INFO] [stdout] 330 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:280:28
[INFO] [stdout]     |
[INFO] [stdout] 280 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:356:28
[INFO] [stdout]     |
[INFO] [stdout] 356 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:307:28
[INFO] [stdout]     |
[INFO] [stdout] 307 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:371:28
[INFO] [stdout]     |
[INFO] [stdout] 371 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:317:28
[INFO] [stdout]     |
[INFO] [stdout] 317 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:386:28
[INFO] [stdout]     |
[INFO] [stdout] 386 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:330:28
[INFO] [stdout]     |
[INFO] [stdout] 330 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:399:28
[INFO] [stdout]     |
[INFO] [stdout] 399 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:412:28
[INFO] [stdout]     |
[INFO] [stdout] 412 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:356:28
[INFO] [stdout]     |
[INFO] [stdout] 356 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:427:28
[INFO] [stdout]     |
[INFO] [stdout] 427 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:371:28
[INFO] [stdout]     |
[INFO] [stdout] 371 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:440:28
[INFO] [stdout]     |
[INFO] [stdout] 440 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:386:28
[INFO] [stdout]     |
[INFO] [stdout] 386 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:455:28
[INFO] [stdout]     |
[INFO] [stdout] 455 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:399:28
[INFO] [stdout]     |
[INFO] [stdout] 399 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:469:28
[INFO] [stdout]     |
[INFO] [stdout] 469 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:412:28
[INFO] [stdout]     |
[INFO] [stdout] 412 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:427:28
[INFO] [stdout]     |
[INFO] [stdout] 427 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:484:28
[INFO] [stdout]     |
[INFO] [stdout] 484 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:440:28
[INFO] [stdout]     |
[INFO] [stdout] 440 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:512:28
[INFO] [stdout]     |
[INFO] [stdout] 512 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:455:28
[INFO] [stdout]     |
[INFO] [stdout] 455 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:539:28
[INFO] [stdout]     |
[INFO] [stdout] 539 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:469:28
[INFO] [stdout]     |
[INFO] [stdout] 469 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:556:28
[INFO] [stdout]     |
[INFO] [stdout] 556 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:484:28
[INFO] [stdout]     |
[INFO] [stdout] 484 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:573:28
[INFO] [stdout]     |
[INFO] [stdout] 573 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:585:28
[INFO] [stdout]     |
[INFO] [stdout] 585 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:512:28
[INFO] [stdout]     |
[INFO] [stdout] 512 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:539:28
[INFO] [stdout]     |
[INFO] [stdout] 539 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:556:28
[INFO] [stdout]     |
[INFO] [stdout] 556 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:573:28
[INFO] [stdout]     |
[INFO] [stdout] 573 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/net/play.rs:585:28
[INFO] [stdout]     |
[INFO] [stdout] 585 |     async fn handle(&self, conn: &mut Connection) -> eyre::Result<()> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `x`, `y`, and `z` are never used
[INFO] [stdout]   --> src/data.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Position {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 16 |     pub fn x(self) -> i32 {
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn y(self) -> i16 {
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn z(self) -> i32 {
[INFO] [stdout]    |            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_degrees_rounded`, `from_radians_rounded`, `to_degrees`, and `to_radians` are never used
[INFO] [stdout]    --> src/data.rs:96:12
[INFO] [stdout]     |
[INFO] [stdout] 95  | impl Angle {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 96  |     pub fn from_degrees_rounded<F: Angular>(f: F) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99  |     pub fn from_radians_rounded<F: Angular>(f: F) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn to_degrees<F: Angular>(self) -> F {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn to_radians<F: Angular>(self) -> F {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_ref` is never used
[INFO] [stdout]    --> src/data.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 141 | impl Identifier {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 142 |     pub fn as_ref<'a>(&'a self) -> IdentifierRef<'a> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `teleport_id` is never read
[INFO] [stdout]   --> src/net/play.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct TeleportConfirm {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] 62 |     #[nom(Parse = "varint")]
[INFO] [stdout] 63 |     teleport_id: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TeleportConfirm` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transaction_id` and `location` are never read
[INFO] [stdout]   --> src/net/play.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct QueryBlockNbt {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 75 |     #[nom(Parse = "varint")]
[INFO] [stdout] 76 |     transaction_id: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 77 |     location: Position,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `QueryBlockNbt` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `new_difficulty` is never read
[INFO] [stdout]   --> src/net/play.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct SetDifficulty {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] 89 |     new_difficulty: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SetDifficulty` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message` is never read
[INFO] [stdout]    --> src/net/play.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | struct ChatMessage<'a> {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 101 |     #[nom(Parse = "var_str_with_max_length(256u32)")]
[INFO] [stdout] 102 |     message: &'a str,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChatMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `action_id` is never read
[INFO] [stdout]    --> src/net/play.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 113 | struct ClientStatus {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] 114 |     #[nom(Parse = "varint")]
[INFO] [stdout] 115 |     action_id: u32, // todo
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClientStatus` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/net/play.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | struct ClientSettings<'a> {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 127 |     #[nom(Parse = "var_str_with_max_length(16u32)")]
[INFO] [stdout] 128 |     locale: &'a str,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 129 |     view_distance: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 130 |     #[nom(Parse = "varint")]
[INFO] [stdout] 131 |     chat_mode: u32, //TODO
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 132 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 133 |     chat_colors: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 134 |     displayed_skin_parts: DisplayedSkinParts,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 135 |     main_arm: Arm,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 136 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 137 |     enable_text_filtering: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClientSettings` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transaction_id` and `text` are never read
[INFO] [stdout]    --> src/net/play.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | struct TabComplete<'a> {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 161 |     #[nom(Parse = "varint")]
[INFO] [stdout] 162 |     transaction_id: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 163 |     #[nom(Parse = "var_str_with_max_length(32500u32)")]
[INFO] [stdout] 164 |     text: &'a str,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TabComplete` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `window_id` and `button_id` are never read
[INFO] [stdout]    --> src/net/play.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | struct ClickWindowButton {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 176 |     window_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 177 |     button_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClickWindowButton` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/net/play.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 188 | struct ClickWindow {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 189 |     window_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 190 |     #[nom(Parse = "varint")]
[INFO] [stdout] 191 |     state_id: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 192 |     slot: i16,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 193 |     button: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 194 |     #[nom(Parse = "varint")]
[INFO] [stdout] 195 |     mode: u32, // todo,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 196 |     slots: Vec<(i16, Slot)>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 197 |     clicked_item: Slot,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClickWindow` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `window_id` is never read
[INFO] [stdout]    --> src/net/play.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 208 | struct CloseWindow {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 209 |     window_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CloseWindow` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel` and `data` are never read
[INFO] [stdout]    --> src/net/play.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 220 | struct PluginMessage<'a> {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 221 |     channel: Identifier,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 222 |     #[nom(Parse = "rest")]
[INFO] [stdout] 223 |     data: &'a [u8],
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PluginMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hand`, `count`, `entries`, and `title` are never read
[INFO] [stdout]    --> src/net/play.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 234 | struct EditBook<'a> {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 235 |     hand: Hand,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 236 |     #[nom(Parse = "varint")]
[INFO] [stdout] 237 |     count: u32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 238 |     #[nom(LengthCount = "varint::<u32>", Parse = "var_str")]
[INFO] [stdout] 239 |     entries: Vec<&'a str>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 240 |     #[nom(Parse = "maybe(var_str)")]
[INFO] [stdout] 241 |     title: Option<&'a str>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EditBook` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transaction_id` and `entity_id` are never read
[INFO] [stdout]    --> src/net/play.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | struct QueryEntityNbt {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 253 |     #[nom(Parse = "varint")]
[INFO] [stdout] 254 |     transaction_id: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 255 |     #[nom(Parse = "varint")]
[INFO] [stdout] 256 |     entity_id: u32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `QueryEntityNbt` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `entity_id`, `interaction_type`, `interaction`, and `is_sneaking` are never read
[INFO] [stdout]    --> src/net/play.rs:269:5
[INFO] [stdout]     |
[INFO] [stdout] 267 | struct InteractEntity {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 268 |     #[nom(Parse = "varint")]
[INFO] [stdout] 269 |     entity_id: u32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 270 |     #[nom(Parse = "varint")]
[INFO] [stdout] 271 |     interaction_type: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 272 |     #[nom(Parse = "{|i| EntityInteraction::parse(i, interaction_type)}")]
[INFO] [stdout] 273 |     interaction: EntityInteraction,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 274 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 275 |     is_sneaking: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InteractEntity` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/net/play.rs:289:14
[INFO] [stdout]     |
[INFO] [stdout] 289 |     Interact(Hand),
[INFO] [stdout]     |     -------- ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 289 |     Interact(()),
[INFO] [stdout]     |              ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, `2`, and `3` are never read
[INFO] [stdout]    --> src/net/play.rs:293:16
[INFO] [stdout]     |
[INFO] [stdout] 293 |     InteractAt(f32, f32, f32, Hand),
[INFO] [stdout]     |     ---------- ^^^  ^^^  ^^^  ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 293 |     InteractAt((), (), (), ()),
[INFO] [stdout]     |                ~~  ~~  ~~  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `location`, `levels`, and `keep_jigsaws` are never read
[INFO] [stdout]    --> src/net/play.rs:298:5
[INFO] [stdout]     |
[INFO] [stdout] 297 | struct GenerateStructure {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 298 |     location: Position,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 299 |     #[nom(Parse = "varint")]
[INFO] [stdout] 300 |     levels: u32,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 301 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 302 |     keep_jigsaws: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GenerateStructure` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/net/play.rs:313:18
[INFO] [stdout]     |
[INFO] [stdout] 313 | struct KeepAlive(u64);
[INFO] [stdout]     |        --------- ^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `KeepAlive` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 313 | struct KeepAlive(());
[INFO] [stdout]     |                  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `locked` is never read
[INFO] [stdout]    --> src/net/play.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 323 | struct LockDifficulty {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] 324 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 325 |     locked: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LockDifficulty` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x`, `y`, and `z` are never read
[INFO] [stdout]    --> src/net/play.rs:337:5
[INFO] [stdout]     |
[INFO] [stdout] 336 | struct PacketPos {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 337 |     x: f64,
[INFO] [stdout]     |     ^
[INFO] [stdout] 338 |     y: f64,
[INFO] [stdout]     |     ^
[INFO] [stdout] 339 |     z: f64,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PacketPos` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `yaw` and `pitch` are never read
[INFO] [stdout]    --> src/net/play.rs:343:5
[INFO] [stdout]     |
[INFO] [stdout] 342 | struct PacketRot {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 343 |     yaw: f32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 344 |     pitch: f32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PacketRot` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pos` and `on_ground` are never read
[INFO] [stdout]    --> src/net/play.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 348 | struct PlayerPosition {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 349 |     pos: PacketPos,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 350 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 351 |     on_ground: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PlayerPosition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pos`, `rot`, and `on_ground` are never read
[INFO] [stdout]    --> src/net/play.rs:363:5
[INFO] [stdout]     |
[INFO] [stdout] 362 | struct PlayerPositionAndRotation {
[INFO] [stdout]     |        ------------------------- fields in this struct
[INFO] [stdout] 363 |     pos: PacketPos,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 364 |     rot: PacketRot,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 365 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 366 |     on_ground: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PlayerPositionAndRotation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rot` and `on_ground` are never read
[INFO] [stdout]    --> src/net/play.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 377 | struct PlayerRotation {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 378 |     rot: PacketRot,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 379 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 380 |     on_ground: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PlayerRotation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `on_ground` is never read
[INFO] [stdout]    --> src/net/play.rs:394:5
[INFO] [stdout]     |
[INFO] [stdout] 392 | struct PlayerMovement {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] 393 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 394 |     on_ground: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PlayerMovement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pos` and `rot` are never read
[INFO] [stdout]    --> src/net/play.rs:406:5
[INFO] [stdout]     |
[INFO] [stdout] 405 | struct VehicleMove {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 406 |     pos: PacketPos,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 407 |     rot: PacketRot,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VehicleMove` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left_paddle_turning` and `right_paddle_turning` are never read
[INFO] [stdout]    --> src/net/play.rs:420:5
[INFO] [stdout]     |
[INFO] [stdout] 418 | struct SteerBoat {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 419 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 420 |     left_paddle_turning: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 421 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 422 |     right_paddle_turning: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SteerBoat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `slot_id` is never read
[INFO] [stdout]    --> src/net/play.rs:435:5
[INFO] [stdout]     |
[INFO] [stdout] 433 | struct PickItem {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] 434 |     #[nom(Parse = "varint")]
[INFO] [stdout] 435 |     slot_id: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PickItem` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `window_id`, `recipe`, and `make_all` are never read
[INFO] [stdout]    --> src/net/play.rs:447:5
[INFO] [stdout]     |
[INFO] [stdout] 446 | struct CraftRecipeRequest {
[INFO] [stdout]     |        ------------------ fields in this struct
[INFO] [stdout] 447 |     window_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 448 |     recipe: Identifier,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 449 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 450 |     make_all: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CraftRecipeRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status`, `location`, and `face` are never read
[INFO] [stdout]    --> src/net/play.rs:477:5
[INFO] [stdout]     |
[INFO] [stdout] 475 | struct PlayerDigging {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 476 |     #[nom(Parse = "map_opt(varint::<u32>, DiggingStatus::from_u32)")]
[INFO] [stdout] 477 |     status: DiggingStatus,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 478 |     location: Position,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 479 |     face: Direction,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PlayerDigging` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `entity_id`, `action_id`, and `jump_boost` are never read
[INFO] [stdout]    --> src/net/play.rs:503:5
[INFO] [stdout]     |
[INFO] [stdout] 501 | struct EntityAction {
[INFO] [stdout]     |        ------------ fields in this struct
[INFO] [stdout] 502 |     #[nom(Parse = "varint")]
[INFO] [stdout] 503 |     entity_id: u32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 504 |     #[nom(Parse = "map_opt(varint::<u32>, EntityActionVariant::from_u32)")]
[INFO] [stdout] 505 |     action_id: EntityActionVariant,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 506 |     #[nom(Parse = "varint")]
[INFO] [stdout] 507 |     jump_boost: u32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EntityAction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sideways`, `forward`, and `flags` are never read
[INFO] [stdout]    --> src/net/play.rs:532:5
[INFO] [stdout]     |
[INFO] [stdout] 531 | struct SteerVehicle {
[INFO] [stdout]     |        ------------ fields in this struct
[INFO] [stdout] 532 |     sideways: f32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 533 |     forward: f32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 534 |     flags: SteerVehicleFlags,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SteerVehicle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/net/play.rs:552:13
[INFO] [stdout]     |
[INFO] [stdout] 552 | struct Pong(u32);
[INFO] [stdout]     |        ---- ^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Pong` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 552 | struct Pong(());
[INFO] [stdout]     |             ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `book_id`, `book_open`, and `filter_active` are never read
[INFO] [stdout]    --> src/net/play.rs:564:5
[INFO] [stdout]     |
[INFO] [stdout] 562 | struct SetRecipeBookState {
[INFO] [stdout]     |        ------------------ fields in this struct
[INFO] [stdout] 563 |     #[nom(Parse = "varint")]
[INFO] [stdout] 564 |     book_id: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 565 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 566 |     book_open: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 567 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 568 |     filter_active: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SetRecipeBookState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `recipe_id` is never read
[INFO] [stdout]    --> src/net/play.rs:580:5
[INFO] [stdout]     |
[INFO] [stdout] 579 | struct SetDisplayedRecipe {
[INFO] [stdout]     |        ------------------ field in this struct
[INFO] [stdout] 580 |     recipe_id: Identifier,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SetDisplayedRecipe` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Log` is never constructed
[INFO] [stdout]    --> src/tui.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 224 | enum InputMode {
[INFO] [stdout]     |      --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 227 |     Log,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `x`, `y`, and `z` are never used
[INFO] [stdout]   --> src/data.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Position {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 16 |     pub fn x(self) -> i32 {
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn y(self) -> i16 {
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn z(self) -> i32 {
[INFO] [stdout]    |            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_degrees_rounded`, `from_radians_rounded`, `to_degrees`, and `to_radians` are never used
[INFO] [stdout]    --> src/data.rs:96:12
[INFO] [stdout]     |
[INFO] [stdout] 95  | impl Angle {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 96  |     pub fn from_degrees_rounded<F: Angular>(f: F) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99  |     pub fn from_radians_rounded<F: Angular>(f: F) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn to_degrees<F: Angular>(self) -> F {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn to_radians<F: Angular>(self) -> F {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_ref` is never used
[INFO] [stdout]    --> src/data.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 141 | impl Identifier {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 142 |     pub fn as_ref<'a>(&'a self) -> IdentifierRef<'a> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `teleport_id` is never read
[INFO] [stdout]   --> src/net/play.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct TeleportConfirm {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] 62 |     #[nom(Parse = "varint")]
[INFO] [stdout] 63 |     teleport_id: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TeleportConfirm` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transaction_id` and `location` are never read
[INFO] [stdout]   --> src/net/play.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct QueryBlockNbt {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 75 |     #[nom(Parse = "varint")]
[INFO] [stdout] 76 |     transaction_id: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 77 |     location: Position,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `QueryBlockNbt` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `new_difficulty` is never read
[INFO] [stdout]   --> src/net/play.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct SetDifficulty {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] 89 |     new_difficulty: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SetDifficulty` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message` is never read
[INFO] [stdout]    --> src/net/play.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | struct ChatMessage<'a> {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 101 |     #[nom(Parse = "var_str_with_max_length(256u32)")]
[INFO] [stdout] 102 |     message: &'a str,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChatMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `action_id` is never read
[INFO] [stdout]    --> src/net/play.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 113 | struct ClientStatus {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] 114 |     #[nom(Parse = "varint")]
[INFO] [stdout] 115 |     action_id: u32, // todo
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClientStatus` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/net/play.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | struct ClientSettings<'a> {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 127 |     #[nom(Parse = "var_str_with_max_length(16u32)")]
[INFO] [stdout] 128 |     locale: &'a str,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 129 |     view_distance: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 130 |     #[nom(Parse = "varint")]
[INFO] [stdout] 131 |     chat_mode: u32, //TODO
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 132 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 133 |     chat_colors: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 134 |     displayed_skin_parts: DisplayedSkinParts,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 135 |     main_arm: Arm,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 136 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 137 |     enable_text_filtering: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClientSettings` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transaction_id` and `text` are never read
[INFO] [stdout]    --> src/net/play.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | struct TabComplete<'a> {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 161 |     #[nom(Parse = "varint")]
[INFO] [stdout] 162 |     transaction_id: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 163 |     #[nom(Parse = "var_str_with_max_length(32500u32)")]
[INFO] [stdout] 164 |     text: &'a str,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TabComplete` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `window_id` and `button_id` are never read
[INFO] [stdout]    --> src/net/play.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | struct ClickWindowButton {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 176 |     window_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 177 |     button_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClickWindowButton` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/net/play.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 188 | struct ClickWindow {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 189 |     window_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 190 |     #[nom(Parse = "varint")]
[INFO] [stdout] 191 |     state_id: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 192 |     slot: i16,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 193 |     button: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 194 |     #[nom(Parse = "varint")]
[INFO] [stdout] 195 |     mode: u32, // todo,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 196 |     slots: Vec<(i16, Slot)>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 197 |     clicked_item: Slot,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClickWindow` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `window_id` is never read
[INFO] [stdout]    --> src/net/play.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 208 | struct CloseWindow {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 209 |     window_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CloseWindow` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel` and `data` are never read
[INFO] [stdout]    --> src/net/play.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 220 | struct PluginMessage<'a> {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 221 |     channel: Identifier,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 222 |     #[nom(Parse = "rest")]
[INFO] [stdout] 223 |     data: &'a [u8],
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PluginMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hand`, `count`, `entries`, and `title` are never read
[INFO] [stdout]    --> src/net/play.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 234 | struct EditBook<'a> {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 235 |     hand: Hand,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 236 |     #[nom(Parse = "varint")]
[INFO] [stdout] 237 |     count: u32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 238 |     #[nom(LengthCount = "varint::<u32>", Parse = "var_str")]
[INFO] [stdout] 239 |     entries: Vec<&'a str>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 240 |     #[nom(Parse = "maybe(var_str)")]
[INFO] [stdout] 241 |     title: Option<&'a str>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EditBook` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transaction_id` and `entity_id` are never read
[INFO] [stdout]    --> src/net/play.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | struct QueryEntityNbt {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 253 |     #[nom(Parse = "varint")]
[INFO] [stdout] 254 |     transaction_id: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 255 |     #[nom(Parse = "varint")]
[INFO] [stdout] 256 |     entity_id: u32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `QueryEntityNbt` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `entity_id`, `interaction_type`, `interaction`, and `is_sneaking` are never read
[INFO] [stdout]    --> src/net/play.rs:269:5
[INFO] [stdout]     |
[INFO] [stdout] 267 | struct InteractEntity {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 268 |     #[nom(Parse = "varint")]
[INFO] [stdout] 269 |     entity_id: u32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 270 |     #[nom(Parse = "varint")]
[INFO] [stdout] 271 |     interaction_type: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 272 |     #[nom(Parse = "{|i| EntityInteraction::parse(i, interaction_type)}")]
[INFO] [stdout] 273 |     interaction: EntityInteraction,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 274 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 275 |     is_sneaking: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InteractEntity` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/net/play.rs:289:14
[INFO] [stdout]     |
[INFO] [stdout] 289 |     Interact(Hand),
[INFO] [stdout]     |     -------- ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 289 |     Interact(()),
[INFO] [stdout]     |              ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, `2`, and `3` are never read
[INFO] [stdout]    --> src/net/play.rs:293:16
[INFO] [stdout]     |
[INFO] [stdout] 293 |     InteractAt(f32, f32, f32, Hand),
[INFO] [stdout]     |     ---------- ^^^  ^^^  ^^^  ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 293 |     InteractAt((), (), (), ()),
[INFO] [stdout]     |                ~~  ~~  ~~  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `location`, `levels`, and `keep_jigsaws` are never read
[INFO] [stdout]    --> src/net/play.rs:298:5
[INFO] [stdout]     |
[INFO] [stdout] 297 | struct GenerateStructure {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 298 |     location: Position,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 299 |     #[nom(Parse = "varint")]
[INFO] [stdout] 300 |     levels: u32,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 301 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 302 |     keep_jigsaws: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GenerateStructure` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/net/play.rs:313:18
[INFO] [stdout]     |
[INFO] [stdout] 313 | struct KeepAlive(u64);
[INFO] [stdout]     |        --------- ^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `KeepAlive` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 313 | struct KeepAlive(());
[INFO] [stdout]     |                  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `locked` is never read
[INFO] [stdout]    --> src/net/play.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 323 | struct LockDifficulty {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] 324 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 325 |     locked: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LockDifficulty` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x`, `y`, and `z` are never read
[INFO] [stdout]    --> src/net/play.rs:337:5
[INFO] [stdout]     |
[INFO] [stdout] 336 | struct PacketPos {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 337 |     x: f64,
[INFO] [stdout]     |     ^
[INFO] [stdout] 338 |     y: f64,
[INFO] [stdout]     |     ^
[INFO] [stdout] 339 |     z: f64,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PacketPos` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `yaw` and `pitch` are never read
[INFO] [stdout]    --> src/net/play.rs:343:5
[INFO] [stdout]     |
[INFO] [stdout] 342 | struct PacketRot {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 343 |     yaw: f32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 344 |     pitch: f32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PacketRot` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pos` and `on_ground` are never read
[INFO] [stdout]    --> src/net/play.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 348 | struct PlayerPosition {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 349 |     pos: PacketPos,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 350 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 351 |     on_ground: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PlayerPosition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pos`, `rot`, and `on_ground` are never read
[INFO] [stdout]    --> src/net/play.rs:363:5
[INFO] [stdout]     |
[INFO] [stdout] 362 | struct PlayerPositionAndRotation {
[INFO] [stdout]     |        ------------------------- fields in this struct
[INFO] [stdout] 363 |     pos: PacketPos,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 364 |     rot: PacketRot,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 365 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 366 |     on_ground: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PlayerPositionAndRotation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rot` and `on_ground` are never read
[INFO] [stdout]    --> src/net/play.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 377 | struct PlayerRotation {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 378 |     rot: PacketRot,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 379 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 380 |     on_ground: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PlayerRotation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `on_ground` is never read
[INFO] [stdout]    --> src/net/play.rs:394:5
[INFO] [stdout]     |
[INFO] [stdout] 392 | struct PlayerMovement {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] 393 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 394 |     on_ground: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PlayerMovement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pos` and `rot` are never read
[INFO] [stdout]    --> src/net/play.rs:406:5
[INFO] [stdout]     |
[INFO] [stdout] 405 | struct VehicleMove {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 406 |     pos: PacketPos,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 407 |     rot: PacketRot,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VehicleMove` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left_paddle_turning` and `right_paddle_turning` are never read
[INFO] [stdout]    --> src/net/play.rs:420:5
[INFO] [stdout]     |
[INFO] [stdout] 418 | struct SteerBoat {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 419 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 420 |     left_paddle_turning: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 421 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 422 |     right_paddle_turning: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SteerBoat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `slot_id` is never read
[INFO] [stdout]    --> src/net/play.rs:435:5
[INFO] [stdout]     |
[INFO] [stdout] 433 | struct PickItem {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] 434 |     #[nom(Parse = "varint")]
[INFO] [stdout] 435 |     slot_id: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PickItem` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `window_id`, `recipe`, and `make_all` are never read
[INFO] [stdout]    --> src/net/play.rs:447:5
[INFO] [stdout]     |
[INFO] [stdout] 446 | struct CraftRecipeRequest {
[INFO] [stdout]     |        ------------------ fields in this struct
[INFO] [stdout] 447 |     window_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 448 |     recipe: Identifier,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 449 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 450 |     make_all: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CraftRecipeRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status`, `location`, and `face` are never read
[INFO] [stdout]    --> src/net/play.rs:477:5
[INFO] [stdout]     |
[INFO] [stdout] 475 | struct PlayerDigging {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 476 |     #[nom(Parse = "map_opt(varint::<u32>, DiggingStatus::from_u32)")]
[INFO] [stdout] 477 |     status: DiggingStatus,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 478 |     location: Position,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 479 |     face: Direction,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PlayerDigging` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `entity_id`, `action_id`, and `jump_boost` are never read
[INFO] [stdout]    --> src/net/play.rs:503:5
[INFO] [stdout]     |
[INFO] [stdout] 501 | struct EntityAction {
[INFO] [stdout]     |        ------------ fields in this struct
[INFO] [stdout] 502 |     #[nom(Parse = "varint")]
[INFO] [stdout] 503 |     entity_id: u32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 504 |     #[nom(Parse = "map_opt(varint::<u32>, EntityActionVariant::from_u32)")]
[INFO] [stdout] 505 |     action_id: EntityActionVariant,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 506 |     #[nom(Parse = "varint")]
[INFO] [stdout] 507 |     jump_boost: u32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EntityAction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sideways`, `forward`, and `flags` are never read
[INFO] [stdout]    --> src/net/play.rs:532:5
[INFO] [stdout]     |
[INFO] [stdout] 531 | struct SteerVehicle {
[INFO] [stdout]     |        ------------ fields in this struct
[INFO] [stdout] 532 |     sideways: f32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 533 |     forward: f32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 534 |     flags: SteerVehicleFlags,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SteerVehicle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/net/play.rs:552:13
[INFO] [stdout]     |
[INFO] [stdout] 552 | struct Pong(u32);
[INFO] [stdout]     |        ---- ^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Pong` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 552 | struct Pong(());
[INFO] [stdout]     |             ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `book_id`, `book_open`, and `filter_active` are never read
[INFO] [stdout]    --> src/net/play.rs:564:5
[INFO] [stdout]     |
[INFO] [stdout] 562 | struct SetRecipeBookState {
[INFO] [stdout]     |        ------------------ fields in this struct
[INFO] [stdout] 563 |     #[nom(Parse = "varint")]
[INFO] [stdout] 564 |     book_id: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 565 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 566 |     book_open: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 567 |     #[nom(Parse = "boolean")]
[INFO] [stdout] 568 |     filter_active: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SetRecipeBookState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `recipe_id` is never read
[INFO] [stdout]    --> src/net/play.rs:580:5
[INFO] [stdout]     |
[INFO] [stdout] 579 | struct SetDisplayedRecipe {
[INFO] [stdout]     |        ------------------ field in this struct
[INFO] [stdout] 580 |     recipe_id: Identifier,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SetDisplayedRecipe` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Log` is never constructed
[INFO] [stdout]    --> src/tui.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 224 | enum InputMode {
[INFO] [stdout]     |      --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 227 |     Log,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 72 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 72 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 13.22s
[INFO] running `Command { std: "docker" "inspect" "ca94fddb4b34cc28d0a335a0806b17212e9eee03d827820e17be46a11ebec866", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca94fddb4b34cc28d0a335a0806b17212e9eee03d827820e17be46a11ebec866", kill_on_drop: false }`
[INFO] [stdout] ca94fddb4b34cc28d0a335a0806b17212e9eee03d827820e17be46a11ebec866
