[INFO] cloning repository https://github.com/g33knation/eqemu-mobile-client
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/g33knation/eqemu-mobile-client" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fg33knation%2Feqemu-mobile-client", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fg33knation%2Feqemu-mobile-client'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d6f7d4d56e3ea464f8000a9ca9daf8493c65056a
[INFO] checking g33knation/eqemu-mobile-client/d6f7d4d56e3ea464f8000a9ca9daf8493c65056a against master#57f772f25c5ce2bd870d6f8c3ab318eaee5a3326 for pr-133502-22
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fg33knation%2Feqemu-mobile-client" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  64% (10204/15882)
Updating files:  65% (10324/15882)
Updating files:  66% (10483/15882)
Updating files:  66% (10498/15882)
Updating files:  67% (10641/15882)
Updating files:  67% (10767/15882)
Updating files:  68% (10800/15882)
Updating files:  69% (10959/15882)
Updating files:  70% (11118/15882)
Updating files:  71% (11277/15882)
Updating files:  72% (11436/15882)
Updating files:  73% (11594/15882)
Updating files:  74% (11753/15882)
Updating files:  75% (11912/15882)
Updating files:  76% (12071/15882)
Updating files:  77% (12230/15882)
Updating files:  78% (12388/15882)
Updating files:  79% (12547/15882)
Updating files:  80% (12706/15882)
Updating files:  81% (12865/15882)
Updating files:  82% (13024/15882)
Updating files:  83% (13183/15882)
Updating files:  84% (13341/15882)
Updating files:  85% (13500/15882)
Updating files:  86% (13659/15882)
Updating files:  87% (13818/15882)
Updating files:  88% (13977/15882)
Updating files:  89% (14135/15882)
Updating files:  90% (14294/15882)
Updating files:  91% (14453/15882)
Updating files:  92% (14612/15882)
Updating files:  93% (14771/15882)
Updating files:  94% (14930/15882)
Updating files:  95% (15088/15882)
Updating files:  96% (15247/15882)
Updating files:  97% (15406/15882)
Updating files:  98% (15565/15882)
Updating files:  99% (15724/15882)
Updating files: 100% (15882/15882)
Updating files: 100% (15882/15882), done.
[INFO] started tweaking git repo https://github.com/g33knation/eqemu-mobile-client
[INFO] finished tweaking git repo https://github.com/g33knation/eqemu-mobile-client
[INFO] tweaked toml for git repo https://github.com/g33knation/eqemu-mobile-client written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/g33knation/eqemu-mobile-client on toolchain 57f772f25c5ce2bd870d6f8c3ab318eaee5a3326
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/g33knation/eqemu-mobile-client 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" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded warp v0.3.7
[INFO] [stderr]   Downloaded zmij v1.0.20
[INFO] [stderr]   Downloaded binrw v0.11.2
[INFO] [stderr]   Downloaded binrw_derive v0.11.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6b05211bd570342f21c50c815de21ae10b3d06c1f34d9dad0d878bc8b1af1567
[INFO] running `Command { std: "docker" "start" "-a" "6b05211bd570342f21c50c815de21ae10b3d06c1f34d9dad0d878bc8b1af1567", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6b05211bd570342f21c50c815de21ae10b3d06c1f34d9dad0d878bc8b1af1567", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6b05211bd570342f21c50c815de21ae10b3d06c1f34d9dad0d878bc8b1af1567", kill_on_drop: false }`
[INFO] [stdout] 6b05211bd570342f21c50c815de21ae10b3d06c1f34d9dad0d878bc8b1af1567
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d591ceb280176419fcbaf327a32fb90a877a12f5022e4d125d9b550126adb835
[INFO] running `Command { std: "docker" "start" "-a" "d591ceb280176419fcbaf327a32fb90a877a12f5022e4d125d9b550126adb835", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking socket2 v0.6.2
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling zmij v1.0.20
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling multer v2.1.0
[INFO] [stderr]    Compiling binrw_derive v0.11.2
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling owo-colors v3.5.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling binrw v0.11.2
[INFO] [stderr]     Checking array-init v2.1.0
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking des v0.8.1
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking headers-core v0.2.0
[INFO] [stderr]     Checking headers v0.3.9
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]     Checking tokio-tungstenite v0.20.1
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking warp v0.3.7
[INFO] [stderr]     Checking MobileClient v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `async_recursion::async_recursion`
[INFO] [stdout]  --> src/udp_engine.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use async_recursion::async_recursion;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_recursion::async_recursion`
[INFO] [stdout]  --> src/packets.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use async_recursion::async_recursion;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/web_ui.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClientZoneEntry`
[INFO] [stdout]  --> src/main.rs:9:79
[INFO] [stdout]   |
[INFO] [stdout] 9 | use packets::{LoginAppOp, WorldAppOp, ZoneAppOp, LoginBaseMessage, ZoneEntry, ClientZoneEntry, TitaniumCharInfo, SpawnStruct, PlayerP...
[INFO] [stdout]   |                                                                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/main.rs:444:5
[INFO] [stdout]     |
[INFO] [stdout] 444 |     'zone_loop: loop {
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_recursion::async_recursion`
[INFO] [stdout]  --> src/udp_engine.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use async_recursion::async_recursion;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_recursion::async_recursion`
[INFO] [stdout]  --> src/packets.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use async_recursion::async_recursion;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/web_ui.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClientZoneEntry`
[INFO] [stdout]  --> src/main.rs:9:79
[INFO] [stdout]   |
[INFO] [stdout] 9 | use packets::{LoginAppOp, WorldAppOp, ZoneAppOp, LoginBaseMessage, ZoneEntry, ClientZoneEntry, TitaniumCharInfo, SpawnStruct, PlayerP...
[INFO] [stdout]   |                                                                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/main.rs:444:5
[INFO] [stdout]     |
[INFO] [stdout] 444 |     'zone_loop: loop {
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/web_ui.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut send_task = tokio::spawn(async move {
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/web_ui.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut send_task = tokio::spawn(async move {
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/main.rs:831:5
[INFO] [stdout]     |
[INFO] [stdout] 444 | /     'zone_loop: loop {
[INFO] [stdout] 445 | |         let mut buf = [0u8; 8192]; // Larger buffer for PlayerProfile fragments
[INFO] [stdout] 446 | |         
[INFO] [stdout] 447 | |         let mut socket_result = None;
[INFO] [stdout] ...   |
[INFO] [stdout] 829 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 830 |
[INFO] [stdout] 831 |       println!("\n🏆 Zone connection complete! Character '{}' is now in-world.", char_name_for_zone);
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/udp_engine.rs:369:13
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let len = data.len();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq_val`
[INFO] [stdout]    --> src/udp_engine.rs:372:22
[INFO] [stdout]     |
[INFO] [stdout] 372 |                  let seq_val = u16::from_be_bytes([data[2], data[3]]);
[INFO] [stdout]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seq_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/main.rs:831:5
[INFO] [stdout]     |
[INFO] [stdout] 444 | /     'zone_loop: loop {
[INFO] [stdout] 445 | |         let mut buf = [0u8; 8192]; // Larger buffer for PlayerProfile fragments
[INFO] [stdout] 446 | |         
[INFO] [stdout] 447 | |         let mut socket_result = None;
[INFO] [stdout] ...   |
[INFO] [stdout] 829 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 830 |
[INFO] [stdout] 831 |       println!("\n🏆 Zone connection complete! Character '{}' is now in-world.", char_name_for_zone);
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/udp_engine.rs:369:13
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let len = data.len();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq_val`
[INFO] [stdout]    --> src/udp_engine.rs:372:22
[INFO] [stdout]     |
[INFO] [stdout] 372 |                  let seq_val = u16::from_be_bytes([data[2], data[3]]);
[INFO] [stdout]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seq_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `got_zone_entry` is assigned to, but never used
[INFO] [stdout]    --> src/main.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 219 |     let mut got_zone_entry = false;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_got_zone_entry` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `got_world_objects_sent` is assigned to, but never used
[INFO] [stdout]    --> src/main.rs:439:9
[INFO] [stdout]     |
[INFO] [stdout] 439 |     let mut got_world_objects_sent = false;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_got_world_objects_sent` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_server_id` is never read
[INFO] [stdout]    --> src/main.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut selected_server_id = 0;
[INFO] [stdout]     |                                  ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 165 |                         selected_server_id = srv.server_id as u32;
[INFO] [stdout]     |                         ----------------------------------------- `selected_server_id` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `zone_server_ip` is never read
[INFO] [stdout]    --> src/main.rs:118:30
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let mut zone_server_ip = String::new();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 360 |                          zone_server_ip = ip_str.clone();
[INFO] [stdout]     |                          -------------- `zone_server_ip` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `zone_server_port` is never read
[INFO] [stdout]    --> src/main.rs:119:37
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let mut zone_server_port: u16 = 0;
[INFO] [stdout]     |                                     ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 361 |                          zone_server_port = zone_entry.port as u16;
[INFO] [stdout]     |                          ----------------------------------------- `zone_server_port` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `got_zone_entry` is never read
[INFO] [stdout]    --> src/main.rs:369:26
[INFO] [stdout]     |
[INFO] [stdout] 349 |                  got_zone_entry = true;
[INFO] [stdout]     |                  --------------------- `got_zone_entry` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 369 |                          got_zone_entry = true;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `got_zone_entry` is never read
[INFO] [stdout]    --> src/main.rs:349:18
[INFO] [stdout]     |
[INFO] [stdout] 349 |                  got_zone_entry = true;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `got_world_objects_sent` is never read
[INFO] [stdout]    --> src/main.rs:769:17
[INFO] [stdout]     |
[INFO] [stdout] 769 |                 got_world_objects_sent = true;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `got_zone_entry` is assigned to, but never used
[INFO] [stdout]    --> src/main.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 219 |     let mut got_zone_entry = false;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_got_zone_entry` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `got_world_objects_sent` is assigned to, but never used
[INFO] [stdout]    --> src/main.rs:439:9
[INFO] [stdout]     |
[INFO] [stdout] 439 |     let mut got_world_objects_sent = false;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_got_world_objects_sent` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_server_id` is never read
[INFO] [stdout]    --> src/main.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut selected_server_id = 0;
[INFO] [stdout]     |                                  ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 165 |                         selected_server_id = srv.server_id as u32;
[INFO] [stdout]     |                         ----------------------------------------- `selected_server_id` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `zone_server_ip` is never read
[INFO] [stdout]    --> src/main.rs:118:30
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let mut zone_server_ip = String::new();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 360 |                          zone_server_ip = ip_str.clone();
[INFO] [stdout]     |                          -------------- `zone_server_ip` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `zone_server_port` is never read
[INFO] [stdout]    --> src/main.rs:119:37
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let mut zone_server_port: u16 = 0;
[INFO] [stdout]     |                                     ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 361 |                          zone_server_port = zone_entry.port as u16;
[INFO] [stdout]     |                          ----------------------------------------- `zone_server_port` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `got_zone_entry` is never read
[INFO] [stdout]    --> src/main.rs:369:26
[INFO] [stdout]     |
[INFO] [stdout] 349 |                  got_zone_entry = true;
[INFO] [stdout]     |                  --------------------- `got_zone_entry` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 369 |                          got_zone_entry = true;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `got_zone_entry` is never read
[INFO] [stdout]    --> src/main.rs:349:18
[INFO] [stdout]     |
[INFO] [stdout] 349 |                  got_zone_entry = true;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `got_world_objects_sent` is never read
[INFO] [stdout]    --> src/main.rs:769:17
[INFO] [stdout]     |
[INFO] [stdout] 769 |                 got_world_objects_sent = true;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prompt_secret` is never used
[INFO] [stdout]   --> src/main.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | async fn prompt_secret(msg: &str) -> io::Result<String> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Disconnecting` is never constructed
[INFO] [stdout]   --> src/udp_engine.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum ConnectionStatus {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Disconnecting,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/packets.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum ReliableOp {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 13 |     Padding = 0x00,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     Combined = 0x03,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 17 |     SessionDisconnect = 0x05,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     KeepAlive = 0x06,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     Packet = 0x09,
[INFO] [stdout] 20 |     Fragment = 0x0D,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     Ack = 0x15,
[INFO] [stdout] 22 |     AppCombined = 0x19, // Used by Login Server instead of Combined sometimes?
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 23 |     OutOfSession = 0x1D,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ReliableOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReliableStreamHeader` is never constructed
[INFO] [stdout]   --> src/packets.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ReliableStreamHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReliableFragmentHeader` is never constructed
[INFO] [stdout]   --> src/packets.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct ReliableFragmentHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ChatMessage` is never constructed
[INFO] [stdout]    --> src/packets.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub enum LoginAppOp {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 106 |     ChatMessage = 0x0016, // Used as "Handshake Reply" in akk-stack (LoginHandShakeReply)
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LoginAppOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoginHandShakeReply` is never constructed
[INFO] [stdout]    --> src/packets.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct LoginHandShakeReply {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SessionReady` is never constructed
[INFO] [stdout]    --> src/packets.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct SessionReady {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayEverquestResponse` is never constructed
[INFO] [stdout]    --> src/packets.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub struct PlayEverquestResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TimeOfDay`, `SetServerFilter`, `Action`, and `AutoAttack` are never constructed
[INFO] [stdout]    --> src/packets.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub enum ZoneAppOp {
[INFO] [stdout]     |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 321 |     TimeOfDay = 0x1580,           // Server→Client: world time
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 322 |     SetServerFilter = 0x6563,     // Both
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     Action = 0x497c,              // Animation / Spell Cast
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 328 |     Damage = 0x5c78,              // Melee Damage
[INFO] [stdout] 329 |     AutoAttack = 0x5e55,          // Client→Server: Toggle Attack
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ZoneAppOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Action` is never constructed
[INFO] [stdout]    --> src/packets.rs:349:12
[INFO] [stdout]     |
[INFO] [stdout] 349 | pub struct Action {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClientZoneEntry` is never constructed
[INFO] [stdout]    --> src/packets.rs:371:12
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub struct ClientZoneEntry {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TintStruct` is never constructed
[INFO] [stdout]    --> src/packets.rs:394:12
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub struct TintStruct {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TintProfile` is never constructed
[INFO] [stdout]    --> src/packets.rs:404:12
[INFO] [stdout]     |
[INFO] [stdout] 404 | pub struct TintProfile {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextureStruct` is never constructed
[INFO] [stdout]    --> src/packets.rs:419:12
[INFO] [stdout]     |
[INFO] [stdout] 419 | pub struct TextureStruct {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextureProfile` is never constructed
[INFO] [stdout]    --> src/packets.rs:426:12
[INFO] [stdout]     |
[INFO] [stdout] 426 | pub struct TextureProfile {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnterWorldRequest` is never constructed
[INFO] [stdout]    --> src/packets.rs:474:12
[INFO] [stdout]     |
[INFO] [stdout] 474 | pub struct EnterWorldRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_spawn` is never used
[INFO] [stdout]   --> src/zone_state.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl ZoneState {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn remove_spawn(&mut self, id: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `targetId` should have a snake case name
[INFO] [stdout]   --> src/web_ui.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Attack { targetId: u32 },
[INFO] [stdout]    |              ^^^^^^^^ help: convert the identifier to snake case: `target_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prompt_secret` is never used
[INFO] [stdout]   --> src/main.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | async fn prompt_secret(msg: &str) -> io::Result<String> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Disconnecting` is never constructed
[INFO] [stdout]   --> src/udp_engine.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum ConnectionStatus {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Disconnecting,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/packets.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum ReliableOp {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 13 |     Padding = 0x00,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     Combined = 0x03,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 17 |     SessionDisconnect = 0x05,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     KeepAlive = 0x06,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     Packet = 0x09,
[INFO] [stdout] 20 |     Fragment = 0x0D,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     Ack = 0x15,
[INFO] [stdout] 22 |     AppCombined = 0x19, // Used by Login Server instead of Combined sometimes?
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 23 |     OutOfSession = 0x1D,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ReliableOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReliableStreamHeader` is never constructed
[INFO] [stdout]   --> src/packets.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ReliableStreamHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReliableFragmentHeader` is never constructed
[INFO] [stdout]   --> src/packets.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct ReliableFragmentHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ChatMessage` is never constructed
[INFO] [stdout]    --> src/packets.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub enum LoginAppOp {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 106 |     ChatMessage = 0x0016, // Used as "Handshake Reply" in akk-stack (LoginHandShakeReply)
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LoginAppOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoginHandShakeReply` is never constructed
[INFO] [stdout]    --> src/packets.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct LoginHandShakeReply {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SessionReady` is never constructed
[INFO] [stdout]    --> src/packets.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct SessionReady {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayEverquestResponse` is never constructed
[INFO] [stdout]    --> src/packets.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub struct PlayEverquestResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TimeOfDay`, `SetServerFilter`, `Action`, and `AutoAttack` are never constructed
[INFO] [stdout]    --> src/packets.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub enum ZoneAppOp {
[INFO] [stdout]     |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 321 |     TimeOfDay = 0x1580,           // Server→Client: world time
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 322 |     SetServerFilter = 0x6563,     // Both
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     Action = 0x497c,              // Animation / Spell Cast
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 328 |     Damage = 0x5c78,              // Melee Damage
[INFO] [stdout] 329 |     AutoAttack = 0x5e55,          // Client→Server: Toggle Attack
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ZoneAppOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Action` is never constructed
[INFO] [stdout]    --> src/packets.rs:349:12
[INFO] [stdout]     |
[INFO] [stdout] 349 | pub struct Action {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClientZoneEntry` is never constructed
[INFO] [stdout]    --> src/packets.rs:371:12
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub struct ClientZoneEntry {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TintStruct` is never constructed
[INFO] [stdout]    --> src/packets.rs:394:12
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub struct TintStruct {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TintProfile` is never constructed
[INFO] [stdout]    --> src/packets.rs:404:12
[INFO] [stdout]     |
[INFO] [stdout] 404 | pub struct TintProfile {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextureStruct` is never constructed
[INFO] [stdout]    --> src/packets.rs:419:12
[INFO] [stdout]     |
[INFO] [stdout] 419 | pub struct TextureStruct {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextureProfile` is never constructed
[INFO] [stdout]    --> src/packets.rs:426:12
[INFO] [stdout]     |
[INFO] [stdout] 426 | pub struct TextureProfile {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnterWorldRequest` is never constructed
[INFO] [stdout]    --> src/packets.rs:474:12
[INFO] [stdout]     |
[INFO] [stdout] 474 | pub struct EnterWorldRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_spawn` is never used
[INFO] [stdout]   --> src/zone_state.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl ZoneState {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn remove_spawn(&mut self, id: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `targetId` should have a snake case name
[INFO] [stdout]   --> src/web_ui.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Attack { targetId: u32 },
[INFO] [stdout]    |              ^^^^^^^^ help: convert the identifier to snake case: `target_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.83s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: binrw v0.11.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "d591ceb280176419fcbaf327a32fb90a877a12f5022e4d125d9b550126adb835", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d591ceb280176419fcbaf327a32fb90a877a12f5022e4d125d9b550126adb835", kill_on_drop: false }`
[INFO] [stdout] d591ceb280176419fcbaf327a32fb90a877a12f5022e4d125d9b550126adb835
