[INFO] cloning repository https://github.com/windymindy/innkeeper
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/windymindy/innkeeper" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwindymindy%2Finnkeeper", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwindymindy%2Finnkeeper'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ebf615365edfc2f20987e68a4edb7b170b5b687f
[INFO] checking windymindy/innkeeper against 895980e0290783bb09b1ccf1b11f14eb09b10430 for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwindymindy%2Finnkeeper" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/windymindy/innkeeper
[INFO] finished tweaking git repo https://github.com/windymindy/innkeeper
[INFO] tweaked toml for git repo https://github.com/windymindy/innkeeper written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/windymindy/innkeeper on toolchain 895980e0290783bb09b1ccf1b11f14eb09b10430
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/windymindy/innkeeper 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" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 750711d880c217c11bd7e4cdb44b07fb2c67cfd139efdd589adf9ff3b8483b16
[INFO] running `Command { std: "docker" "start" "750711d880c217c11bd7e4cdb44b07fb2c67cfd139efdd589adf9ff3b8483b16", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "750711d880c217c11bd7e4cdb44b07fb2c67cfd139efdd589adf9ff3b8483b16", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "750711d880c217c11bd7e4cdb44b07fb2c67cfd139efdd589adf9ff3b8483b16" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "750711d880c217c11bd7e4cdb44b07fb2c67cfd139efdd589adf9ff3b8483b16", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "750711d880c217c11bd7e4cdb44b07fb2c67cfd139efdd589adf9ff3b8483b16" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]     Checking regex-syntax v0.8.9
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling syn v2.0.115
[INFO] [stderr]    Compiling rustls v0.22.4
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]    Compiling bigdecimal v0.4.10
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking socket2 v0.6.2
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]     Checking phf_shared v0.11.3
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking deranged v0.5.6
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]    Compiling serenity v0.12.5
[INFO] [stderr]     Checking time-core v0.1.8
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking num-conv v0.2.0
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking rustc-hash v2.1.1
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking typemap_rev v0.3.0
[INFO] [stderr]     Checking chrono v0.4.43
[INFO] [stderr]     Checking emojis v0.6.4
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking java-properties v2.0.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking fancy-regex v0.11.0
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking hex-literal v0.4.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[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 tokio-macros v2.6.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]     Checking webpki-roots v1.0.6
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking serde_cow v0.1.2
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking secrecy v0.8.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking hocon-rs v0.1.3
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-rustls v0.25.0
[INFO] [stderr]     Checking backon v1.6.0
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking innkeeper v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `BridgeConfig` and `parse_channel_config`
[INFO] [stdout]   --> src/bridge/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     parse_channel_config, BridgeConfig, ChannelConfig, PendingBridgeState, ResolvedBridgeState,
[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: `GuildEventInfo`
[INFO] [stdout]  --> src/common/mod.rs:9:72
[INFO] [stdout]   |
[INFO] [stdout] 9 |     BridgeCommand, BridgeMessage, CommandResponseData, DiscordMessage, GuildEventInfo,
[INFO] [stdout]   |                                                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `split_message_preserving_newlines` and `split_message`
[INFO] [stdout]   --> src/common/mod.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use messages::{split_message, split_message_preserving_newlines};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_achievement_name` and `get_achievements`
[INFO] [stdout]   --> src/common/mod.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use resources::{get_achievement_name, get_achievements};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InitWorldStates`
[INFO] [stdout]   --> src/protocol/game/handler.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     InitWorldStates, KeepAlive, LoginVerifyWorld, Ping, PlayerLogin, Pong, TimeSyncReq,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BridgeConfig` and `parse_channel_config`
[INFO] [stdout]   --> src/bridge/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     parse_channel_config, BridgeConfig, ChannelConfig, PendingBridgeState, ResolvedBridgeState,
[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: `GuildEventInfo`
[INFO] [stdout]  --> src/common/mod.rs:9:72
[INFO] [stdout]   |
[INFO] [stdout] 9 |     BridgeCommand, BridgeMessage, CommandResponseData, DiscordMessage, GuildEventInfo,
[INFO] [stdout]   |                                                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `split_message_preserving_newlines` and `split_message`
[INFO] [stdout]   --> src/common/mod.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use messages::{split_message, split_message_preserving_newlines};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_achievement_name` and `get_achievements`
[INFO] [stdout]   --> src/common/mod.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use resources::{get_achievement_name, get_achievements};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InitWorldStates`
[INFO] [stdout]   --> src/protocol/game/handler.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     InitWorldStates, KeepAlive, LoginVerifyWorld, Ping, PlayerLogin, Pong, TimeSyncReq,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/discord/handler.rs:377:49
[INFO] [stdout]     |
[INFO] [stdout] 377 |     pub async fn handle_guild_create(&mut self, context: Context, ready: Ready, guild: Guild) {
[INFO] [stdout]     |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/protocol/game/guild.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |         for i in 0..member_count {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/discord/handler.rs:377:49
[INFO] [stdout]     |
[INFO] [stdout] 377 |     pub async fn handle_guild_create(&mut self, context: Context, ready: Ready, guild: Guild) {
[INFO] [stdout]     |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `router` is never used
[INFO] [stdout]   --> src/bridge/orchestrator.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Bridge {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn router(&self) -> SharedRouter {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `command_tx` and `dashboard_config` are never read
[INFO] [stdout]    --> src/bridge/state.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub struct ResolvedBridgeState {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub command_tx: mpsc::UnboundedSender<WowCommand>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub dashboard_config: Option<GuildDashboardConfig>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResolvedBridgeState` 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 `channel_id` is never read
[INFO] [stdout]   --> src/common/messages.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct DiscordMessage {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub channel_id: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiscordMessage` 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: variant `String` is never constructed
[INFO] [stdout]    --> src/common/messages.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub enum CommandResponseData {
[INFO] [stdout]     |          ------------------- variant in this enum
[INFO] [stdout] 110 |     /// Simple text response.
[INFO] [stdout] 111 |     String(String),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CommandResponseData` 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: methods `name` and `language` are never used
[INFO] [stdout]    --> src/common/resources.rs:96:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl Race {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn name(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn language(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `race` is never read
[INFO] [stdout]   --> src/common/types.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Player {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub race: Option<Race>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Player` 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: fields `language`, `sender_guid`, and `achievement_id` are never read
[INFO] [stdout]    --> src/common/types.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub struct ChatMessage {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 100 |     pub chat_type: ChatType,
[INFO] [stdout] 101 |     pub language: u32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 102 |     pub sender_guid: Guid,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub achievement_id: Option<u32>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChatMessage` 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 `GuildInfo` is never constructed
[INFO] [stdout]    --> src/common/types.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct GuildInfo {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_default` is never used
[INFO] [stdout]   --> src/config/mod.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn load_default() -> Result<Config> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_missing_required` is never used
[INFO] [stdout]   --> src/config/env.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn check_missing_required(config: &Config) -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_config_str` is never used
[INFO] [stdout]   --> src/config/parser.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn load_config_str(content: &str) -> Result<Config> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `platform`, `version`, `realm_build`, and `game_build` are never read
[INFO] [stdout]    --> src/config/types.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub struct WowConfig {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 465 |     pub platform: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 471 |     pub version: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 474 |     pub realm_build: Option<u32>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 477 |     pub game_build: Option<u32>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WowConfig` 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: methods `dot_commands_enabled`, `tag_failed_notifications_enabled`, `is_guild_event_enabled`, and `get_guild_event_format` are never used
[INFO] [stdout]    --> src/config/types.rs:718:12
[INFO] [stdout]     |
[INFO] [stdout] 703 | impl Config {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 718 |     pub fn dot_commands_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 723 |     pub fn tag_failed_notifications_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 733 |     pub fn is_guild_event_enabled(&self, event: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 738 |     pub fn get_guild_event_format(&self, event: &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_required_fields` is never used
[INFO] [stdout]    --> src/config/validate.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn has_required_fields(config: &Config) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dashboard_config`, `outgoing_wow_tx`, `command_tx`, and `bridge` are never read
[INFO] [stdout]    --> src/discord/client.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub struct DiscordBot {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 224 |     dashboard_config: GuildDashboardConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 225 |     outgoing_wow_tx: mpsc::UnboundedSender<BridgeMessage>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 226 |     command_tx: mpsc::UnboundedSender<WowCommand>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 227 |     bridge: Arc<Bridge>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_NOTIFICATION_FORMAT` is never used
[INFO] [stdout]   --> src/game/formatter.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const DEFAULT_NOTIFICATION_FORMAT: &str = "%message";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `wow_to_discord_default`, `discord_to_wow_default`, and `format_string` are never used
[INFO] [stdout]   --> src/game/formatter.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl MessageFormatter {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn wow_to_discord_default() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn discord_to_wow_default() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn format_string(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_channel` is never used
[INFO] [stdout]    --> src/game/formatter.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl FormatContext {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn with_channel(mut self, channel: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `target_guid`, `message_length`, and `chat_tag` are never read
[INFO] [stdout]    --> src/protocol/game/chat.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct MessageChat {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub target_guid: Option<Guid>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 136 |     pub message_length: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 137 |     pub message: String,
[INFO] [stdout] 138 |     pub chat_tag: u8,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MessageChat` 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: method `to_chat_message_with_format` is never used
[INFO] [stdout]    --> src/protocol/game/chat.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl MessageChat {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn to_chat_message_with_format(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `realm_name` and `gender` are never read
[INFO] [stdout]    --> src/protocol/game/chat.rs:513:9
[INFO] [stdout]     |
[INFO] [stdout] 510 | pub struct NameQueryResponse {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 513 |     pub realm_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 514 |     pub race: u32,
[INFO] [stdout] 515 |     pub gender: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NameQueryResponse` 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: fields `guild_id`, `emblem_style`, `emblem_color`, `border_style`, `border_color`, and `background_color` are never read
[INFO] [stdout]   --> src/protocol/game/guild.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct GuildQueryResponse {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 30 |     pub guild_id: u32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub emblem_style: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 34 |     pub emblem_color: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub border_style: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 36 |     pub border_color: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub background_color: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GuildQueryResponse` 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: field `gender` is never read
[INFO] [stdout]    --> src/protocol/game/guild.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct GuildRosterMember {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub gender: u8,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GuildRosterMember` 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: fields `member_count` and `guild_info` are never read
[INFO] [stdout]    --> src/protocol/game/guild.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub struct GuildRoster {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 184 |     pub member_count: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 185 |     pub motd: String,
[INFO] [stdout] 186 |     pub guild_info: String,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GuildRoster` 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: method `to_guild_event` is never used
[INFO] [stdout]    --> src/protocol/game/guild.rs:320:12
[INFO] [stdout]     |
[INFO] [stdout] 318 | impl GuildEventPacket {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 319 |     /// Convert to the common GuildEvent type if applicable.
[INFO] [stdout] 320 |     pub fn to_guild_event(&self) -> Option<GuildEvent> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_guild_info` is never used
[INFO] [stdout]    --> src/protocol/game/handler.rs:640:12
[INFO] [stdout]     |
[INFO] [stdout]  79 | impl GameHandler {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 640 |     pub fn get_guild_info(&self) -> GuildInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `billing_time_remaining`, `billing_flags`, `billing_time_rested`, and `expansion` are never read
[INFO] [stdout]    --> src/protocol/game/packets.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     Success {
[INFO] [stdout]     |     ------- fields in this variant
[INFO] [stdout] 107 |         billing_time_remaining: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 108 |         billing_flags: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 109 |         billing_time_rested: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 110 |         expansion: u8,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AuthResponse` 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 fields are never read
[INFO] [stdout]    --> src/protocol/game/packets.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct CharacterInfo {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub gender: u8,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 158 |     pub skin: u8,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 159 |     pub face: u8,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 160 |     pub hair_style: u8,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 161 |     pub hair_color: u8,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 162 |     pub facial_hair: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub map_id: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 166 |     pub x: f32,
[INFO] [stdout]     |         ^
[INFO] [stdout] 167 |     pub y: f32,
[INFO] [stdout]     |         ^
[INFO] [stdout] 168 |     pub z: f32,
[INFO] [stdout]     |         ^
[INFO] [stdout] 169 |     pub guild_id: u32,
[INFO] [stdout] 170 |     pub flags: u32,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 171 |     pub customize_flags: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 172 |     pub first_login: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 173 |     pub pet_display_id: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 174 |     pub pet_level: u32,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 175 |     pub pet_family: u32,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CharacterInfo` 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: field `o` is never read
[INFO] [stdout]    --> src/protocol/game/packets.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub struct LoginVerifyWorld {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub o: f32,
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LoginVerifyWorld` 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: constant `CMSG_LEAVE_CHANNEL` is never used
[INFO] [stdout]    --> src/protocol/packets/opcodes.rs:127:11
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub const CMSG_LEAVE_CHANNEL: u16 = 0x0098;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMSG_CHANNEL_LIST` is never used
[INFO] [stdout]    --> src/protocol/packets/opcodes.rs:129:11
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub const SMSG_CHANNEL_LIST: u16 = 0x009B;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMSG_WARDEN_DATA` is never used
[INFO] [stdout]    --> src/protocol/packets/opcodes.rs:150:11
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub const SMSG_WARDEN_DATA: u16 = 0x02E6;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMSG_WARDEN_DATA` is never used
[INFO] [stdout]    --> src/protocol/packets/opcodes.rs:151:11
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub const CMSG_WARDEN_DATA: u16 = 0x02E7;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMSG_COMPRESSED_UPDATE_OBJECT` is never used
[INFO] [stdout]    --> src/protocol/packets/opcodes.rs:157:11
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub const SMSG_COMPRESSED_UPDATE_OBJECT: u16 = 0x01F6;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `opcode_name` is never used
[INFO] [stdout]    --> src/protocol/packets/opcodes.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn opcode_name(opcode: u16) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUTH_LOGON_CHALLENGE` is never used
[INFO] [stdout]   --> src/protocol/packets/opcodes.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const AUTH_LOGON_CHALLENGE: u8 = 0x00;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUTH_LOGON_PROOF` is never used
[INFO] [stdout]   --> src/protocol/packets/opcodes.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub const AUTH_LOGON_PROOF: u8 = 0x01;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUTH_RECONNECT_CHALLENGE` is never used
[INFO] [stdout]   --> src/protocol/packets/opcodes.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const AUTH_RECONNECT_CHALLENGE: u8 = 0x02;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUTH_RECONNECT_PROOF` is never used
[INFO] [stdout]   --> src/protocol/packets/opcodes.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub const AUTH_RECONNECT_PROOF: u8 = 0x03;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REALM_LIST` is never used
[INFO] [stdout]   --> src/protocol/packets/opcodes.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub const REALM_LIST: u8 = 0x10;
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `secret_key` is never read
[INFO] [stdout]   --> src/protocol/realm/handler.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct RealmHandler {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     secret_key: StaticSecret,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NONE` is never used
[INFO] [stdout]    --> src/protocol/realm/packets.rs:118:15
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub const NONE: u8 = 0x00;
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INVALID` is never used
[INFO] [stdout]    --> src/protocol/realm/packets.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub const INVALID: u8 = 0x01;
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OFFLINE` is never used
[INFO] [stdout]    --> src/protocol/realm/packets.rs:120:15
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub const OFFLINE: u8 = 0x02;
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/protocol/game/guild.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |         for i in 0..member_count {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `router` is never used
[INFO] [stdout]   --> src/bridge/orchestrator.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Bridge {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn router(&self) -> SharedRouter {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `command_tx` and `dashboard_config` are never read
[INFO] [stdout]    --> src/bridge/state.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub struct ResolvedBridgeState {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub command_tx: mpsc::UnboundedSender<WowCommand>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub dashboard_config: Option<GuildDashboardConfig>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResolvedBridgeState` 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 `channel_id` is never read
[INFO] [stdout]   --> src/common/messages.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct DiscordMessage {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub channel_id: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiscordMessage` 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: variant `String` is never constructed
[INFO] [stdout]    --> src/common/messages.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub enum CommandResponseData {
[INFO] [stdout]     |          ------------------- variant in this enum
[INFO] [stdout] 110 |     /// Simple text response.
[INFO] [stdout] 111 |     String(String),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CommandResponseData` 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: methods `name` and `language` are never used
[INFO] [stdout]    --> src/common/resources.rs:96:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl Race {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn name(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn language(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `race` is never read
[INFO] [stdout]   --> src/common/types.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Player {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub race: Option<Race>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Player` 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: fields `language`, `sender_guid`, and `achievement_id` are never read
[INFO] [stdout]    --> src/common/types.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub struct ChatMessage {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 100 |     pub chat_type: ChatType,
[INFO] [stdout] 101 |     pub language: u32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 102 |     pub sender_guid: Guid,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub achievement_id: Option<u32>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChatMessage` 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 `GuildInfo` is never constructed
[INFO] [stdout]    --> src/common/types.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct GuildInfo {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_default` is never used
[INFO] [stdout]   --> src/config/mod.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn load_default() -> Result<Config> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `platform`, `version`, `realm_build`, and `game_build` are never read
[INFO] [stdout]    --> src/config/types.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub struct WowConfig {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 465 |     pub platform: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 471 |     pub version: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 474 |     pub realm_build: Option<u32>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 477 |     pub game_build: Option<u32>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WowConfig` 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: methods `dot_commands_enabled`, `tag_failed_notifications_enabled`, and `get_guild_event_format` are never used
[INFO] [stdout]    --> src/config/types.rs:718:12
[INFO] [stdout]     |
[INFO] [stdout] 703 | impl Config {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 718 |     pub fn dot_commands_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 723 |     pub fn tag_failed_notifications_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 738 |     pub fn get_guild_event_format(&self, event: &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dashboard_config`, `outgoing_wow_tx`, `command_tx`, and `bridge` are never read
[INFO] [stdout]    --> src/discord/client.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub struct DiscordBot {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 224 |     dashboard_config: GuildDashboardConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 225 |     outgoing_wow_tx: mpsc::UnboundedSender<BridgeMessage>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 226 |     command_tx: mpsc::UnboundedSender<WowCommand>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 227 |     bridge: Arc<Bridge>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_NOTIFICATION_FORMAT` is never used
[INFO] [stdout]   --> src/game/formatter.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const DEFAULT_NOTIFICATION_FORMAT: &str = "%message";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_channel` is never used
[INFO] [stdout]    --> src/game/formatter.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl FormatContext {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn with_channel(mut self, channel: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `target_guid`, `message_length`, and `chat_tag` are never read
[INFO] [stdout]    --> src/protocol/game/chat.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct MessageChat {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub target_guid: Option<Guid>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 136 |     pub message_length: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 137 |     pub message: String,
[INFO] [stdout] 138 |     pub chat_tag: u8,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MessageChat` 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: method `to_chat_message_with_format` is never used
[INFO] [stdout]    --> src/protocol/game/chat.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl MessageChat {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn to_chat_message_with_format(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `realm_name` and `gender` are never read
[INFO] [stdout]    --> src/protocol/game/chat.rs:513:9
[INFO] [stdout]     |
[INFO] [stdout] 510 | pub struct NameQueryResponse {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 513 |     pub realm_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 514 |     pub race: u32,
[INFO] [stdout] 515 |     pub gender: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NameQueryResponse` 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: fields `guild_id`, `emblem_style`, `emblem_color`, `border_style`, `border_color`, and `background_color` are never read
[INFO] [stdout]   --> src/protocol/game/guild.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct GuildQueryResponse {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 30 |     pub guild_id: u32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub emblem_style: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 34 |     pub emblem_color: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 35 |     pub border_style: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 36 |     pub border_color: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub background_color: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GuildQueryResponse` 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: field `gender` is never read
[INFO] [stdout]    --> src/protocol/game/guild.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct GuildRosterMember {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub gender: u8,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GuildRosterMember` 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: fields `member_count` and `guild_info` are never read
[INFO] [stdout]    --> src/protocol/game/guild.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub struct GuildRoster {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 184 |     pub member_count: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 185 |     pub motd: String,
[INFO] [stdout] 186 |     pub guild_info: String,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GuildRoster` 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: method `to_guild_event` is never used
[INFO] [stdout]    --> src/protocol/game/guild.rs:320:12
[INFO] [stdout]     |
[INFO] [stdout] 318 | impl GuildEventPacket {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 319 |     /// Convert to the common GuildEvent type if applicable.
[INFO] [stdout] 320 |     pub fn to_guild_event(&self) -> Option<GuildEvent> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_guild_info` is never used
[INFO] [stdout]    --> src/protocol/game/handler.rs:640:12
[INFO] [stdout]     |
[INFO] [stdout]  79 | impl GameHandler {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 640 |     pub fn get_guild_info(&self) -> GuildInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `billing_time_remaining`, `billing_flags`, `billing_time_rested`, and `expansion` are never read
[INFO] [stdout]    --> src/protocol/game/packets.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     Success {
[INFO] [stdout]     |     ------- fields in this variant
[INFO] [stdout] 107 |         billing_time_remaining: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 108 |         billing_flags: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 109 |         billing_time_rested: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 110 |         expansion: u8,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AuthResponse` 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 fields are never read
[INFO] [stdout]    --> src/protocol/game/packets.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct CharacterInfo {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub gender: u8,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 158 |     pub skin: u8,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 159 |     pub face: u8,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 160 |     pub hair_style: u8,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 161 |     pub hair_color: u8,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 162 |     pub facial_hair: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub map_id: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 166 |     pub x: f32,
[INFO] [stdout]     |         ^
[INFO] [stdout] 167 |     pub y: f32,
[INFO] [stdout]     |         ^
[INFO] [stdout] 168 |     pub z: f32,
[INFO] [stdout]     |         ^
[INFO] [stdout] 169 |     pub guild_id: u32,
[INFO] [stdout] 170 |     pub flags: u32,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 171 |     pub customize_flags: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 172 |     pub first_login: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 173 |     pub pet_display_id: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 174 |     pub pet_level: u32,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 175 |     pub pet_family: u32,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CharacterInfo` 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: field `o` is never read
[INFO] [stdout]    --> src/protocol/game/packets.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub struct LoginVerifyWorld {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub o: f32,
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LoginVerifyWorld` 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: constant `CMSG_LEAVE_CHANNEL` is never used
[INFO] [stdout]    --> src/protocol/packets/opcodes.rs:127:11
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub const CMSG_LEAVE_CHANNEL: u16 = 0x0098;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMSG_CHANNEL_LIST` is never used
[INFO] [stdout]    --> src/protocol/packets/opcodes.rs:129:11
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub const SMSG_CHANNEL_LIST: u16 = 0x009B;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMSG_WARDEN_DATA` is never used
[INFO] [stdout]    --> src/protocol/packets/opcodes.rs:150:11
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub const SMSG_WARDEN_DATA: u16 = 0x02E6;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMSG_WARDEN_DATA` is never used
[INFO] [stdout]    --> src/protocol/packets/opcodes.rs:151:11
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub const CMSG_WARDEN_DATA: u16 = 0x02E7;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMSG_COMPRESSED_UPDATE_OBJECT` is never used
[INFO] [stdout]    --> src/protocol/packets/opcodes.rs:157:11
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub const SMSG_COMPRESSED_UPDATE_OBJECT: u16 = 0x01F6;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `opcode_name` is never used
[INFO] [stdout]    --> src/protocol/packets/opcodes.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn opcode_name(opcode: u16) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUTH_LOGON_CHALLENGE` is never used
[INFO] [stdout]   --> src/protocol/packets/opcodes.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const AUTH_LOGON_CHALLENGE: u8 = 0x00;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUTH_LOGON_PROOF` is never used
[INFO] [stdout]   --> src/protocol/packets/opcodes.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub const AUTH_LOGON_PROOF: u8 = 0x01;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUTH_RECONNECT_CHALLENGE` is never used
[INFO] [stdout]   --> src/protocol/packets/opcodes.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const AUTH_RECONNECT_CHALLENGE: u8 = 0x02;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUTH_RECONNECT_PROOF` is never used
[INFO] [stdout]   --> src/protocol/packets/opcodes.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub const AUTH_RECONNECT_PROOF: u8 = 0x03;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REALM_LIST` is never used
[INFO] [stdout]   --> src/protocol/packets/opcodes.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub const REALM_LIST: u8 = 0x10;
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `secret_key` is never read
[INFO] [stdout]   --> src/protocol/realm/handler.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct RealmHandler {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     secret_key: StaticSecret,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NONE` is never used
[INFO] [stdout]    --> src/protocol/realm/packets.rs:118:15
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub const NONE: u8 = 0x00;
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INVALID` is never used
[INFO] [stdout]    --> src/protocol/realm/packets.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub const INVALID: u8 = 0x01;
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OFFLINE` is never used
[INFO] [stdout]    --> src/protocol/realm/packets.rs:120:15
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub const OFFLINE: u8 = 0x02;
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 07s
[INFO] running `Command { std: "docker" "inspect" "750711d880c217c11bd7e4cdb44b07fb2c67cfd139efdd589adf9ff3b8483b16", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "750711d880c217c11bd7e4cdb44b07fb2c67cfd139efdd589adf9ff3b8483b16", kill_on_drop: false }`
[INFO] [stdout] 750711d880c217c11bd7e4cdb44b07fb2c67cfd139efdd589adf9ff3b8483b16
