[INFO] cloning repository https://github.com/qq238373-cpu/ghostpp [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/qq238373-cpu/ghostpp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqq238373-cpu%2Fghostpp", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqq238373-cpu%2Fghostpp'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 76828eda0a550def1f8b4d4de8a8d9c74ef55777 [INFO] testing qq238373-cpu/ghostpp against try#8da20828b6ea601dfd8e2448cb50ace88876bd78 for pr-150933 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqq238373-cpu%2Fghostpp" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/qq238373-cpu/ghostpp [INFO] finished tweaking git repo https://github.com/qq238373-cpu/ghostpp [INFO] tweaked toml for git repo https://github.com/qq238373-cpu/ghostpp written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/qq238373-cpu/ghostpp on toolchain 8da20828b6ea601dfd8e2448cb50ace88876bd78 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/qq238373-cpu/ghostpp 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" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0280b9589f924cc46426be01d85d54362d8ca7d9fe39673e5a7ca13d530c5cd8 [INFO] running `Command { std: "docker" "start" "-a" "0280b9589f924cc46426be01d85d54362d8ca7d9fe39673e5a7ca13d530c5cd8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0280b9589f924cc46426be01d85d54362d8ca7d9fe39673e5a7ca13d530c5cd8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0280b9589f924cc46426be01d85d54362d8ca7d9fe39673e5a7ca13d530c5cd8", kill_on_drop: false }` [INFO] [stdout] 0280b9589f924cc46426be01d85d54362d8ca7d9fe39673e5a7ca13d530c5cd8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bf182b977b8de237ae6a557adb262081dbc44af11d1c206ae37cb7a2cab92759 [INFO] running `Command { std: "docker" "start" "-a" "bf182b977b8de237ae6a557adb262081dbc44af11d1c206ae37cb7a2cab92759", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling deranged v0.5.6 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling line-clipping v0.3.5 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling libsqlite3-sys v0.36.0 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling toml_parser v1.0.7+spec-1.1.0 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling rand_core v0.10.0 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling nibble_vec v0.1.0 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling tinyvec v1.10.0 [INFO] [stderr] Compiling toml_edit v0.23.10+spec-1.0.0 [INFO] [stderr] Compiling anyhow v1.0.101 [INFO] [stderr] Compiling endian-type v0.1.2 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling cpufeatures v0.3.0 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling chacha20 v0.10.0 [INFO] [stderr] Compiling radix_trie v0.2.1 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling bzip2-rs v0.1.2 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [INFO] [stderr] Compiling fd-lock v4.0.4 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling hashlink v0.11.0 [INFO] [stderr] Compiling getopts v0.2.24 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling implode v0.1.1 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling home v0.5.12 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling rusqlite v0.38.0 [INFO] [stderr] Compiling mpq v0.8.1 [INFO] [stderr] Compiling rand v0.10.0 [INFO] [stderr] Compiling libloading v0.9.0 [INFO] [stderr] Compiling rustyline v17.0.2 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling kasuari v0.4.11 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling env_filter v0.1.4 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling num_enum_derive v0.7.5 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling num_enum v0.7.5 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling ratatui-core v0.1.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling tui-logger v0.18.1 [INFO] [stderr] Compiling ghost-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/bncsutilinterface.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | use tracing::{info, error}; [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: `IncomingGameHost` [INFO] [stdout] --> src/bnet_update.rs:1:64 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::bnetprotocol::{BnetProtocol, IncomingChatEventEnum, IncomingGameHost, Protocol}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `make_shared` [INFO] [stdout] --> src/bnet_update.rs:3:58 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::socket::{GhostTcpClient, get_ticks, get_time, make_shared}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/gamebase.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/gamebase.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsyncReadExt` and `AsyncWriteExt` [INFO] [stdout] --> src/gamebase.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TcpListener` and `TcpStream` [INFO] [stdout] --> src/gamebase.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 12 | use tokio::net::{TcpListener, TcpStream}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::RwLock` [INFO] [stdout] --> src/gamebase.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use tokio::sync::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `self` [INFO] [stdout] --> src/gamebase.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | use tokio::time::{self, Duration}; [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ghost::*` [INFO] [stdout] --> src/ghost_update.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::ghost::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_ticks` [INFO] [stdout] --> src/ghost_update.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::socket::{get_ticks, get_time}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/ghost_update.rs:7:28 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{error, info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/ghostdb.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/ghostdb.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use tracing::{info, error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/map.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::game` [INFO] [stdout] --> src/map.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::game; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ghost::*` [INFO] [stdout] --> src/map.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::ghost::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::crc32::*` [INFO] [stdout] --> src/map.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::crc32::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::sha1::*` [INFO] [stdout] --> src/map.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::sha1::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::config` [INFO] [stdout] --> src/map.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::config; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::gameslot::*` [INFO] [stdout] --> src/map.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::gameslot::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ghost` [INFO] [stdout] --> src/map.rs:14:26 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::{SharedGhost, Ghost}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/map.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | use mpq::{Archive, File}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/map.rs:18:21 [INFO] [stdout] | [INFO] [stdout] 18 | use tracing::{info, error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/socket.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{info, error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:330:21 [INFO] [stdout] | [INFO] [stdout] 330 | let mut commonj = read_file_full("maps/common.j").unwrap(); [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/map.rs:335:25 [INFO] [stdout] | [INFO] [stdout] 335 | let mut blizzardj = read_file_full("maps/blizzard.j").unwrap(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:346:39 [INFO] [stdout] | [INFO] [stdout] 346 | ... if let Ok(mut cmnj) = map.open_file("Scripts\\common.j") { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:347:37 [INFO] [stdout] | [INFO] [stdout] 347 | ... let mut file_length = cmnj.size(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:378:39 [INFO] [stdout] | [INFO] [stdout] 378 | ... if let Ok(mut blrj) = map.open_file("Scripts\\blizzard.j") { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:379:37 [INFO] [stdout] | [INFO] [stdout] 379 | ... let mut file_length = blrj.size(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:433:43 [INFO] [stdout] | [INFO] [stdout] 433 | ... if let Ok(mut file) = map.open_file(i) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:434:37 [INFO] [stdout] | [INFO] [stdout] 434 | ... let mut length = file.size(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:482:13 [INFO] [stdout] | [INFO] [stdout] 482 | let mut map_filter_type: u8 = MAPFILTER_TYPE_SCENARIO; [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:487:23 [INFO] [stdout] | [INFO] [stdout] 487 | if let Ok(mut w3i_file) = map.open_file("war3map.w3i") { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `logon_type` [INFO] [stdout] --> src/bnet_update.rs:250:29 [INFO] [stdout] | [INFO] [stdout] 250 | let logon_type = p.get_logon_type(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logon_type` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mpq_file_time` [INFO] [stdout] --> src/bnet_update.rs:252:29 [INFO] [stdout] | [INFO] [stdout] 252 | let mpq_file_time = p.get_mpq_file_time(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mpq_file_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `length_bytes` is never read [INFO] [stdout] --> src/bnetprotocol.rs:890:36 [INFO] [stdout] | [INFO] [stdout] 890 | let mut length_bytes = ByteArray::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `save_game` [INFO] [stdout] --> src/game.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | save_game: Option, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_save_game` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interval` [INFO] [stdout] --> src/game.rs:586:27 [INFO] [stdout] | [INFO] [stdout] 586 | if let Ok(interval) = parts[0].parse::() { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reserved` [INFO] [stdout] --> src/gamebase.rs:377:34 [INFO] [stdout] | [INFO] [stdout] 377 | pub fn get_empty_slot(&self, reserved: bool) -> Option { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reserved` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unlock` [INFO] [stdout] --> src/gamebase.rs:438:45 [INFO] [stdout] | [INFO] [stdout] 438 | pub fn open_slot(&mut self, sid: usize, unlock: bool) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_unlock` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_size` [INFO] [stdout] --> src/gamebase.rs:909:21 [INFO] [stdout] | [INFO] [stdout] 909 | let map_size = self.map.map_size.clone(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_type` [INFO] [stdout] --> src/ghost_update.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | game_type, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `game_type: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `creator` [INFO] [stdout] --> src/ghost_update.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | creator, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `creator: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `creator_server` [INFO] [stdout] --> src/ghost_update.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | creator_server, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `creator_server: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stay_time` [INFO] [stdout] --> src/ghostdb.rs:343:9 [INFO] [stdout] | [INFO] [stdout] 343 | stay_time: u32, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stay_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `game_flags` is never read [INFO] [stdout] --> src/map.rs:184:35 [INFO] [stdout] | [INFO] [stdout] 184 | let mut game_flags: u32 = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/map.rs:357:45 [INFO] [stdout] | [INFO] [stdout] 357 | ... let val = val ^ self.xor_rotate_left(&buf[..bytes_read]); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/map.rs:389:45 [INFO] [stdout] | [INFO] [stdout] 389 | ... let val = val ^ self.xor_rotate_left(&buf[..bytes_read]); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_filter_type` [INFO] [stdout] --> src/map.rs:482:13 [INFO] [stdout] | [INFO] [stdout] 482 | let mut map_filter_type: u8 = MAPFILTER_TYPE_SCENARIO; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_filter_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/map.rs:526:33 [INFO] [stdout] | [INFO] [stdout] 526 | ... for i in 0..raw_map_num_players { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `map_mpq_ready` is never read [INFO] [stdout] --> src/map.rs:299:37 [INFO] [stdout] | [INFO] [stdout] 299 | let mut map_mpq_ready = false; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `KR_OLD_GAME_VERSION`, `KR_INVALID_VERSION`, `KR_ROC_KEY_IN_USE`, and `KR_TFT_KEY_IN_USE` are never constructed [INFO] [stdout] --> src/bnetprotocol.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub enum KeyResult { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 43 | KR_GOOD = 0, [INFO] [stdout] 44 | KR_OLD_GAME_VERSION = 256, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 45 | KR_INVALID_VERSION = 257, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | KR_ROC_KEY_IN_USE = 513, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 47 | KR_TFT_KEY_IN_USE = 529, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CsvParser` is never constructed [INFO] [stdout] --> src/csvparser.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct CsvParser { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/csvparser.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl CsvParser { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 8 | /// Создать пустой парсер. [INFO] [stdout] 9 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn from_str(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn set_data(&mut self, s: &str) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn skip_spaces(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn read_int(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn read_float(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn read_string(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn is_eof(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DbBan` is never constructed [INFO] [stdout] --> src/game.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct DbBan { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/game.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl DbBan { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 21 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DbGame` is never constructed [INFO] [stdout] --> src/game.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct DbGame { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/game.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl DbGame { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 59 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DbGamePlayer` is never constructed [INFO] [stdout] --> src/game.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 85 | pub struct DbGamePlayer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/game.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 100 | impl DbGamePlayer { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 101 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DbGamePlayerSummary` is never constructed [INFO] [stdout] --> src/game.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | pub struct DbGamePlayerSummary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DbDotaPlayerSummary` is never constructed [INFO] [stdout] --> src/game.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 142 | pub struct DbDotaPlayerSummary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/game.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 157 | impl DbDotaPlayerSummary { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 158 | pub fn avg(&self, field: u32) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn avg_kills(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn avg_deaths(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn avg_creep_kills(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn avg_creep_denies(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn avg_assists(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn avg_neutral_kills(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn avg_tower_kills(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn avg_rax_kills(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn avg_courier_kills(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Game` is never constructed [INFO] [stdout] --> src/game.rs:196:12 [INFO] [stdout] | [INFO] [stdout] 196 | pub struct Game { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StatsType` is never used [INFO] [stdout] --> src/game.rs:215:10 [INFO] [stdout] | [INFO] [stdout] 215 | pub enum StatsType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/game.rs:222:12 [INFO] [stdout] | [INFO] [stdout] 221 | impl Game { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 222 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | pub fn event_game_started(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn event_player_deleted(&mut self, player_idx: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 361 | pub fn handle_bot_command( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 421 | fn cmd_ping(&self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | fn cmd_abort(&mut self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 441 | fn cmd_close(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 451 | fn cmd_closeall(&mut self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 456 | fn cmd_open(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 466 | fn cmd_openall(&mut self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 471 | fn cmd_hold(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 480 | fn cmd_kick(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 495 | fn cmd_mute(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 505 | fn cmd_unmute(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 515 | fn cmd_start(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 523 | fn cmd_swap(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 540 | fn cmd_shuffle(&mut self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 564 | fn cmd_lock(&mut self, has_perm: bool) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 573 | fn cmd_unlock(&mut self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 578 | fn cmd_announce(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 595 | fn cmd_autosave(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 609 | fn cmd_autostart(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 621 | fn cmd_drop(&mut self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 630 | fn cmd_from(&self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 640 | fn cmd_latency(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 653 | fn cmd_synclimit(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 666 | fn cmd_comp(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BotCommandResult` is never used [INFO] [stdout] --> src/game.rs:682:10 [INFO] [stdout] | [INFO] [stdout] 682 | pub enum BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `message` and `broadcast` are never used [INFO] [stdout] --> src/game.rs:696:12 [INFO] [stdout] | [INFO] [stdout] 695 | impl BotCommandResult { [INFO] [stdout] | --------------------- associated functions in this implementation [INFO] [stdout] 696 | pub fn message(msg: &str) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 699 | pub fn broadcast(msg: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_PRIVATE` is never used [INFO] [stdout] --> src/gamebase.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const GAME_PRIVATE: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_PUBLIC` is never used [INFO] [stdout] --> src/gamebase.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub const GAME_PUBLIC: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_DISCONNECT` is never used [INFO] [stdout] --> src/gamebase.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const PLAYER_LEAVE_DISCONNECT: u32 = 13; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_LOST` is never used [INFO] [stdout] --> src/gamebase.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const PLAYER_LEAVE_LOST: u32 = 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_LOSTBUILDINGS` is never used [INFO] [stdout] --> src/gamebase.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const PLAYER_LEAVE_LOSTBUILDINGS: u32 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_WON` is never used [INFO] [stdout] --> src/gamebase.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const PLAYER_LEAVE_WON: u32 = 9; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_DRAW` is never used [INFO] [stdout] --> src/gamebase.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | pub const PLAYER_LEAVE_DRAW: u32 = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_OBSERVER` is never used [INFO] [stdout] --> src/gamebase.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const PLAYER_LEAVE_OBSERVER: u32 = 11; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_LOBBY` is never used [INFO] [stdout] --> src/gamebase.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const PLAYER_LEAVE_LOBBY: u32 = 21; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_GPROXY` is never used [INFO] [stdout] --> src/gamebase.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | pub const PLAYER_LEAVE_GPROXY: u32 = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_UNKNOWN0` is never used [INFO] [stdout] --> src/gamebase.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const MAP_GAMETYPE_UNKNOWN0: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_SAVEDGAME` is never used [INFO] [stdout] --> src/gamebase.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | pub const MAP_GAMETYPE_SAVEDGAME: u32 = 512; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_FIXEDPLAYERSETTING` is never used [INFO] [stdout] --> src/gamebase.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const MAP_OPT_FIXEDPLAYERSETTING: u32 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BaseGame` is never constructed [INFO] [stdout] --> src/gamebase.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct BaseGame { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/gamebase.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 152 | impl BaseGame { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 153 | /// Create a new BaseGame from config / ghost state [INFO] [stdout] 154 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | pub fn get_slots_occupied(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 325 | pub fn get_slots_open(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 332 | pub fn get_num_human_players(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 336 | pub fn get_num_players(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn get_host_pid(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 353 | pub fn get_pids(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 361 | pub fn get_new_pid(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 377 | pub fn get_empty_slot(&self, reserved: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub fn get_sid_from_pid(&self, pid: u8) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 392 | pub fn get_player_from_pid(&self, pid: u8) -> Option<&GamePlayer> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn get_player_from_pid_mut(&mut self, pid: u8) -> Option<&mut GamePlayer> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 404 | pub fn get_player_from_name(&self, name: &str, sensitive: bool) -> Option<&GamePlayer> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 415 | pub fn get_player_index_from_name(&self, name: &str, sensitive: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 426 | pub fn get_player_from_sid(&self, sid: usize) -> Option<&GamePlayer> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 434 | pub fn is_owner(&self, name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | pub fn open_slot(&mut self, sid: usize, unlock: bool) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 448 | pub fn close_slot(&mut self, sid: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 458 | pub fn swap_slots(&mut self, sid1: usize, sid2: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 483 | pub fn create_virtual_host(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 501 | pub fn delete_virtual_host(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 514 | pub fn send_to(&self, player: &mut GamePlayer, data: &[u8]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 518 | pub fn send_all(&mut self, data: &[u8]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 526 | pub fn send_chat(&mut self, from_pid: u8, to_pid: u8, message: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 562 | pub fn send_all_chat_from(&mut self, from_pid: u8, message: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 594 | pub fn send_all_chat(&mut self, message: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 599 | pub fn send_all_slot_info(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 613 | pub fn get_description(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 635 | pub fn send_all_actions(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 711 | pub fn start_countdown_auto(&mut self, require_spoof: bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 745 | pub fn event_game_started(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 770 | pub fn check_lag(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 814 | pub fn check_lag_stop(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 850 | pub fn stop_laggers(&mut self, reason: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 864 | pub fn update(&mut self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1098 | pub fn close_all_slots(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1106 | pub fn open_all_slots(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1114 | pub fn start_count_down(&mut self, force: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1122 | pub fn set_announce(&mut self, announce: bool) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1127 | pub fn computer_slot(&mut self, sid: u8, skill: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1134 | pub fn add_to_reserved(&mut self, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1138 | pub fn set_hcl(&mut self, _hcl: &str) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_time` is never used [INFO] [stdout] --> src/gameplayer.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn get_time() -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_ticks` is never used [INFO] [stdout] --> src/gameplayer.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn get_ticks() -> u32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommandPacket` is never constructed [INFO] [stdout] --> src/gameplayer.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct CommandPacket { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/gameplayer.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl CommandPacket { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 27 | pub fn new(packet_type: u8, id: u8, data: ByteArray) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PotentialPlayer` is never constructed [INFO] [stdout] --> src/gameplayer.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct PotentialPlayer { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `external_ip_string`, `receive_data`, `extract_packets`, `send`, and `take_send_buffer` are never used [INFO] [stdout] --> src/gameplayer.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl PotentialPlayer { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 56 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn external_ip_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn receive_data(&mut self, data: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn extract_packets(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn send(&mut self, data: &[u8]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn take_send_buffer(&mut self) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GamePlayer` is never constructed [INFO] [stdout] --> src/gameplayer.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 126 | pub struct GamePlayer { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_potential`, `get_ping`, `get_name_terminated`, `send`, `add_ping`, and `gproxy_ack` are never used [INFO] [stdout] --> src/gameplayer.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 202 | impl GamePlayer { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 203 | /// Создать нового игрока из PotentialPlayer. [INFO] [stdout] 204 | pub fn from_potential( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | pub fn get_ping(&self, lc_ping: bool) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 277 | pub fn get_name_terminated(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn send(&mut self, data: &[u8], game_loaded: bool) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub fn add_ping(&mut self, ping: u32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 306 | pub fn gproxy_ack(&mut self, last_packet: u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_HEADER_CONSTANT` is never used [INFO] [stdout] --> src/gameprotocol.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const W3GS_HEADER_CONSTANT: u8 = 0xF7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_PING_FROM_HOST` is never used [INFO] [stdout] --> src/gameprotocol.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const W3GS_PING_FROM_HOST: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_SLOT_INFO_JOIN` is never used [INFO] [stdout] --> src/gameprotocol.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const W3GS_SLOT_INFO_JOIN: u8 = 0x04; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_REJECT_JOIN` is never used [INFO] [stdout] --> src/gameprotocol.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const W3GS_REJECT_JOIN: u8 = 0x05; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_PLAYER_INFO` is never used [INFO] [stdout] --> src/gameprotocol.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const W3GS_PLAYER_INFO: u8 = 0x06; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_PLAYER_LEAVE_OTHERS` is never used [INFO] [stdout] --> src/gameprotocol.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const W3GS_PLAYER_LEAVE_OTHERS: u8 = 0x07; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_GAME_LOADED_OTHERS` is never used [INFO] [stdout] --> src/gameprotocol.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const W3GS_GAME_LOADED_OTHERS: u8 = 0x08; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_SLOT_INFO` is never used [INFO] [stdout] --> src/gameprotocol.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const W3GS_SLOT_INFO: u8 = 0x09; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_COUNTDOWN_START` is never used [INFO] [stdout] --> src/gameprotocol.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const W3GS_COUNTDOWN_START: u8 = 0x0A; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_COUNTDOWN_END` is never used [INFO] [stdout] --> src/gameprotocol.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const W3GS_COUNTDOWN_END: u8 = 0x0B; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_INCOMING_ACTION` is never used [INFO] [stdout] --> src/gameprotocol.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub const W3GS_INCOMING_ACTION: u8 = 0x0C; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_CHAT_FROM_HOST` is never used [INFO] [stdout] --> src/gameprotocol.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub const W3GS_CHAT_FROM_HOST: u8 = 0x0F; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_START_LAG` is never used [INFO] [stdout] --> src/gameprotocol.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const W3GS_START_LAG: u8 = 0x10; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_STOP_LAG` is never used [INFO] [stdout] --> src/gameprotocol.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const W3GS_STOP_LAG: u8 = 0x11; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_GAME_OVER` is never used [INFO] [stdout] --> src/gameprotocol.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const W3GS_GAME_OVER: u8 = 0x14; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_PLAYER_KICKED` is never used [INFO] [stdout] --> src/gameprotocol.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const W3GS_PLAYER_KICKED: u8 = 0x1C; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_LEAVE_ACK` is never used [INFO] [stdout] --> src/gameprotocol.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | pub const W3GS_LEAVE_ACK: u8 = 0x1B; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_REQ_JOIN` is never used [INFO] [stdout] --> src/gameprotocol.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const W3GS_REQ_JOIN: u8 = 0x1E; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_LEAVE_GAME` is never used [INFO] [stdout] --> src/gameprotocol.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const W3GS_LEAVE_GAME: u8 = 0x21; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_GAME_LOADED_SELF` is never used [INFO] [stdout] --> src/gameprotocol.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | pub const W3GS_GAME_LOADED_SELF: u8 = 0x23; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_OUTGOING_ACTION` is never used [INFO] [stdout] --> src/gameprotocol.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | pub const W3GS_OUTGOING_ACTION: u8 = 0x26; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_OUTGOING_KEEPALIVE` is never used [INFO] [stdout] --> src/gameprotocol.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const W3GS_OUTGOING_KEEPALIVE: u8 = 0x27; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_CHAT_TO_HOST` is never used [INFO] [stdout] --> src/gameprotocol.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | pub const W3GS_CHAT_TO_HOST: u8 = 0x28; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_DROP_REQ` is never used [INFO] [stdout] --> src/gameprotocol.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const W3GS_DROP_REQ: u8 = 0x29; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_SEARCH_GAME` is never used [INFO] [stdout] --> src/gameprotocol.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | pub const W3GS_SEARCH_GAME: u8 = 0x2F; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_GAME_INFO` is never used [INFO] [stdout] --> src/gameprotocol.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const W3GS_GAME_INFO: u8 = 0x30; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_CREATE_GAME` is never used [INFO] [stdout] --> src/gameprotocol.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | pub const W3GS_CREATE_GAME: u8 = 0x31; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_REFRESH_GAME` is never used [INFO] [stdout] --> src/gameprotocol.rs:35:11 [INFO] [stdout] | [INFO] [stdout] 35 | pub const W3GS_REFRESH_GAME: u8 = 0x32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_DECREATE_GAME` is never used [INFO] [stdout] --> src/gameprotocol.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const W3GS_DECREATE_GAME: u8 = 0x33; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_MAP_CHECK` is never used [INFO] [stdout] --> src/gameprotocol.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | pub const W3GS_MAP_CHECK: u8 = 0x3D; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_START_DOWNLOAD` is never used [INFO] [stdout] --> src/gameprotocol.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | pub const W3GS_START_DOWNLOAD: u8 = 0x3F; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_MAP_SIZE` is never used [INFO] [stdout] --> src/gameprotocol.rs:39:11 [INFO] [stdout] | [INFO] [stdout] 39 | pub const W3GS_MAP_SIZE: u8 = 0x42; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_MAP_PART` is never used [INFO] [stdout] --> src/gameprotocol.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | pub const W3GS_MAP_PART: u8 = 0x43; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_MAP_PART_OK` is never used [INFO] [stdout] --> src/gameprotocol.rs:41:11 [INFO] [stdout] | [INFO] [stdout] 41 | pub const W3GS_MAP_PART_OK: u8 = 0x44; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_MAP_PART_ERROR` is never used [INFO] [stdout] --> src/gameprotocol.rs:42:11 [INFO] [stdout] | [INFO] [stdout] 42 | pub const W3GS_MAP_PART_ERROR: u8 = 0x45; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_PONG_TO_HOST` is never used [INFO] [stdout] --> src/gameprotocol.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | pub const W3GS_PONG_TO_HOST: u8 = 0x46; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_INCOMING_ACTION2` is never used [INFO] [stdout] --> src/gameprotocol.rs:44:11 [INFO] [stdout] | [INFO] [stdout] 44 | pub const W3GS_INCOMING_ACTION2: u8 = 0x48; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_DISCONNECT` is never used [INFO] [stdout] --> src/gameprotocol.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub const PLAYER_LEAVE_DISCONNECT: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_LOST` is never used [INFO] [stdout] --> src/gameprotocol.rs:48:11 [INFO] [stdout] | [INFO] [stdout] 48 | pub const PLAYER_LEAVE_LOST: u32 = 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_LOSTBUILDINGS` is never used [INFO] [stdout] --> src/gameprotocol.rs:49:11 [INFO] [stdout] | [INFO] [stdout] 49 | pub const PLAYER_LEAVE_LOSTBUILDINGS: u32 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_WON` is never used [INFO] [stdout] --> src/gameprotocol.rs:50:11 [INFO] [stdout] | [INFO] [stdout] 50 | pub const PLAYER_LEAVE_WON: u32 = 9; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_DRAW` is never used [INFO] [stdout] --> src/gameprotocol.rs:51:11 [INFO] [stdout] | [INFO] [stdout] 51 | pub const PLAYER_LEAVE_DRAW: u32 = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_OBSERVER` is never used [INFO] [stdout] --> src/gameprotocol.rs:52:11 [INFO] [stdout] | [INFO] [stdout] 52 | pub const PLAYER_LEAVE_OBSERVER: u32 = 11; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_LOBBY` is never used [INFO] [stdout] --> src/gameprotocol.rs:53:11 [INFO] [stdout] | [INFO] [stdout] 53 | pub const PLAYER_LEAVE_LOBBY: u32 = 13; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_GPROXY` is never used [INFO] [stdout] --> src/gameprotocol.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | pub const PLAYER_LEAVE_GPROXY: u32 = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECTJOIN_FULL` is never used [INFO] [stdout] --> src/gameprotocol.rs:57:11 [INFO] [stdout] | [INFO] [stdout] 57 | pub const REJECTJOIN_FULL: u32 = 0x09; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECTJOIN_STARTED` is never used [INFO] [stdout] --> src/gameprotocol.rs:58:11 [INFO] [stdout] | [INFO] [stdout] 58 | pub const REJECTJOIN_STARTED: u32 = 0x10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECTJOIN_WRONGPASSWORD` is never used [INFO] [stdout] --> src/gameprotocol.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub const REJECTJOIN_WRONGPASSWORD: u32 = 0x27; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_STATUS_OPEN` is never used [INFO] [stdout] --> src/gameprotocol.rs:62:11 [INFO] [stdout] | [INFO] [stdout] 62 | pub const SLOT_STATUS_OPEN: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_STATUS_CLOSED` is never used [INFO] [stdout] --> src/gameprotocol.rs:63:11 [INFO] [stdout] | [INFO] [stdout] 63 | pub const SLOT_STATUS_CLOSED: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_STATUS_OCCUPIED` is never used [INFO] [stdout] --> src/gameprotocol.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | pub const SLOT_STATUS_OCCUPIED: u8 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_RACE_HUMAN` is never used [INFO] [stdout] --> src/gameprotocol.rs:67:11 [INFO] [stdout] | [INFO] [stdout] 67 | pub const SLOT_RACE_HUMAN: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_RACE_ORC` is never used [INFO] [stdout] --> src/gameprotocol.rs:68:11 [INFO] [stdout] | [INFO] [stdout] 68 | pub const SLOT_RACE_ORC: u8 = 0x02; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_RACE_NIGHTELF` is never used [INFO] [stdout] --> src/gameprotocol.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub const SLOT_RACE_NIGHTELF: u8 = 0x04; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_RACE_UNDEAD` is never used [INFO] [stdout] --> src/gameprotocol.rs:70:11 [INFO] [stdout] | [INFO] [stdout] 70 | pub const SLOT_RACE_UNDEAD: u8 = 0x08; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_RACE_RANDOM` is never used [INFO] [stdout] --> src/gameprotocol.rs:71:11 [INFO] [stdout] | [INFO] [stdout] 71 | pub const SLOT_RACE_RANDOM: u8 = 0x20; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_RACE_SELECTABLE` is never used [INFO] [stdout] --> src/gameprotocol.rs:72:11 [INFO] [stdout] | [INFO] [stdout] 72 | pub const SLOT_RACE_SELECTABLE: u8 = 0x40; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_COMP_EASY` is never used [INFO] [stdout] --> src/gameprotocol.rs:75:11 [INFO] [stdout] | [INFO] [stdout] 75 | pub const SLOT_COMP_EASY: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_COMP_NORMAL` is never used [INFO] [stdout] --> src/gameprotocol.rs:76:11 [INFO] [stdout] | [INFO] [stdout] 76 | pub const SLOT_COMP_NORMAL: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_COMP_INSANE` is never used [INFO] [stdout] --> src/gameprotocol.rs:77:11 [INFO] [stdout] | [INFO] [stdout] 77 | pub const SLOT_COMP_INSANE: u8 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_MELEE` is never used [INFO] [stdout] --> src/gameprotocol.rs:80:11 [INFO] [stdout] | [INFO] [stdout] 80 | pub const MAP_OPT_MELEE: u32 = 1 << 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_FIXED_PLAYER_SETTINGS` is never used [INFO] [stdout] --> src/gameprotocol.rs:81:11 [INFO] [stdout] | [INFO] [stdout] 81 | pub const MAP_OPT_FIXED_PLAYER_SETTINGS: u32 = 1 << 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_CUSTOM_FORCES` is never used [INFO] [stdout] --> src/gameprotocol.rs:82:11 [INFO] [stdout] | [INFO] [stdout] 82 | pub const MAP_OPT_CUSTOM_FORCES: u32 = 1 << 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_CUSTOM_TECHTREE` is never used [INFO] [stdout] --> src/gameprotocol.rs:83:11 [INFO] [stdout] | [INFO] [stdout] 83 | pub const MAP_OPT_CUSTOM_TECHTREE: u32 = 1 << 6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_CUSTOM_ABILITIES` is never used [INFO] [stdout] --> src/gameprotocol.rs:84:11 [INFO] [stdout] | [INFO] [stdout] 84 | pub const MAP_OPT_CUSTOM_ABILITIES: u32 = 1 << 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_CUSTOM_UPGRADES` is never used [INFO] [stdout] --> src/gameprotocol.rs:85:11 [INFO] [stdout] | [INFO] [stdout] 85 | pub const MAP_OPT_CUSTOM_UPGRADES: u32 = 1 << 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_WATERWAVE` is never used [INFO] [stdout] --> src/gameprotocol.rs:86:11 [INFO] [stdout] | [INFO] [stdout] 86 | pub const MAP_OPT_WATERWAVE: u32 = 1 << 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_FLAG_TEAMSTOGETHER` is never used [INFO] [stdout] --> src/gameprotocol.rs:89:11 [INFO] [stdout] | [INFO] [stdout] 89 | pub const MAP_FLAG_TEAMSTOGETHER: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_FLAG_FIXEDTEAMS` is never used [INFO] [stdout] --> src/gameprotocol.rs:90:11 [INFO] [stdout] | [INFO] [stdout] 90 | pub const MAP_FLAG_FIXEDTEAMS: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_FLAG_UNITSHARE` is never used [INFO] [stdout] --> src/gameprotocol.rs:91:11 [INFO] [stdout] | [INFO] [stdout] 91 | pub const MAP_FLAG_UNITSHARE: u32 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_FLAG_RANDOMHERO` is never used [INFO] [stdout] --> src/gameprotocol.rs:92:11 [INFO] [stdout] | [INFO] [stdout] 92 | pub const MAP_FLAG_RANDOMHERO: u32 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_FLAG_RANDOMRACES` is never used [INFO] [stdout] --> src/gameprotocol.rs:93:11 [INFO] [stdout] | [INFO] [stdout] 93 | pub const MAP_FLAG_RANDOMRACES: u32 = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_NONE` is never used [INFO] [stdout] --> src/gameprotocol.rs:96:11 [INFO] [stdout] | [INFO] [stdout] 96 | pub const GAME_NONE: u8 = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_PUBLIC` is never used [INFO] [stdout] --> src/gameprotocol.rs:97:11 [INFO] [stdout] | [INFO] [stdout] 97 | pub const GAME_PUBLIC: u8 = 16; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_PRIVATE` is never used [INFO] [stdout] --> src/gameprotocol.rs:98:11 [INFO] [stdout] | [INFO] [stdout] 98 | pub const GAME_PRIVATE: u8 = 17; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_CLOSE` is never used [INFO] [stdout] --> src/gameprotocol.rs:99:11 [INFO] [stdout] | [INFO] [stdout] 99 | pub const GAME_CLOSE: u8 = 18; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_UNKNOWN0` is never used [INFO] [stdout] --> src/gameprotocol.rs:102:11 [INFO] [stdout] | [INFO] [stdout] 102 | pub const MAP_GAMETYPE_UNKNOWN0: u32 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_CUSTOM` is never used [INFO] [stdout] --> src/gameprotocol.rs:103:11 [INFO] [stdout] | [INFO] [stdout] 103 | pub const MAP_GAMETYPE_CUSTOM: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_SAVEDGAME` is never used [INFO] [stdout] --> src/gameprotocol.rs:104:11 [INFO] [stdout] | [INFO] [stdout] 104 | pub const MAP_GAMETYPE_SAVEDGAME: u32 = 0x0200; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_PRIVATEGAME` is never used [INFO] [stdout] --> src/gameprotocol.rs:105:11 [INFO] [stdout] | [INFO] [stdout] 105 | pub const MAP_GAMETYPE_PRIVATEGAME: u32 = 0x0800; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_BLIZZARD` is never used [INFO] [stdout] --> src/gameprotocol.rs:106:11 [INFO] [stdout] | [INFO] [stdout] 106 | pub const MAP_GAMETYPE_BLIZZARD: u32 = 0x2000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_MAKERBLIZ` is never used [INFO] [stdout] --> src/gameprotocol.rs:107:11 [INFO] [stdout] | [INFO] [stdout] 107 | pub const MAP_GAMETYPE_MAKERBLIZ: u32 = 0x2000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_MAKERUSER` is never used [INFO] [stdout] --> src/gameprotocol.rs:108:11 [INFO] [stdout] | [INFO] [stdout] 108 | pub const MAP_GAMETYPE_MAKERUSER: u32 = 0x4000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAT_MESSAGE` is never used [INFO] [stdout] --> src/gameprotocol.rs:111:11 [INFO] [stdout] | [INFO] [stdout] 111 | pub const CHAT_MESSAGE: u8 = 16; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAT_TEAM_CHANGE` is never used [INFO] [stdout] --> src/gameprotocol.rs:112:11 [INFO] [stdout] | [INFO] [stdout] 112 | pub const CHAT_TEAM_CHANGE: u8 = 17; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAT_COLOUR_CHANGE` is never used [INFO] [stdout] --> src/gameprotocol.rs:113:11 [INFO] [stdout] | [INFO] [stdout] 113 | pub const CHAT_COLOUR_CHANGE: u8 = 18; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAT_RACE_CHANGE` is never used [INFO] [stdout] --> src/gameprotocol.rs:114:11 [INFO] [stdout] | [INFO] [stdout] 114 | pub const CHAT_RACE_CHANGE: u8 = 19; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAT_HANDICAP_CHANGE` is never used [INFO] [stdout] --> src/gameprotocol.rs:115:11 [INFO] [stdout] | [INFO] [stdout] 115 | pub const CHAT_HANDICAP_CHANGE: u8 = 20; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAT_MESSAGE_EXTRA` is never used [INFO] [stdout] --> src/gameprotocol.rs:116:11 [INFO] [stdout] | [INFO] [stdout] 116 | pub const CHAT_MESSAGE_EXTRA: u8 = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHATFLAG_TO_ALL` is never used [INFO] [stdout] --> src/gameprotocol.rs:119:11 [INFO] [stdout] | [INFO] [stdout] 119 | pub const CHATFLAG_TO_ALL: u8 = CHAT_MESSAGE; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOTSTATUS_OPEN` is never used [INFO] [stdout] --> src/gameprotocol.rs:120:11 [INFO] [stdout] | [INFO] [stdout] 120 | pub const SLOTSTATUS_OPEN: u8 = SLOT_STATUS_OPEN; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOTSTATUS_CLOSED` is never used [INFO] [stdout] --> src/gameprotocol.rs:121:11 [INFO] [stdout] | [INFO] [stdout] 121 | pub const SLOTSTATUS_CLOSED: u8 = SLOT_STATUS_CLOSED; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOTSTATUS_OCCUPIED` is never used [INFO] [stdout] --> src/gameprotocol.rs:122:11 [INFO] [stdout] | [INFO] [stdout] 122 | pub const SLOTSTATUS_OCCUPIED: u8 = SLOT_STATUS_OCCUPIED; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomingAction` is never constructed [INFO] [stdout] --> src/gameprotocol.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 126 | pub struct IncomingAction { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_playerinfo` is never used [INFO] [stdout] --> src/gameprotocol.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn send_playerinfo(pid: u8, name: &str, external_ip: &[u8], internal_ip: &[u8]) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_playerleave_others` is never used [INFO] [stdout] --> src/gameprotocol.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn send_playerleave_others(pid: u8, left_code: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_chat_from_host` is never used [INFO] [stdout] --> src/gameprotocol.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn send_chat_from_host( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_slotinfo` is never used [INFO] [stdout] --> src/gameprotocol.rs:152:8 [INFO] [stdout] | [INFO] [stdout] 152 | pub fn send_slotinfo( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_incoming_action` is never used [INFO] [stdout] --> src/gameprotocol.rs:161:8 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn send_incoming_action( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_countdown_end` is never used [INFO] [stdout] --> src/gameprotocol.rs:177:8 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn send_countdown_end() -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_start_lag` is never used [INFO] [stdout] --> src/gameprotocol.rs:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn send_start_lag(laggers: &[(u8, u32)]) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_stop_lag` is never used [INFO] [stdout] --> src/gameprotocol.rs:192:8 [INFO] [stdout] | [INFO] [stdout] 192 | pub fn send_stop_lag(pid: u8, lag_time: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_ping_from_host` is never used [INFO] [stdout] --> src/gameprotocol.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 200 | pub fn send_ping_from_host() -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_slot_info` is never used [INFO] [stdout] --> src/gameprotocol.rs:204:8 [INFO] [stdout] | [INFO] [stdout] 204 | pub fn encode_slot_info( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_header` is never used [INFO] [stdout] --> src/gameprotocol.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn make_header(id: u8) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assign_length` is never used [INFO] [stdout] --> src/gameprotocol.rs:224:4 [INFO] [stdout] | [INFO] [stdout] 224 | fn assign_length(packet: &mut ByteArray) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_header` is never used [INFO] [stdout] --> src/gameprotocol.rs:233:8 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn validate_header(data: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_w3gs_packets` is never used [INFO] [stdout] --> src/gameprotocol.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn extract_w3gs_packets(buf: &mut ByteArray) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_ping` is never used [INFO] [stdout] --> src/gameprotocol.rs:264:8 [INFO] [stdout] | [INFO] [stdout] 264 | pub fn send_w3gs_ping(tick_value: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_slot_info_join` is never used [INFO] [stdout] --> src/gameprotocol.rs:271:8 [INFO] [stdout] | [INFO] [stdout] 271 | pub fn send_w3gs_slot_info_join( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_reject_join` is never used [INFO] [stdout] --> src/gameprotocol.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | pub fn send_w3gs_reject_join(reason: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_player_info` is never used [INFO] [stdout] --> src/gameprotocol.rs:302:8 [INFO] [stdout] | [INFO] [stdout] 302 | pub fn send_w3gs_player_info( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_player_leave` is never used [INFO] [stdout] --> src/gameprotocol.rs:334:8 [INFO] [stdout] | [INFO] [stdout] 334 | pub fn send_w3gs_player_leave(pid: u8, left_code: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_slot_info` is never used [INFO] [stdout] --> src/gameprotocol.rs:342:8 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn send_w3gs_slot_info( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_countdown_start` is never used [INFO] [stdout] --> src/gameprotocol.rs:356:8 [INFO] [stdout] | [INFO] [stdout] 356 | pub fn send_w3gs_countdown_start() -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_countdown_end` is never used [INFO] [stdout] --> src/gameprotocol.rs:362:8 [INFO] [stdout] | [INFO] [stdout] 362 | pub fn send_w3gs_countdown_end() -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_game_loaded` is never used [INFO] [stdout] --> src/gameprotocol.rs:369:8 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn send_w3gs_game_loaded(pid: u8) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_map_check` is never used [INFO] [stdout] --> src/gameprotocol.rs:377:8 [INFO] [stdout] | [INFO] [stdout] 377 | pub fn send_w3gs_map_check( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_chat` is never used [INFO] [stdout] --> src/gameprotocol.rs:395:8 [INFO] [stdout] | [INFO] [stdout] 395 | pub fn send_w3gs_chat( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_start_download` is never used [INFO] [stdout] --> src/gameprotocol.rs:414:8 [INFO] [stdout] | [INFO] [stdout] 414 | pub fn send_w3gs_start_download(from_pid: u8) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomingJoinPlayer` is never constructed [INFO] [stdout] --> src/gameprotocol.rs:423:12 [INFO] [stdout] | [INFO] [stdout] 423 | pub struct IncomingJoinPlayer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_w3gs_req_join` is never used [INFO] [stdout] --> src/gameprotocol.rs:430:8 [INFO] [stdout] | [INFO] [stdout] 430 | pub fn receive_w3gs_req_join(data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_w3gs_leave_game` is never used [INFO] [stdout] --> src/gameprotocol.rs:459:8 [INFO] [stdout] | [INFO] [stdout] 459 | pub fn receive_w3gs_leave_game(data: &[u8]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_w3gs_pong` is never used [INFO] [stdout] --> src/gameprotocol.rs:468:8 [INFO] [stdout] | [INFO] [stdout] 468 | pub fn receive_w3gs_pong(data: &[u8]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_w3gs_action` is never used [INFO] [stdout] --> src/gameprotocol.rs:477:8 [INFO] [stdout] | [INFO] [stdout] 477 | pub fn receive_w3gs_action(data: &[u8]) -> Option<(ByteArray, ByteArray)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_w3gs_keepalive` is never used [INFO] [stdout] --> src/gameprotocol.rs:487:8 [INFO] [stdout] | [INFO] [stdout] 487 | pub fn receive_w3gs_keepalive(data: &[u8]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ChatToHost` is never used [INFO] [stdout] --> src/gameprotocol.rs:496:10 [INFO] [stdout] | [INFO] [stdout] 496 | pub enum ChatToHost { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_w3gs_chat_to_host` is never used [INFO] [stdout] --> src/gameprotocol.rs:530:8 [INFO] [stdout] | [INFO] [stdout] 530 | pub fn receive_w3gs_chat_to_host(data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomingMapSize` is never constructed [INFO] [stdout] --> src/gameprotocol.rs:615:12 [INFO] [stdout] | [INFO] [stdout] 615 | pub struct IncomingMapSize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_w3gs_map_size` is never used [INFO] [stdout] --> src/gameprotocol.rs:620:8 [INFO] [stdout] | [INFO] [stdout] 620 | pub fn receive_w3gs_map_size(data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_slot_info` is never used [INFO] [stdout] --> src/gameslot.rs:246:8 [INFO] [stdout] | [INFO] [stdout] 246 | pub fn encode_slot_info( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_slot_info` is never used [INFO] [stdout] --> src/gameslot.rs:275:8 [INFO] [stdout] | [INFO] [stdout] 275 | pub fn decode_slot_info(data: &[u8]) -> Option<(Vec, u32, u8, u8)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_PRIVATE` is never used [INFO] [stdout] --> src/ghost.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const GAME_PRIVATE: u8 = 17; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_PUBLIC` is never used [INFO] [stdout] --> src/ghost.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const GAME_PUBLIC: u8 = 16; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DbGame` is never constructed [INFO] [stdout] --> src/ghostdb.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct DbGame { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DbGamePlayer` is never constructed [INFO] [stdout] --> src/ghostdb.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct DbGamePlayer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScoreCheck` is never constructed [INFO] [stdout] --> src/ghostdb.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub struct ScoreCheck { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GPS_HEADER_CONSTANT` is never used [INFO] [stdout] --> src/gpsprotocol.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const GPS_HEADER_CONSTANT: u8 = 0xF8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GPS_INIT` is never used [INFO] [stdout] --> src/gpsprotocol.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const GPS_INIT: u8 = 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GPS_RECONNECT` is never used [INFO] [stdout] --> src/gpsprotocol.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const GPS_RECONNECT: u8 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GPS_ACK` is never used [INFO] [stdout] --> src/gpsprotocol.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const GPS_ACK: u8 = 3; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GPS_REJECT` is never used [INFO] [stdout] --> src/gpsprotocol.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const GPS_REJECT: u8 = 4; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_GPS_INVALID` is never used [INFO] [stdout] --> src/gpsprotocol.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const REJECT_GPS_INVALID: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_GPS_NOTFOUND` is never used [INFO] [stdout] --> src/gpsprotocol.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const REJECT_GPS_NOTFOUND: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_header` is never used [INFO] [stdout] --> src/gpsprotocol.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn make_header(id: u8) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assign_length` is never used [INFO] [stdout] --> src/gpsprotocol.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn assign_length(packet: &mut ByteArray) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_length` is never used [INFO] [stdout] --> src/gpsprotocol.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn validate_length(data: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_gpsc_init` is never used [INFO] [stdout] --> src/gpsprotocol.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn send_gpsc_init(version: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_gpsc_reconnect` is never used [INFO] [stdout] --> src/gpsprotocol.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn send_gpsc_reconnect(pid: u8, reconnect_key: u32, last_packet: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_gpsc_ack` is never used [INFO] [stdout] --> src/gpsprotocol.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn send_gpsc_ack(last_packet: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_gpss_init` is never used [INFO] [stdout] --> src/gpsprotocol.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn send_gpss_init(reconnect_port: u16, pid: u8, reconnect_key: u32, num_empty_actions: u8) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_gpss_reconnect` is never used [INFO] [stdout] --> src/gpsprotocol.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn send_gpss_reconnect(last_packet: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_gpss_ack` is never used [INFO] [stdout] --> src/gpsprotocol.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn send_gpss_ack(last_packet: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_gpss_reject` is never used [INFO] [stdout] --> src/gpsprotocol.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn send_gpss_reject(reason: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_gpsc_init` is never used [INFO] [stdout] --> src/gpsprotocol.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn receive_gpsc_init(data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GpsReconnectRequest` is never constructed [INFO] [stdout] --> src/gpsprotocol.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct GpsReconnectRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_gpsc_reconnect` is never used [INFO] [stdout] --> src/gpsprotocol.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn receive_gpsc_reconnect(data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_gpsc_ack` is never used [INFO] [stdout] --> src/gpsprotocol.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn receive_gpsc_ack(data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_CREATE_GAME` is never used [INFO] [stdout] --> src/language.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | pub const UNABLE_TO_CREATE_GAME: &str = "lang_0001"; // $SERVER$ $GAMENAME$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_IS_ALREADY_AN_ADMIN` is never used [INFO] [stdout] --> src/language.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub const USER_IS_ALREADY_AN_ADMIN: &str = "lang_0002"; // $SERVER$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ADDED_USER_TO_ADMIN_DB` is never used [INFO] [stdout] --> src/language.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub const ADDED_USER_TO_ADMIN_DB: &str = "lang_0003"; // $SERVER$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ERROR_ADDING_USER_TO_ADMIN_DB` is never used [INFO] [stdout] --> src/language.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | pub const ERROR_ADDING_USER_TO_ADMIN_DB: &str = "lang_0004"; // $SERVER$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `YOU_DONT_HAVE_ACCESS` is never used [INFO] [stdout] --> src/language.rs:33:15 [INFO] [stdout] | [INFO] [stdout] 33 | pub const YOU_DONT_HAVE_ACCESS: &str = "lang_0005"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_IS_ALREADY_BANNED` is never used [INFO] [stdout] --> src/language.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | pub const USER_IS_ALREADY_BANNED: &str = "lang_0006"; // $SERVER$ $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BANNED_USER` is never used [INFO] [stdout] --> src/language.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | pub const BANNED_USER: &str = "lang_0007"; // $SERVER$ $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ERROR_BANNING_USER` is never used [INFO] [stdout] --> src/language.rs:36:15 [INFO] [stdout] | [INFO] [stdout] 36 | pub const ERROR_BANNING_USER: &str = "lang_0008"; // $SERVER$ $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_IS_AN_ADMIN` is never used [INFO] [stdout] --> src/language.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub const USER_IS_AN_ADMIN: &str = "lang_0009"; // $SERVER$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_IS_NOT_AN_ADMIN` is never used [INFO] [stdout] --> src/language.rs:38:15 [INFO] [stdout] | [INFO] [stdout] 38 | pub const USER_IS_NOT_AN_ADMIN: &str = "lang_0010"; // $SERVER$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_WAS_BANNED_ON_BY_BECAUSE` is never used [INFO] [stdout] --> src/language.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | pub const USER_WAS_BANNED_ON_BY_BECAUSE: &str = "lang_0011"; // $SERVER$ $VICTIM$ $DATE$ $ADMIN$ $REASON$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_IS_NOT_BANNED` is never used [INFO] [stdout] --> src/language.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | pub const USER_IS_NOT_BANNED: &str = "lang_0012"; // $SERVER$ $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THERE_ARE_NO_ADMINS` is never used [INFO] [stdout] --> src/language.rs:41:15 [INFO] [stdout] | [INFO] [stdout] 41 | pub const THERE_ARE_NO_ADMINS: &str = "lang_0013"; // $SERVER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THERE_IS_ADMIN` is never used [INFO] [stdout] --> src/language.rs:42:15 [INFO] [stdout] | [INFO] [stdout] 42 | pub const THERE_IS_ADMIN: &str = "lang_0014"; // $SERVER$ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THERE_ARE_ADMINS` is never used [INFO] [stdout] --> src/language.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub const THERE_ARE_ADMINS: &str = "lang_0015"; // $SERVER$ $COUNT$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THERE_ARE_NO_BANNED_USERS` is never used [INFO] [stdout] --> src/language.rs:44:15 [INFO] [stdout] | [INFO] [stdout] 44 | pub const THERE_ARE_NO_BANNED_USERS: &str = "lang_0016"; // $SERVER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THERE_IS_BANNED_USER` is never used [INFO] [stdout] --> src/language.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | pub const THERE_IS_BANNED_USER: &str = "lang_0017"; // $SERVER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THERE_ARE_BANNED_USERS` is never used [INFO] [stdout] --> src/language.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | pub const THERE_ARE_BANNED_USERS: &str = "lang_0018"; // $SERVER$ $COUNT$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `YOU_CANT_DELETE_ROOT_ADMIN` is never used [INFO] [stdout] --> src/language.rs:47:15 [INFO] [stdout] | [INFO] [stdout] 47 | pub const YOU_CANT_DELETE_ROOT_ADMIN: &str = "lang_0019"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DELETED_USER_FROM_ADMIN_DB` is never used [INFO] [stdout] --> src/language.rs:48:15 [INFO] [stdout] | [INFO] [stdout] 48 | pub const DELETED_USER_FROM_ADMIN_DB: &str = "lang_0020"; // $SERVER$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ERROR_DELETING_USER_FROM_ADMIN_DB` is never used [INFO] [stdout] --> src/language.rs:49:15 [INFO] [stdout] | [INFO] [stdout] 49 | pub const ERROR_DELETING_USER_FROM_ADMIN_DB:&str = "lang_0021"; // $SERVER$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNBANNED_USER` is never used [INFO] [stdout] --> src/language.rs:50:15 [INFO] [stdout] | [INFO] [stdout] 50 | pub const UNBANNED_USER: &str = "lang_0022"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ERROR_UNBANNING_USER` is never used [INFO] [stdout] --> src/language.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | pub const ERROR_UNBANNING_USER: &str = "lang_0023"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_NUMBER_IS` is never used [INFO] [stdout] --> src/language.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | pub const GAME_NUMBER_IS: &str = "lang_0024"; // $NUMBER$ $DESCRIPTION$ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_NUMBER_DOESNT_EXIST` is never used [INFO] [stdout] --> src/language.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | pub const GAME_NUMBER_DOESNT_EXIST: &str = "lang_0025"; // $NUMBER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_IS_IN_THE_LOBBY` is never used [INFO] [stdout] --> src/language.rs:54:15 [INFO] [stdout] | [INFO] [stdout] 54 | pub const GAME_IS_IN_THE_LOBBY: &str = "lang_0026"; // $DESCRIPTION$ $CURRENT$ $MAX$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THERE_IS_NO_GAME_IN_LOBBY` is never used [INFO] [stdout] --> src/language.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | pub const THERE_IS_NO_GAME_IN_LOBBY: &str = "lang_0027"; // $CURRENT$ $MAX$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_LOAD_CONFIG_OUTSIDE` is never used [INFO] [stdout] --> src/language.rs:56:15 [INFO] [stdout] | [INFO] [stdout] 56 | pub const UNABLE_TO_LOAD_CONFIG_OUTSIDE: &str = "lang_0028"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOADING_CONFIG_FILE` is never used [INFO] [stdout] --> src/language.rs:57:15 [INFO] [stdout] | [INFO] [stdout] 57 | pub const LOADING_CONFIG_FILE: &str = "lang_0029"; // $FILE$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_LOAD_CONFIG_NOT_EXIST` is never used [INFO] [stdout] --> src/language.rs:58:15 [INFO] [stdout] | [INFO] [stdout] 58 | pub const UNABLE_TO_LOAD_CONFIG_NOT_EXIST: &str = "lang_0030"; // $FILE$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CREATING_PRIVATE_GAME` is never used [INFO] [stdout] --> src/language.rs:59:15 [INFO] [stdout] | [INFO] [stdout] 59 | pub const CREATING_PRIVATE_GAME: &str = "lang_0031"; // $GAMENAME$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CREATING_PUBLIC_GAME` is never used [INFO] [stdout] --> src/language.rs:60:15 [INFO] [stdout] | [INFO] [stdout] 60 | pub const CREATING_PUBLIC_GAME: &str = "lang_0032"; // $GAMENAME$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_UNHOST_COUNTDOWN` is never used [INFO] [stdout] --> src/language.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 61 | pub const UNABLE_TO_UNHOST_COUNTDOWN: &str = "lang_0033"; // $DESCRIPTION$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNHOSTING_GAME` is never used [INFO] [stdout] --> src/language.rs:62:15 [INFO] [stdout] | [INFO] [stdout] 62 | pub const UNHOSTING_GAME: &str = "lang_0034"; // $DESCRIPTION$ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_UNHOST_NO_GAME` is never used [INFO] [stdout] --> src/language.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | pub const UNABLE_TO_UNHOST_NO_GAME: &str = "lang_0035"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERSION_ADMIN` is never used [INFO] [stdout] --> src/language.rs:64:15 [INFO] [stdout] | [INFO] [stdout] 64 | pub const VERSION_ADMIN: &str = "lang_0036"; // $VERSION$ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERSION_NOT_ADMIN` is never used [INFO] [stdout] --> src/language.rs:65:15 [INFO] [stdout] | [INFO] [stdout] 65 | pub const VERSION_NOT_ADMIN: &str = "lang_0037"; // $VERSION$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_CREATE_ANOTHER_IN_LOBBY` is never used [INFO] [stdout] --> src/language.rs:66:15 [INFO] [stdout] | [INFO] [stdout] 66 | pub const UNABLE_TO_CREATE_ANOTHER_IN_LOBBY:&str = "lang_0038"; // $GAMENAME$ $DESCRIPTION$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_CREATE_MAX_GAMES` is never used [INFO] [stdout] --> src/language.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | pub const UNABLE_TO_CREATE_MAX_GAMES: &str = "lang_0039"; // $GAMENAME$ $MAX$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_IS_OVER` is never used [INFO] [stdout] --> src/language.rs:68:15 [INFO] [stdout] | [INFO] [stdout] 68 | pub const GAME_IS_OVER: &str = "lang_0040"; // $DESCRIPTION$ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOF_CHECK_BY_REPLYING` is never used [INFO] [stdout] --> src/language.rs:69:15 [INFO] [stdout] | [INFO] [stdout] 69 | pub const SPOOF_CHECK_BY_REPLYING: &str = "lang_0041"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_REFRESHED` is never used [INFO] [stdout] --> src/language.rs:70:15 [INFO] [stdout] | [INFO] [stdout] 70 | pub const GAME_REFRESHED: &str = "lang_0042"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOF_POSSIBLE_IS_AWAY` is never used [INFO] [stdout] --> src/language.rs:71:15 [INFO] [stdout] | [INFO] [stdout] 71 | pub const SPOOF_POSSIBLE_IS_AWAY: &str = "lang_0043"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOF_POSSIBLE_IS_UNAVAILABLE` is never used [INFO] [stdout] --> src/language.rs:72:15 [INFO] [stdout] | [INFO] [stdout] 72 | pub const SPOOF_POSSIBLE_IS_UNAVAILABLE: &str = "lang_0044"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOF_POSSIBLE_IS_REFUSING` is never used [INFO] [stdout] --> src/language.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | pub const SPOOF_POSSIBLE_IS_REFUSING: &str = "lang_0045"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOF_DETECTED_NOT_IN_GAME` is never used [INFO] [stdout] --> src/language.rs:74:15 [INFO] [stdout] | [INFO] [stdout] 74 | pub const SPOOF_DETECTED_NOT_IN_GAME: &str = "lang_0046"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOF_DETECTED_IN_PRIVATE` is never used [INFO] [stdout] --> src/language.rs:75:15 [INFO] [stdout] | [INFO] [stdout] 75 | pub const SPOOF_DETECTED_IN_PRIVATE: &str = "lang_0047"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOF_DETECTED_IN_ANOTHER_GAME` is never used [INFO] [stdout] --> src/language.rs:76:15 [INFO] [stdout] | [INFO] [stdout] 76 | pub const SPOOF_DETECTED_IN_ANOTHER_GAME: &str = "lang_0048"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HAS_PLAYED_GAMES_WITH_BOT` is never used [INFO] [stdout] --> src/language.rs:77:15 [INFO] [stdout] | [INFO] [stdout] 77 | pub const HAS_PLAYED_GAMES_WITH_BOT: &str = "lang_0049"; // $USER$ $FIRSTGAME$ $LASTGAME$ $TOTALGAMES$ $AVGLOADINGTIME$ $... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HASNT_PLAYED_GAMES_WITH_BOT` is never used [INFO] [stdout] --> src/language.rs:78:15 [INFO] [stdout] | [INFO] [stdout] 78 | pub const HASNT_PLAYED_GAMES_WITH_BOT: &str = "lang_0050"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUTO_START_ENABLED` is never used [INFO] [stdout] --> src/language.rs:79:15 [INFO] [stdout] | [INFO] [stdout] 79 | pub const AUTO_START_ENABLED: &str = "lang_0051"; // $PLAYERS$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUTO_START_DISABLED` is never used [INFO] [stdout] --> src/language.rs:80:15 [INFO] [stdout] | [INFO] [stdout] 80 | pub const AUTO_START_DISABLED: &str = "lang_0052"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_START_NOT_ENOUGH` is never used [INFO] [stdout] --> src/language.rs:81:15 [INFO] [stdout] | [INFO] [stdout] 81 | pub const UNABLE_TO_START_NOT_ENOUGH: &str = "lang_0053"; // $PLAYERS$ $REQUIREDPLAYERS$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_START_DOWNLOAD_IN_PROG` is never used [INFO] [stdout] --> src/language.rs:82:15 [INFO] [stdout] | [INFO] [stdout] 82 | pub const UNABLE_TO_START_DOWNLOAD_IN_PROG: &str = "lang_0054"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COUNTDOWN_ABORTED` is never used [INFO] [stdout] --> src/language.rs:83:15 [INFO] [stdout] | [INFO] [stdout] 83 | pub const COUNTDOWN_ABORTED: &str = "lang_0055"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_WAS_KICKED_BY` is never used [INFO] [stdout] --> src/language.rs:84:15 [INFO] [stdout] | [INFO] [stdout] 84 | pub const PLAYER_WAS_KICKED_BY: &str = "lang_0056"; // $VICTIM$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_KICK_NO_MATCH` is never used [INFO] [stdout] --> src/language.rs:85:15 [INFO] [stdout] | [INFO] [stdout] 85 | pub const UNABLE_TO_KICK_NO_MATCH: &str = "lang_0057"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_KICK_MORE_THAN_ONE` is never used [INFO] [stdout] --> src/language.rs:86:15 [INFO] [stdout] | [INFO] [stdout] 86 | pub const UNABLE_TO_KICK_MORE_THAN_ONE: &str = "lang_0058"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_LATENCY_TO` is never used [INFO] [stdout] --> src/language.rs:87:15 [INFO] [stdout] | [INFO] [stdout] 87 | pub const SETTING_LATENCY_TO: &str = "lang_0059"; // $LATENCY$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_LATENCY_TO_MIN` is never used [INFO] [stdout] --> src/language.rs:88:15 [INFO] [stdout] | [INFO] [stdout] 88 | pub const SETTING_LATENCY_TO_MIN: &str = "lang_0060"; // $LATENCY$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_LATENCY_TO_MAX` is never used [INFO] [stdout] --> src/language.rs:89:15 [INFO] [stdout] | [INFO] [stdout] 89 | pub const SETTING_LATENCY_TO_MAX: &str = "lang_0061"; // $LATENCY$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LATENCY_IS` is never used [INFO] [stdout] --> src/language.rs:90:15 [INFO] [stdout] | [INFO] [stdout] 90 | pub const LATENCY_IS: &str = "lang_0062"; // $LATENCY$ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SYNC_LIMIT_IS` is never used [INFO] [stdout] --> src/language.rs:91:15 [INFO] [stdout] | [INFO] [stdout] 91 | pub const SYNC_LIMIT_IS: &str = "lang_0063"; // $SYNCLIMIT$ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_SYNC_LIMIT_TO` is never used [INFO] [stdout] --> src/language.rs:92:15 [INFO] [stdout] | [INFO] [stdout] 92 | pub const SETTING_SYNC_LIMIT_TO: &str = "lang_0064"; // $SYNCLIMIT$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_SYNC_LIMIT_TO_MIN` is never used [INFO] [stdout] --> src/language.rs:93:15 [INFO] [stdout] | [INFO] [stdout] 93 | pub const SETTING_SYNC_LIMIT_TO_MIN: &str = "lang_0065"; // $SYNCLIMIT$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_SYNC_LIMIT_TO_MAX` is never used [INFO] [stdout] --> src/language.rs:94:15 [INFO] [stdout] | [INFO] [stdout] 94 | pub const SETTING_SYNC_LIMIT_TO_MAX: &str = "lang_0066"; // $SYNCLIMIT$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_START_COUNTDOWN` is never used [INFO] [stdout] --> src/language.rs:95:15 [INFO] [stdout] | [INFO] [stdout] 95 | pub const UNABLE_TO_START_COUNTDOWN: &str = "lang_0067"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COUNTDOWN_STARTED` is never used [INFO] [stdout] --> src/language.rs:96:15 [INFO] [stdout] | [INFO] [stdout] 96 | pub const COUNTDOWN_STARTED: &str = "lang_0068"; // $SECONDS$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_LOCKED` is never used [INFO] [stdout] --> src/language.rs:97:15 [INFO] [stdout] | [INFO] [stdout] 97 | pub const GAME_LOCKED: &str = "lang_0069"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_UNLOCKED` is never used [INFO] [stdout] --> src/language.rs:98:15 [INFO] [stdout] | [INFO] [stdout] 98 | pub const GAME_UNLOCKED: &str = "lang_0070"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAS_KICKED_FOR_LAGGING` is never used [INFO] [stdout] --> src/language.rs:99:15 [INFO] [stdout] | [INFO] [stdout] 99 | pub const WAS_KICKED_FOR_LAGGING: &str = "lang_0071"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_BAN_NO_MATCH` is never used [INFO] [stdout] --> src/language.rs:100:15 [INFO] [stdout] | [INFO] [stdout] 100 | pub const UNABLE_TO_BAN_NO_MATCH: &str = "lang_0072"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_BAN_MORE_THAN_ONE` is never used [INFO] [stdout] --> src/language.rs:101:15 [INFO] [stdout] | [INFO] [stdout] 101 | pub const UNABLE_TO_BAN_MORE_THAN_ONE: &str = "lang_0073"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_WAS_BANNED_BY` is never used [INFO] [stdout] --> src/language.rs:102:15 [INFO] [stdout] | [INFO] [stdout] 102 | pub const PLAYER_WAS_BANNED_BY: &str = "lang_0074"; // $SERVER$ $VICTIM$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HAS_PLAYED_DOTA_GAMES_WITH_BOT` is never used [INFO] [stdout] --> src/language.rs:103:15 [INFO] [stdout] | [INFO] [stdout] 103 | pub const HAS_PLAYED_DOTA_GAMES_WITH_BOT: &str = "lang_0075"; // $USER$ ... (20 placeholders) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HASNT_PLAYED_DOTA_GAMES_WITH_BOT` is never used [INFO] [stdout] --> src/language.rs:104:15 [INFO] [stdout] | [INFO] [stdout] 104 | pub const HASNT_PLAYED_DOTA_GAMES_WITH_BOT: &str = "lang_0076"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUTO_KICK_PING` is never used [INFO] [stdout] --> src/language.rs:105:15 [INFO] [stdout] | [INFO] [stdout] 105 | pub const AUTO_KICK_PING: &str = "lang_0077"; // $VICTIM$ $PING$ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOFCHECKED_AS` is never used [INFO] [stdout] --> src/language.rs:106:15 [INFO] [stdout] | [INFO] [stdout] 106 | pub const SPOOFCHECKED_AS: &str = "lang_0078"; // $USER$ $REALM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_HAS_LEFT_VOLUNTARILY` is never used [INFO] [stdout] --> src/language.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | pub const PLAYER_HAS_LEFT_VOLUNTARILY: &str = "lang_0079"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_HAS_LOST_CONNECTION` is never used [INFO] [stdout] --> src/language.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | pub const PLAYER_HAS_LOST_CONNECTION: &str = "lang_0080"; // $USER$ $REASON$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_HAS_TIMED_OUT` is never used [INFO] [stdout] --> src/language.rs:109:15 [INFO] [stdout] | [INFO] [stdout] 109 | pub const PLAYER_HAS_TIMED_OUT: &str = "lang_0081"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_DISCONNECTED` is never used [INFO] [stdout] --> src/language.rs:110:15 [INFO] [stdout] | [INFO] [stdout] 110 | pub const PLAYER_DISCONNECTED: &str = "lang_0082"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DESYNC_DETECTED` is never used [INFO] [stdout] --> src/language.rs:111:15 [INFO] [stdout] | [INFO] [stdout] 111 | pub const DESYNC_DETECTED: &str = "lang_0083"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_LOADED` is never used [INFO] [stdout] --> src/language.rs:112:15 [INFO] [stdout] | [INFO] [stdout] 112 | pub const GAME_LOADED: &str = "lang_0084"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_FINISHED_LOADING` is never used [INFO] [stdout] --> src/language.rs:113:15 [INFO] [stdout] | [INFO] [stdout] 113 | pub const PLAYER_FINISHED_LOADING: &str = "lang_0085"; // $USER$ $LOADINGTIME$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_DOWNLOADED_MAP` is never used [INFO] [stdout] --> src/language.rs:114:15 [INFO] [stdout] | [INFO] [stdout] 114 | pub const PLAYER_DOWNLOADED_MAP: &str = "lang_0086"; // $USER$ $SECONDS$ $RATE$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_DOWNLOAD` is never used [INFO] [stdout] --> src/language.rs:115:15 [INFO] [stdout] | [INFO] [stdout] 115 | pub const UNABLE_TO_DOWNLOAD: &str = "lang_0087"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ANNOUNCE_MESSAGE_ENABLED` is never used [INFO] [stdout] --> src/language.rs:116:15 [INFO] [stdout] | [INFO] [stdout] 116 | pub const ANNOUNCE_MESSAGE_ENABLED: &str = "lang_0088"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ANNOUNCE_MESSAGE_DISABLED` is never used [INFO] [stdout] --> src/language.rs:117:15 [INFO] [stdout] | [INFO] [stdout] 117 | pub const ANNOUNCE_MESSAGE_DISABLED: &str = "lang_0089"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUTO_SAVE_ENABLED` is never used [INFO] [stdout] --> src/language.rs:118:15 [INFO] [stdout] | [INFO] [stdout] 118 | pub const AUTO_SAVE_ENABLED: &str = "lang_0090"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUTO_SAVE_DISABLED` is never used [INFO] [stdout] --> src/language.rs:119:15 [INFO] [stdout] | [INFO] [stdout] 119 | pub const AUTO_SAVE_DISABLED: &str = "lang_0091"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SHUFFLING_PLAYERS` is never used [INFO] [stdout] --> src/language.rs:120:15 [INFO] [stdout] | [INFO] [stdout] 120 | pub const SHUFFLING_PLAYERS: &str = "lang_0092"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_DOWNLOAD_NO_MATCH` is never used [INFO] [stdout] --> src/language.rs:121:15 [INFO] [stdout] | [INFO] [stdout] 121 | pub const UNABLE_TO_DOWNLOAD_NO_MATCH: &str = "lang_0093"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_DOWNLOAD_MORE_THAN_ONE` is never used [INFO] [stdout] --> src/language.rs:122:15 [INFO] [stdout] | [INFO] [stdout] 122 | pub const UNABLE_TO_DOWNLOAD_MORE_THAN_ONE: &str = "lang_0094"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THE_GAME_IS_ABOUT_TO_START` is never used [INFO] [stdout] --> src/language.rs:123:15 [INFO] [stdout] | [INFO] [stdout] 123 | pub const THE_GAME_IS_ABOUT_TO_START: &str = "lang_0095"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHECKED_PLAYER` is never used [INFO] [stdout] --> src/language.rs:124:15 [INFO] [stdout] | [INFO] [stdout] 124 | pub const CHECKED_PLAYER: &str = "lang_0096"; // $USER$ $PING$ $FROM$ $ADMIN$ $OWNER$ $SPOOFED$ $REALM$ $RESE... [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_CHECK_NO_MATCH` is never used [INFO] [stdout] --> src/language.rs:125:15 [INFO] [stdout] | [INFO] [stdout] 125 | pub const UNABLE_TO_CHECK_NO_MATCH: &str = "lang_0097"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_CHECK_MORE_THAN_ONE` is never used [INFO] [stdout] --> src/language.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 126 | pub const UNABLE_TO_CHECK_MORE_THAN_ONE: &str = "lang_0098"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MUTED_PLAYER` is never used [INFO] [stdout] --> src/language.rs:127:15 [INFO] [stdout] | [INFO] [stdout] 127 | pub const MUTED_PLAYER: &str = "lang_0099"; // $VICTIM$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNMUTED_PLAYER` is never used [INFO] [stdout] --> src/language.rs:128:15 [INFO] [stdout] | [INFO] [stdout] 128 | pub const UNMUTED_PLAYER: &str = "lang_0100"; // $VICTIM$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotr32` is never used [INFO] [stdout] --> src/map.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn rotr32(x: u32, n: u32) -> u32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_HIDEMINIMAP` is never used [INFO] [stdout] --> src/map.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | pub const MAPOPT_HIDEMINIMAP: u32 = 1 << 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_MODIFYALLYPRIORITIES` is never used [INFO] [stdout] --> src/map.rs:67:11 [INFO] [stdout] | [INFO] [stdout] 67 | pub const MAPOPT_MODIFYALLYPRIORITIES: u32 = 1 << 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_REVEALTERRAIN` is never used [INFO] [stdout] --> src/map.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub const MAPOPT_REVEALTERRAIN: u32 = 1 << 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_CUSTOMTECHTREE` is never used [INFO] [stdout] --> src/map.rs:72:11 [INFO] [stdout] | [INFO] [stdout] 72 | pub const MAPOPT_CUSTOMTECHTREE: u32 = 1 << 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_CUSTOMABILITIES` is never used [INFO] [stdout] --> src/map.rs:73:11 [INFO] [stdout] | [INFO] [stdout] 73 | pub const MAPOPT_CUSTOMABILITIES: u32 = 1 << 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_CUSTOMUPGRADES` is never used [INFO] [stdout] --> src/map.rs:74:11 [INFO] [stdout] | [INFO] [stdout] 74 | pub const MAPOPT_CUSTOMUPGRADES: u32 = 1 << 9; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_WATERWAVESONCLIFFSHORES` is never used [INFO] [stdout] --> src/map.rs:75:11 [INFO] [stdout] | [INFO] [stdout] 75 | pub const MAPOPT_WATERWAVESONCLIFFSHORES: u32 = 1 << 11; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_WATERWAVESONSLOPESHORES` is never used [INFO] [stdout] --> src/map.rs:76:11 [INFO] [stdout] | [INFO] [stdout] 76 | pub const MAPOPT_WATERWAVESONSLOPESHORES: u32 = 1 << 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPGAMETYPE_UNKNOWN0` is never used [INFO] [stdout] --> src/map.rs:92:11 [INFO] [stdout] | [INFO] [stdout] 92 | pub const MAPGAMETYPE_UNKNOWN0: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPGAMETYPE_SAVEDGAME` is never used [INFO] [stdout] --> src/map.rs:93:11 [INFO] [stdout] | [INFO] [stdout] 93 | pub const MAPGAMETYPE_SAVEDGAME: u32 = 1 << 9; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPGAMETYPE_PRIVATEGAME` is never used [INFO] [stdout] --> src/map.rs:94:11 [INFO] [stdout] | [INFO] [stdout] 94 | pub const MAPGAMETYPE_PRIVATEGAME: u32 = 1 << 11; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_null_terminated_string` is never used [INFO] [stdout] --> src/map.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | fn read_null_terminated_string(cursor: &mut Cursor<&Vec>) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPLAY_ACTION_CHAT_TO_HOST` is never used [INFO] [stdout] --> src/packed.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const REPLAY_ACTION_CHAT_TO_HOST: u8 = 0x20; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPLAY_ACTION_DESYNC` is never used [INFO] [stdout] --> src/packed.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const REPLAY_ACTION_DESYNC: u8 = 0x22; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPLAY_ACTION_LEAVE_GAME` is never used [INFO] [stdout] --> src/packed.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const REPLAY_ACTION_LEAVE_GAME: u8 = 0x17; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPLAY_ACTION_TIMESLOT` is never used [INFO] [stdout] --> src/packed.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const REPLAY_ACTION_TIMESLOT: u8 = 0x1F; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPLAY_ACTION_TIMESLOT2` is never used [INFO] [stdout] --> src/packed.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const REPLAY_ACTION_TIMESLOT2: u8 = 0x1E; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPLAY_ACTION_CHECKSUM` is never used [INFO] [stdout] --> src/packed.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const REPLAY_ACTION_CHECKSUM: u8 = 0x22; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPLAY_ACTION_SAVE_GAME` is never used [INFO] [stdout] --> src/packed.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const REPLAY_ACTION_SAVE_GAME: u8 = 0x06; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPLAY_WAR3_VERSION` is never used [INFO] [stdout] --> src/packed.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const REPLAY_WAR3_VERSION: u32 = 26; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReplayPlayer` is never constructed [INFO] [stdout] --> src/packed.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct ReplayPlayer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReplayChatMessage` is never constructed [INFO] [stdout] --> src/packed.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct ReplayChatMessage { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReplayChecksum` is never constructed [INFO] [stdout] --> src/packed.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct ReplayChecksum { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Replay` is never constructed [INFO] [stdout] --> src/packed.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct Replay { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/packed.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 77 | impl Replay { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 78 | /// Создать пустой replay. [INFO] [stdout] 79 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn add_player(&mut self, pid: u8, name: &str) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn set_slots(&mut self, slots: Vec) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn set_random_seed(&mut self, seed: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn set_select_mode(&mut self, mode: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn set_start_spot_count(&mut self, count: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn set_host_pid(&mut self, pid: u8) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn set_host_name(&mut self, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn set_map_game_type(&mut self, gt: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn add_timeslot(&mut self, send_interval: u16, actions_data: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn add_chat_message(&mut self, pid: u8, flag: u8, extra_flags: u32, message: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn add_checksum(&mut self, checksum: u32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn duration_seconds(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | pub fn build_header(&self) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | pub fn get_player_names(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_replay_header` is never used [INFO] [stdout] --> src/packed.rs:233:8 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn load_replay_header(data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReplayBlock` is never constructed [INFO] [stdout] --> src/replay.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct ReplayBlock { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Replay` is never constructed [INFO] [stdout] --> src/replay.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Replay { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/replay.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl Replay { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 45 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn add_leave_game(&mut self, reason: u32, pid: u8, result: u32, time_ms: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn add_time_slot(&mut self, time_increment: u16, actions: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn add_chat_message(&mut self, pid: u8, flags: u8, message: &str, time_ms: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn num_blocks(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn duration_secs(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn set_slots(&mut self, slots: &[GameSlot]) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn set_random_seed(&mut self, seed: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn add_time_slot_actions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn encode(&self) -> ByteArray { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SaveGame` is never constructed [INFO] [stdout] --> src/savegame.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct SaveGame { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `file_name_no_path`, `load`, and `parse` are never used [INFO] [stdout] --> src/savegame.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl SaveGame { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn file_name_no_path(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn load(file_path: &str) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | fn parse(&mut self, data: &[u8]) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sha1` is never used [INFO] [stdout] --> src/sha1.rs:154:8 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn sha1(data: &[u8]) -> [u8; 20] { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sha1_hex` is never used [INFO] [stdout] --> src/sha1.rs:162:8 [INFO] [stdout] | [INFO] [stdout] 162 | pub fn sha1_hex(data: &[u8]) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `connect_simple` is never used [INFO] [stdout] --> src/socket.rs:273:18 [INFO] [stdout] | [INFO] [stdout] 256 | impl GhostTcpClient { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 273 | pub async fn connect_simple(address: &str, port: u16) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SharedTcpSocket` is never used [INFO] [stdout] --> src/socket.rs:392:10 [INFO] [stdout] | [INFO] [stdout] 392 | pub type SharedTcpSocket = Arc>; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_shared` is never used [INFO] [stdout] --> src/socket.rs:394:8 [INFO] [stdout] | [INFO] [stdout] 394 | pub fn make_shared(socket: GhostTcpSocket) -> SharedTcpSocket { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_HEADER_CONSTANT` is never used [INFO] [stdout] --> src/socket.rs:429:11 [INFO] [stdout] | [INFO] [stdout] 429 | pub const W3GS_HEADER_CONSTANT: u8 = 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GPS_HEADER_CONSTANT` is never used [INFO] [stdout] --> src/socket.rs:430:11 [INFO] [stdout] | [INFO] [stdout] 430 | pub const GPS_HEADER_CONSTANT: u8 = 0xF8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_byte_array_u8` is never used [INFO] [stdout] --> src/util.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn create_byte_array_u8(c: u8) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `append_byte_array_str` is never used [INFO] [stdout] --> src/util.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn append_byte_array_str(b: &mut ByteArray, s: &str, terminator: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_c_string_as_str` is never used [INFO] [stdout] --> src/util.rs:152:8 [INFO] [stdout] | [INFO] [stdout] 152 | pub fn extract_c_string_as_str(b: &[u8], start: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `byte_array_to_hex_string` is never used [INFO] [stdout] --> src/util.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn byte_array_to_hex_string(b: &[u8]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_hex_string` is never used [INFO] [stdout] --> src/util.rs:183:8 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn to_hex_string(i: u32) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ms_to_string` is never used [INFO] [stdout] --> src/util.rs:187:8 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn ms_to_string(ms: u32) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_stat_string` is never used [INFO] [stdout] --> src/util.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn decode_stat_string(data: &[u8]) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `replace_all` is never used [INFO] [stdout] --> src/util.rs:235:8 [INFO] [stdout] | [INFO] [stdout] 235 | pub fn replace_all(text: &mut String, key: &str, value: &str) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tokenize` is never used [INFO] [stdout] --> src/util.rs:244:8 [INFO] [stdout] | [INFO] [stdout] 244 | pub fn tokenize(s: &str, delim: char) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_lan_ip` is never used [INFO] [stdout] --> src/util.rs:251:8 [INFO] [stdout] | [INFO] [stdout] 251 | pub fn is_lan_ip(ip: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `file_safe_name` is never used [INFO] [stdout] --> src/util.rs:278:8 [INFO] [stdout] | [INFO] [stdout] 278 | pub fn file_safe_name(name: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `factorial` is never used [INFO] [stdout] --> src/util.rs:287:8 [INFO] [stdout] | [INFO] [stdout] 287 | pub fn factorial(x: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `HELP_SID_AUTH_CHECK` should have a snake case name [INFO] [stdout] --> src/bncsutilinterface.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn HELP_SID_AUTH_CHECK( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `help_sid_auth_check` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `HELP_SID_AUTH_ACCOUNTLOGON` should have a snake case name [INFO] [stdout] --> src/bncsutilinterface.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 179 | pub fn HELP_SID_AUTH_ACCOUNTLOGON(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `help_sid_auth_accountlogon` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `HELP_SID_AUTH_ACCOUNTLOGONPROOF` should have a snake case name [INFO] [stdout] --> src/bncsutilinterface.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn HELP_SID_AUTH_ACCOUNTLOGONPROOF(&mut self, salt: ByteArray, server_key: ByteArray) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `help_sid_auth_accountlogonproof` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `HELP_PvPGNPasswordHash` should have a snake case name [INFO] [stdout] --> src/bncsutilinterface.rs:191:12 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn HELP_PvPGNPasswordHash(&mut self, user_password: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `help_pv_pgnpassword_hash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SEND_SID_CHECKAD` should have a snake case name [INFO] [stdout] --> src/bnetprotocol.rs:475:12 [INFO] [stdout] | [INFO] [stdout] 475 | pub fn SEND_SID_CHECKAD(&self) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `send_sid_checkad` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [optimized + debuginfo] target(s) in 1m 39s [INFO] running `Command { std: "docker" "inspect" "bf182b977b8de237ae6a557adb262081dbc44af11d1c206ae37cb7a2cab92759", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bf182b977b8de237ae6a557adb262081dbc44af11d1c206ae37cb7a2cab92759", kill_on_drop: false }` [INFO] [stdout] bf182b977b8de237ae6a557adb262081dbc44af11d1c206ae37cb7a2cab92759 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a08d41151db4c3b8d6368db2f7c935dc85afcdae93c5493a790974d401efb0e0 [INFO] running `Command { std: "docker" "start" "-a" "a08d41151db4c3b8d6368db2f7c935dc85afcdae93c5493a790974d401efb0e0", kill_on_drop: false }` [INFO] [stderr] Compiling ghost-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/bncsutilinterface.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | use tracing::{info, error}; [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: `IncomingGameHost` [INFO] [stdout] --> src/bnet_update.rs:1:64 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::bnetprotocol::{BnetProtocol, IncomingChatEventEnum, IncomingGameHost, Protocol}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `make_shared` [INFO] [stdout] --> src/bnet_update.rs:3:58 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::socket::{GhostTcpClient, get_ticks, get_time, make_shared}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::gameslot::*` [INFO] [stdout] --> src/game.rs:707:9 [INFO] [stdout] | [INFO] [stdout] 707 | use crate::gameslot::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/gamebase.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/gamebase.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsyncReadExt` and `AsyncWriteExt` [INFO] [stdout] --> src/gamebase.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TcpListener` and `TcpStream` [INFO] [stdout] --> src/gamebase.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 12 | use tokio::net::{TcpListener, TcpStream}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::RwLock` [INFO] [stdout] --> src/gamebase.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use tokio::sync::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `self` [INFO] [stdout] --> src/gamebase.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | use tokio::time::{self, Duration}; [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ghost::*` [INFO] [stdout] --> src/ghost_update.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::ghost::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_ticks` [INFO] [stdout] --> src/ghost_update.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::socket::{get_ticks, get_time}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/ghost_update.rs:7:28 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{error, info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/ghostdb.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/ghostdb.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use tracing::{info, error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/map.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::game` [INFO] [stdout] --> src/map.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::game; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ghost::*` [INFO] [stdout] --> src/map.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::ghost::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::crc32::*` [INFO] [stdout] --> src/map.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::crc32::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::sha1::*` [INFO] [stdout] --> src/map.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::sha1::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::config` [INFO] [stdout] --> src/map.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::config; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::gameslot::*` [INFO] [stdout] --> src/map.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::gameslot::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ghost` [INFO] [stdout] --> src/map.rs:14:26 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::{SharedGhost, Ghost}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/map.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | use mpq::{Archive, File}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/map.rs:18:21 [INFO] [stdout] | [INFO] [stdout] 18 | use tracing::{info, error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/socket.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{info, error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:330:21 [INFO] [stdout] | [INFO] [stdout] 330 | let mut commonj = read_file_full("maps/common.j").unwrap(); [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/map.rs:335:25 [INFO] [stdout] | [INFO] [stdout] 335 | let mut blizzardj = read_file_full("maps/blizzard.j").unwrap(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:346:39 [INFO] [stdout] | [INFO] [stdout] 346 | ... if let Ok(mut cmnj) = map.open_file("Scripts\\common.j") { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:347:37 [INFO] [stdout] | [INFO] [stdout] 347 | ... let mut file_length = cmnj.size(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:378:39 [INFO] [stdout] | [INFO] [stdout] 378 | ... if let Ok(mut blrj) = map.open_file("Scripts\\blizzard.j") { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:379:37 [INFO] [stdout] | [INFO] [stdout] 379 | ... let mut file_length = blrj.size(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:433:43 [INFO] [stdout] | [INFO] [stdout] 433 | ... if let Ok(mut file) = map.open_file(i) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:434:37 [INFO] [stdout] | [INFO] [stdout] 434 | ... let mut length = file.size(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:482:13 [INFO] [stdout] | [INFO] [stdout] 482 | let mut map_filter_type: u8 = MAPFILTER_TYPE_SCENARIO; [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map.rs:487:23 [INFO] [stdout] | [INFO] [stdout] 487 | if let Ok(mut w3i_file) = map.open_file("war3map.w3i") { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `logon_type` [INFO] [stdout] --> src/bnet_update.rs:250:29 [INFO] [stdout] | [INFO] [stdout] 250 | let logon_type = p.get_logon_type(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logon_type` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mpq_file_time` [INFO] [stdout] --> src/bnet_update.rs:252:29 [INFO] [stdout] | [INFO] [stdout] 252 | let mpq_file_time = p.get_mpq_file_time(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mpq_file_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `length_bytes` is never read [INFO] [stdout] --> src/bnetprotocol.rs:890:36 [INFO] [stdout] | [INFO] [stdout] 890 | let mut length_bytes = ByteArray::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `save_game` [INFO] [stdout] --> src/game.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | save_game: Option, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_save_game` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interval` [INFO] [stdout] --> src/game.rs:586:27 [INFO] [stdout] | [INFO] [stdout] 586 | if let Ok(interval) = parts[0].parse::() { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reserved` [INFO] [stdout] --> src/gamebase.rs:377:34 [INFO] [stdout] | [INFO] [stdout] 377 | pub fn get_empty_slot(&self, reserved: bool) -> Option { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reserved` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unlock` [INFO] [stdout] --> src/gamebase.rs:438:45 [INFO] [stdout] | [INFO] [stdout] 438 | pub fn open_slot(&mut self, sid: usize, unlock: bool) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_unlock` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_size` [INFO] [stdout] --> src/gamebase.rs:909:21 [INFO] [stdout] | [INFO] [stdout] 909 | let map_size = self.map.map_size.clone(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_type` [INFO] [stdout] --> src/ghost_update.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | game_type, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `game_type: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `creator` [INFO] [stdout] --> src/ghost_update.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | creator, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `creator: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `creator_server` [INFO] [stdout] --> src/ghost_update.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | creator_server, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `creator_server: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stay_time` [INFO] [stdout] --> src/ghostdb.rs:343:9 [INFO] [stdout] | [INFO] [stdout] 343 | stay_time: u32, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stay_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `game_flags` is never read [INFO] [stdout] --> src/map.rs:184:35 [INFO] [stdout] | [INFO] [stdout] 184 | let mut game_flags: u32 = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/map.rs:357:45 [INFO] [stdout] | [INFO] [stdout] 357 | ... let val = val ^ self.xor_rotate_left(&buf[..bytes_read]); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/map.rs:389:45 [INFO] [stdout] | [INFO] [stdout] 389 | ... let val = val ^ self.xor_rotate_left(&buf[..bytes_read]); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_filter_type` [INFO] [stdout] --> src/map.rs:482:13 [INFO] [stdout] | [INFO] [stdout] 482 | let mut map_filter_type: u8 = MAPFILTER_TYPE_SCENARIO; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_filter_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/map.rs:526:33 [INFO] [stdout] | [INFO] [stdout] 526 | ... for i in 0..raw_map_num_players { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `map_mpq_ready` is never read [INFO] [stdout] --> src/map.rs:299:37 [INFO] [stdout] | [INFO] [stdout] 299 | let mut map_mpq_ready = false; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `KR_OLD_GAME_VERSION`, `KR_INVALID_VERSION`, `KR_ROC_KEY_IN_USE`, and `KR_TFT_KEY_IN_USE` are never constructed [INFO] [stdout] --> src/bnetprotocol.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub enum KeyResult { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 43 | KR_GOOD = 0, [INFO] [stdout] 44 | KR_OLD_GAME_VERSION = 256, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 45 | KR_INVALID_VERSION = 257, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | KR_ROC_KEY_IN_USE = 513, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 47 | KR_TFT_KEY_IN_USE = 529, [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 `id`, `ip`, `date`, `game_name`, `admin`, and `reason` are never read [INFO] [stdout] --> src/game.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct DbBan { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 10 | pub id: u32, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 13 | pub ip: String, [INFO] [stdout] | ^^ [INFO] [stdout] 14 | pub date: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 15 | pub game_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 16 | pub admin: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 17 | pub reason: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DbBan` 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 `DbGame` is never constructed [INFO] [stdout] --> src/game.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct DbGame { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/game.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl DbGame { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 59 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/game.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 85 | pub struct DbGamePlayer { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 86 | pub id: u32, [INFO] [stdout] | ^^ [INFO] [stdout] 87 | pub game_id: u32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 88 | pub name: String, [INFO] [stdout] 89 | pub ip: String, [INFO] [stdout] | ^^ [INFO] [stdout] 90 | pub spoofed: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 91 | pub spoofed_realm: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 92 | pub reserved: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 93 | pub loading_time: u32, // мс [INFO] [stdout] 94 | pub left: u32, // game ticks в секундах [INFO] [stdout] | ^^^^ [INFO] [stdout] 95 | pub left_reason: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 96 | pub team: u8, [INFO] [stdout] | ^^^^ [INFO] [stdout] 97 | pub colour: u8, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DbGamePlayer` 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 `DbGamePlayerSummary` is never constructed [INFO] [stdout] --> src/game.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | pub struct DbGamePlayerSummary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/game.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 142 | pub struct DbDotaPlayerSummary { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 143 | pub total_games: u32, [INFO] [stdout] 144 | pub total_wins: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 145 | pub total_losses: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub total_creep_kills: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 149 | pub total_creep_denies: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 150 | pub total_assists: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 151 | pub total_neutral_kills: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 152 | pub total_tower_kills: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 153 | pub total_rax_kills: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 154 | pub total_courier_kills: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DbDotaPlayerSummary` 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 methods are never used [INFO] [stdout] --> src/game.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 157 | impl DbDotaPlayerSummary { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn avg_creep_kills(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn avg_creep_denies(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn avg_assists(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn avg_neutral_kills(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn avg_tower_kills(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn avg_rax_kills(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn avg_courier_kills(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Game` is never constructed [INFO] [stdout] --> src/game.rs:196:12 [INFO] [stdout] | [INFO] [stdout] 196 | pub struct Game { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StatsType` is never used [INFO] [stdout] --> src/game.rs:215:10 [INFO] [stdout] | [INFO] [stdout] 215 | pub enum StatsType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/game.rs:222:12 [INFO] [stdout] | [INFO] [stdout] 221 | impl Game { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 222 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | pub fn event_game_started(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn event_player_deleted(&mut self, player_idx: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 361 | pub fn handle_bot_command( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 421 | fn cmd_ping(&self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | fn cmd_abort(&mut self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 441 | fn cmd_close(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 451 | fn cmd_closeall(&mut self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 456 | fn cmd_open(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 466 | fn cmd_openall(&mut self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 471 | fn cmd_hold(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 480 | fn cmd_kick(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 495 | fn cmd_mute(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 505 | fn cmd_unmute(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 515 | fn cmd_start(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 523 | fn cmd_swap(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 540 | fn cmd_shuffle(&mut self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 564 | fn cmd_lock(&mut self, has_perm: bool) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 573 | fn cmd_unlock(&mut self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 578 | fn cmd_announce(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 595 | fn cmd_autosave(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 609 | fn cmd_autostart(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 621 | fn cmd_drop(&mut self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 630 | fn cmd_from(&self) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 640 | fn cmd_latency(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 653 | fn cmd_synclimit(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 666 | fn cmd_comp(&mut self, payload: &str) -> BotCommandResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BotCommandResult` is never used [INFO] [stdout] --> src/game.rs:682:10 [INFO] [stdout] | [INFO] [stdout] 682 | pub enum BotCommandResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `message` and `broadcast` are never used [INFO] [stdout] --> src/game.rs:696:12 [INFO] [stdout] | [INFO] [stdout] 695 | impl BotCommandResult { [INFO] [stdout] | --------------------- associated functions in this implementation [INFO] [stdout] 696 | pub fn message(msg: &str) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 699 | pub fn broadcast(msg: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_PRIVATE` is never used [INFO] [stdout] --> src/gamebase.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const GAME_PRIVATE: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_PUBLIC` is never used [INFO] [stdout] --> src/gamebase.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub const GAME_PUBLIC: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_DISCONNECT` is never used [INFO] [stdout] --> src/gamebase.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const PLAYER_LEAVE_DISCONNECT: u32 = 13; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_LOST` is never used [INFO] [stdout] --> src/gamebase.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const PLAYER_LEAVE_LOST: u32 = 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_LOSTBUILDINGS` is never used [INFO] [stdout] --> src/gamebase.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const PLAYER_LEAVE_LOSTBUILDINGS: u32 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_WON` is never used [INFO] [stdout] --> src/gamebase.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const PLAYER_LEAVE_WON: u32 = 9; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_DRAW` is never used [INFO] [stdout] --> src/gamebase.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | pub const PLAYER_LEAVE_DRAW: u32 = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_OBSERVER` is never used [INFO] [stdout] --> src/gamebase.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const PLAYER_LEAVE_OBSERVER: u32 = 11; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_LOBBY` is never used [INFO] [stdout] --> src/gamebase.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const PLAYER_LEAVE_LOBBY: u32 = 21; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_GPROXY` is never used [INFO] [stdout] --> src/gamebase.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | pub const PLAYER_LEAVE_GPROXY: u32 = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_UNKNOWN0` is never used [INFO] [stdout] --> src/gamebase.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const MAP_GAMETYPE_UNKNOWN0: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_SAVEDGAME` is never used [INFO] [stdout] --> src/gamebase.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | pub const MAP_GAMETYPE_SAVEDGAME: u32 = 512; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_FIXEDPLAYERSETTING` is never used [INFO] [stdout] --> src/gamebase.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const MAP_OPT_FIXEDPLAYERSETTING: u32 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BaseGame` is never constructed [INFO] [stdout] --> src/gamebase.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct BaseGame { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/gamebase.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 152 | impl BaseGame { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 153 | /// Create a new BaseGame from config / ghost state [INFO] [stdout] 154 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | pub fn get_slots_occupied(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 325 | pub fn get_slots_open(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 332 | pub fn get_num_human_players(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 336 | pub fn get_num_players(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn get_host_pid(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 353 | pub fn get_pids(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 361 | pub fn get_new_pid(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 377 | pub fn get_empty_slot(&self, reserved: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub fn get_sid_from_pid(&self, pid: u8) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 392 | pub fn get_player_from_pid(&self, pid: u8) -> Option<&GamePlayer> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn get_player_from_pid_mut(&mut self, pid: u8) -> Option<&mut GamePlayer> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 404 | pub fn get_player_from_name(&self, name: &str, sensitive: bool) -> Option<&GamePlayer> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 415 | pub fn get_player_index_from_name(&self, name: &str, sensitive: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 426 | pub fn get_player_from_sid(&self, sid: usize) -> Option<&GamePlayer> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 434 | pub fn is_owner(&self, name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | pub fn open_slot(&mut self, sid: usize, unlock: bool) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 448 | pub fn close_slot(&mut self, sid: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 458 | pub fn swap_slots(&mut self, sid1: usize, sid2: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 483 | pub fn create_virtual_host(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 501 | pub fn delete_virtual_host(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 514 | pub fn send_to(&self, player: &mut GamePlayer, data: &[u8]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 518 | pub fn send_all(&mut self, data: &[u8]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 526 | pub fn send_chat(&mut self, from_pid: u8, to_pid: u8, message: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 562 | pub fn send_all_chat_from(&mut self, from_pid: u8, message: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 594 | pub fn send_all_chat(&mut self, message: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 599 | pub fn send_all_slot_info(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 613 | pub fn get_description(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 635 | pub fn send_all_actions(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 711 | pub fn start_countdown_auto(&mut self, require_spoof: bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 745 | pub fn event_game_started(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 770 | pub fn check_lag(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 814 | pub fn check_lag_stop(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 850 | pub fn stop_laggers(&mut self, reason: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 864 | pub fn update(&mut self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1098 | pub fn close_all_slots(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1106 | pub fn open_all_slots(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1114 | pub fn start_count_down(&mut self, force: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1122 | pub fn set_announce(&mut self, announce: bool) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1127 | pub fn computer_slot(&mut self, sid: u8, skill: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1134 | pub fn add_to_reserved(&mut self, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1138 | pub fn set_hcl(&mut self, _hcl: &str) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `packet_type` and `data` are never read [INFO] [stdout] --> src/gameplayer.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct CommandPacket { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 21 | pub packet_type: u8, // W3GS_HEADER_CONSTANT или GPS_HEADER_CONSTANT [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 22 | pub id: u8, [INFO] [stdout] 23 | pub data: ByteArray, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CommandPacket` 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 `delete_me` is never read [INFO] [stdout] --> src/gameplayer.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct PotentialPlayer { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 38 | pub delete_me: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PotentialPlayer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/gameplayer.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 126 | pub struct GamePlayer { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 131 | pub pid: u8, [INFO] [stdout] | ^^^ [INFO] [stdout] 132 | pub name: String, [INFO] [stdout] 133 | pub internal_ip: [u8; 4], [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 134 | pub joined_realm: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub total_packets_received: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub checksums: VecDeque, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub left_code: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 148 | pub left_reason: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 149 | pub spoofed_realm: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 150 | pub login_attempts: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 151 | pub sync_counter: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub join_time: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 155 | pub last_map_part_sent: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 156 | pub last_map_part_acked: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 157 | pub started_downloading_ticks: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 158 | pub finished_downloading_time: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 159 | pub finished_loading_ticks: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 160 | pub started_lagging_ticks: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 161 | pub stats_sent_time: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 162 | pub stats_dota_sent_time: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 163 | pub last_gproxy_wait_notice_sent_time: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub load_in_game_data: VecDeque, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub score: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub logged_in: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 173 | pub spoofed: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 174 | pub reserved: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 175 | pub whois_should_be_sent: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 176 | pub whois_sent: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 177 | pub download_allowed: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 178 | pub download_started: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 179 | pub download_finished: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 180 | pub finished_loading: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 181 | pub lagging: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 182 | pub drop_vote: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 183 | pub kick_vote: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 184 | pub start_vote: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 185 | pub muted: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 186 | pub left_message_sent: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub gproxy_disconnect_notice_sent: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 191 | pub gproxy_buffer: VecDeque, [INFO] [stdout] 192 | pub gproxy_reconnect_key: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 193 | pub last_gproxy_ack_time: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub delete_me: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub send_queue: VecDeque, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GamePlayer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_SLOT_INFO_JOIN` is never used [INFO] [stdout] --> src/gameprotocol.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const W3GS_SLOT_INFO_JOIN: u8 = 0x04; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_PLAYER_INFO` is never used [INFO] [stdout] --> src/gameprotocol.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const W3GS_PLAYER_INFO: u8 = 0x06; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_PLAYER_LEAVE_OTHERS` is never used [INFO] [stdout] --> src/gameprotocol.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const W3GS_PLAYER_LEAVE_OTHERS: u8 = 0x07; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_GAME_LOADED_OTHERS` is never used [INFO] [stdout] --> src/gameprotocol.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const W3GS_GAME_LOADED_OTHERS: u8 = 0x08; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_SLOT_INFO` is never used [INFO] [stdout] --> src/gameprotocol.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const W3GS_SLOT_INFO: u8 = 0x09; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_INCOMING_ACTION` is never used [INFO] [stdout] --> src/gameprotocol.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub const W3GS_INCOMING_ACTION: u8 = 0x0C; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_CHAT_FROM_HOST` is never used [INFO] [stdout] --> src/gameprotocol.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub const W3GS_CHAT_FROM_HOST: u8 = 0x0F; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_START_LAG` is never used [INFO] [stdout] --> src/gameprotocol.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const W3GS_START_LAG: u8 = 0x10; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_STOP_LAG` is never used [INFO] [stdout] --> src/gameprotocol.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const W3GS_STOP_LAG: u8 = 0x11; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_GAME_OVER` is never used [INFO] [stdout] --> src/gameprotocol.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const W3GS_GAME_OVER: u8 = 0x14; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_PLAYER_KICKED` is never used [INFO] [stdout] --> src/gameprotocol.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const W3GS_PLAYER_KICKED: u8 = 0x1C; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_LEAVE_ACK` is never used [INFO] [stdout] --> src/gameprotocol.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | pub const W3GS_LEAVE_ACK: u8 = 0x1B; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_REQ_JOIN` is never used [INFO] [stdout] --> src/gameprotocol.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const W3GS_REQ_JOIN: u8 = 0x1E; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_LEAVE_GAME` is never used [INFO] [stdout] --> src/gameprotocol.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const W3GS_LEAVE_GAME: u8 = 0x21; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_GAME_LOADED_SELF` is never used [INFO] [stdout] --> src/gameprotocol.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | pub const W3GS_GAME_LOADED_SELF: u8 = 0x23; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_OUTGOING_ACTION` is never used [INFO] [stdout] --> src/gameprotocol.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | pub const W3GS_OUTGOING_ACTION: u8 = 0x26; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_OUTGOING_KEEPALIVE` is never used [INFO] [stdout] --> src/gameprotocol.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const W3GS_OUTGOING_KEEPALIVE: u8 = 0x27; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_CHAT_TO_HOST` is never used [INFO] [stdout] --> src/gameprotocol.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | pub const W3GS_CHAT_TO_HOST: u8 = 0x28; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_DROP_REQ` is never used [INFO] [stdout] --> src/gameprotocol.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const W3GS_DROP_REQ: u8 = 0x29; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_SEARCH_GAME` is never used [INFO] [stdout] --> src/gameprotocol.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | pub const W3GS_SEARCH_GAME: u8 = 0x2F; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_GAME_INFO` is never used [INFO] [stdout] --> src/gameprotocol.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const W3GS_GAME_INFO: u8 = 0x30; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_CREATE_GAME` is never used [INFO] [stdout] --> src/gameprotocol.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | pub const W3GS_CREATE_GAME: u8 = 0x31; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_REFRESH_GAME` is never used [INFO] [stdout] --> src/gameprotocol.rs:35:11 [INFO] [stdout] | [INFO] [stdout] 35 | pub const W3GS_REFRESH_GAME: u8 = 0x32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_DECREATE_GAME` is never used [INFO] [stdout] --> src/gameprotocol.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const W3GS_DECREATE_GAME: u8 = 0x33; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_MAP_CHECK` is never used [INFO] [stdout] --> src/gameprotocol.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | pub const W3GS_MAP_CHECK: u8 = 0x3D; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_START_DOWNLOAD` is never used [INFO] [stdout] --> src/gameprotocol.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | pub const W3GS_START_DOWNLOAD: u8 = 0x3F; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_MAP_SIZE` is never used [INFO] [stdout] --> src/gameprotocol.rs:39:11 [INFO] [stdout] | [INFO] [stdout] 39 | pub const W3GS_MAP_SIZE: u8 = 0x42; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_MAP_PART` is never used [INFO] [stdout] --> src/gameprotocol.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | pub const W3GS_MAP_PART: u8 = 0x43; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_MAP_PART_OK` is never used [INFO] [stdout] --> src/gameprotocol.rs:41:11 [INFO] [stdout] | [INFO] [stdout] 41 | pub const W3GS_MAP_PART_OK: u8 = 0x44; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_MAP_PART_ERROR` is never used [INFO] [stdout] --> src/gameprotocol.rs:42:11 [INFO] [stdout] | [INFO] [stdout] 42 | pub const W3GS_MAP_PART_ERROR: u8 = 0x45; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_PONG_TO_HOST` is never used [INFO] [stdout] --> src/gameprotocol.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | pub const W3GS_PONG_TO_HOST: u8 = 0x46; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_INCOMING_ACTION2` is never used [INFO] [stdout] --> src/gameprotocol.rs:44:11 [INFO] [stdout] | [INFO] [stdout] 44 | pub const W3GS_INCOMING_ACTION2: u8 = 0x48; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_DISCONNECT` is never used [INFO] [stdout] --> src/gameprotocol.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub const PLAYER_LEAVE_DISCONNECT: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_LOST` is never used [INFO] [stdout] --> src/gameprotocol.rs:48:11 [INFO] [stdout] | [INFO] [stdout] 48 | pub const PLAYER_LEAVE_LOST: u32 = 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_LOSTBUILDINGS` is never used [INFO] [stdout] --> src/gameprotocol.rs:49:11 [INFO] [stdout] | [INFO] [stdout] 49 | pub const PLAYER_LEAVE_LOSTBUILDINGS: u32 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_WON` is never used [INFO] [stdout] --> src/gameprotocol.rs:50:11 [INFO] [stdout] | [INFO] [stdout] 50 | pub const PLAYER_LEAVE_WON: u32 = 9; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_DRAW` is never used [INFO] [stdout] --> src/gameprotocol.rs:51:11 [INFO] [stdout] | [INFO] [stdout] 51 | pub const PLAYER_LEAVE_DRAW: u32 = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_OBSERVER` is never used [INFO] [stdout] --> src/gameprotocol.rs:52:11 [INFO] [stdout] | [INFO] [stdout] 52 | pub const PLAYER_LEAVE_OBSERVER: u32 = 11; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_LOBBY` is never used [INFO] [stdout] --> src/gameprotocol.rs:53:11 [INFO] [stdout] | [INFO] [stdout] 53 | pub const PLAYER_LEAVE_LOBBY: u32 = 13; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_LEAVE_GPROXY` is never used [INFO] [stdout] --> src/gameprotocol.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | pub const PLAYER_LEAVE_GPROXY: u32 = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECTJOIN_STARTED` is never used [INFO] [stdout] --> src/gameprotocol.rs:58:11 [INFO] [stdout] | [INFO] [stdout] 58 | pub const REJECTJOIN_STARTED: u32 = 0x10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECTJOIN_WRONGPASSWORD` is never used [INFO] [stdout] --> src/gameprotocol.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub const REJECTJOIN_WRONGPASSWORD: u32 = 0x27; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_STATUS_CLOSED` is never used [INFO] [stdout] --> src/gameprotocol.rs:63:11 [INFO] [stdout] | [INFO] [stdout] 63 | pub const SLOT_STATUS_CLOSED: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_STATUS_OCCUPIED` is never used [INFO] [stdout] --> src/gameprotocol.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | pub const SLOT_STATUS_OCCUPIED: u8 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_RACE_HUMAN` is never used [INFO] [stdout] --> src/gameprotocol.rs:67:11 [INFO] [stdout] | [INFO] [stdout] 67 | pub const SLOT_RACE_HUMAN: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_RACE_ORC` is never used [INFO] [stdout] --> src/gameprotocol.rs:68:11 [INFO] [stdout] | [INFO] [stdout] 68 | pub const SLOT_RACE_ORC: u8 = 0x02; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_RACE_NIGHTELF` is never used [INFO] [stdout] --> src/gameprotocol.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub const SLOT_RACE_NIGHTELF: u8 = 0x04; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_RACE_UNDEAD` is never used [INFO] [stdout] --> src/gameprotocol.rs:70:11 [INFO] [stdout] | [INFO] [stdout] 70 | pub const SLOT_RACE_UNDEAD: u8 = 0x08; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_RACE_RANDOM` is never used [INFO] [stdout] --> src/gameprotocol.rs:71:11 [INFO] [stdout] | [INFO] [stdout] 71 | pub const SLOT_RACE_RANDOM: u8 = 0x20; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_RACE_SELECTABLE` is never used [INFO] [stdout] --> src/gameprotocol.rs:72:11 [INFO] [stdout] | [INFO] [stdout] 72 | pub const SLOT_RACE_SELECTABLE: u8 = 0x40; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_COMP_EASY` is never used [INFO] [stdout] --> src/gameprotocol.rs:75:11 [INFO] [stdout] | [INFO] [stdout] 75 | pub const SLOT_COMP_EASY: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_COMP_NORMAL` is never used [INFO] [stdout] --> src/gameprotocol.rs:76:11 [INFO] [stdout] | [INFO] [stdout] 76 | pub const SLOT_COMP_NORMAL: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_COMP_INSANE` is never used [INFO] [stdout] --> src/gameprotocol.rs:77:11 [INFO] [stdout] | [INFO] [stdout] 77 | pub const SLOT_COMP_INSANE: u8 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_MELEE` is never used [INFO] [stdout] --> src/gameprotocol.rs:80:11 [INFO] [stdout] | [INFO] [stdout] 80 | pub const MAP_OPT_MELEE: u32 = 1 << 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_FIXED_PLAYER_SETTINGS` is never used [INFO] [stdout] --> src/gameprotocol.rs:81:11 [INFO] [stdout] | [INFO] [stdout] 81 | pub const MAP_OPT_FIXED_PLAYER_SETTINGS: u32 = 1 << 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_CUSTOM_FORCES` is never used [INFO] [stdout] --> src/gameprotocol.rs:82:11 [INFO] [stdout] | [INFO] [stdout] 82 | pub const MAP_OPT_CUSTOM_FORCES: u32 = 1 << 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_CUSTOM_TECHTREE` is never used [INFO] [stdout] --> src/gameprotocol.rs:83:11 [INFO] [stdout] | [INFO] [stdout] 83 | pub const MAP_OPT_CUSTOM_TECHTREE: u32 = 1 << 6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_CUSTOM_ABILITIES` is never used [INFO] [stdout] --> src/gameprotocol.rs:84:11 [INFO] [stdout] | [INFO] [stdout] 84 | pub const MAP_OPT_CUSTOM_ABILITIES: u32 = 1 << 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_CUSTOM_UPGRADES` is never used [INFO] [stdout] --> src/gameprotocol.rs:85:11 [INFO] [stdout] | [INFO] [stdout] 85 | pub const MAP_OPT_CUSTOM_UPGRADES: u32 = 1 << 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_OPT_WATERWAVE` is never used [INFO] [stdout] --> src/gameprotocol.rs:86:11 [INFO] [stdout] | [INFO] [stdout] 86 | pub const MAP_OPT_WATERWAVE: u32 = 1 << 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_FLAG_TEAMSTOGETHER` is never used [INFO] [stdout] --> src/gameprotocol.rs:89:11 [INFO] [stdout] | [INFO] [stdout] 89 | pub const MAP_FLAG_TEAMSTOGETHER: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_FLAG_FIXEDTEAMS` is never used [INFO] [stdout] --> src/gameprotocol.rs:90:11 [INFO] [stdout] | [INFO] [stdout] 90 | pub const MAP_FLAG_FIXEDTEAMS: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_FLAG_UNITSHARE` is never used [INFO] [stdout] --> src/gameprotocol.rs:91:11 [INFO] [stdout] | [INFO] [stdout] 91 | pub const MAP_FLAG_UNITSHARE: u32 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_FLAG_RANDOMHERO` is never used [INFO] [stdout] --> src/gameprotocol.rs:92:11 [INFO] [stdout] | [INFO] [stdout] 92 | pub const MAP_FLAG_RANDOMHERO: u32 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_FLAG_RANDOMRACES` is never used [INFO] [stdout] --> src/gameprotocol.rs:93:11 [INFO] [stdout] | [INFO] [stdout] 93 | pub const MAP_FLAG_RANDOMRACES: u32 = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_NONE` is never used [INFO] [stdout] --> src/gameprotocol.rs:96:11 [INFO] [stdout] | [INFO] [stdout] 96 | pub const GAME_NONE: u8 = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_PUBLIC` is never used [INFO] [stdout] --> src/gameprotocol.rs:97:11 [INFO] [stdout] | [INFO] [stdout] 97 | pub const GAME_PUBLIC: u8 = 16; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_PRIVATE` is never used [INFO] [stdout] --> src/gameprotocol.rs:98:11 [INFO] [stdout] | [INFO] [stdout] 98 | pub const GAME_PRIVATE: u8 = 17; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_CLOSE` is never used [INFO] [stdout] --> src/gameprotocol.rs:99:11 [INFO] [stdout] | [INFO] [stdout] 99 | pub const GAME_CLOSE: u8 = 18; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_UNKNOWN0` is never used [INFO] [stdout] --> src/gameprotocol.rs:102:11 [INFO] [stdout] | [INFO] [stdout] 102 | pub const MAP_GAMETYPE_UNKNOWN0: u32 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_CUSTOM` is never used [INFO] [stdout] --> src/gameprotocol.rs:103:11 [INFO] [stdout] | [INFO] [stdout] 103 | pub const MAP_GAMETYPE_CUSTOM: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_SAVEDGAME` is never used [INFO] [stdout] --> src/gameprotocol.rs:104:11 [INFO] [stdout] | [INFO] [stdout] 104 | pub const MAP_GAMETYPE_SAVEDGAME: u32 = 0x0200; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_PRIVATEGAME` is never used [INFO] [stdout] --> src/gameprotocol.rs:105:11 [INFO] [stdout] | [INFO] [stdout] 105 | pub const MAP_GAMETYPE_PRIVATEGAME: u32 = 0x0800; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_BLIZZARD` is never used [INFO] [stdout] --> src/gameprotocol.rs:106:11 [INFO] [stdout] | [INFO] [stdout] 106 | pub const MAP_GAMETYPE_BLIZZARD: u32 = 0x2000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_MAKERBLIZ` is never used [INFO] [stdout] --> src/gameprotocol.rs:107:11 [INFO] [stdout] | [INFO] [stdout] 107 | pub const MAP_GAMETYPE_MAKERBLIZ: u32 = 0x2000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAP_GAMETYPE_MAKERUSER` is never used [INFO] [stdout] --> src/gameprotocol.rs:108:11 [INFO] [stdout] | [INFO] [stdout] 108 | pub const MAP_GAMETYPE_MAKERUSER: u32 = 0x4000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAT_MESSAGE` is never used [INFO] [stdout] --> src/gameprotocol.rs:111:11 [INFO] [stdout] | [INFO] [stdout] 111 | pub const CHAT_MESSAGE: u8 = 16; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAT_TEAM_CHANGE` is never used [INFO] [stdout] --> src/gameprotocol.rs:112:11 [INFO] [stdout] | [INFO] [stdout] 112 | pub const CHAT_TEAM_CHANGE: u8 = 17; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAT_COLOUR_CHANGE` is never used [INFO] [stdout] --> src/gameprotocol.rs:113:11 [INFO] [stdout] | [INFO] [stdout] 113 | pub const CHAT_COLOUR_CHANGE: u8 = 18; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAT_RACE_CHANGE` is never used [INFO] [stdout] --> src/gameprotocol.rs:114:11 [INFO] [stdout] | [INFO] [stdout] 114 | pub const CHAT_RACE_CHANGE: u8 = 19; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAT_HANDICAP_CHANGE` is never used [INFO] [stdout] --> src/gameprotocol.rs:115:11 [INFO] [stdout] | [INFO] [stdout] 115 | pub const CHAT_HANDICAP_CHANGE: u8 = 20; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAT_MESSAGE_EXTRA` is never used [INFO] [stdout] --> src/gameprotocol.rs:116:11 [INFO] [stdout] | [INFO] [stdout] 116 | pub const CHAT_MESSAGE_EXTRA: u8 = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHATFLAG_TO_ALL` is never used [INFO] [stdout] --> src/gameprotocol.rs:119:11 [INFO] [stdout] | [INFO] [stdout] 119 | pub const CHATFLAG_TO_ALL: u8 = CHAT_MESSAGE; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOTSTATUS_OPEN` is never used [INFO] [stdout] --> src/gameprotocol.rs:120:11 [INFO] [stdout] | [INFO] [stdout] 120 | pub const SLOTSTATUS_OPEN: u8 = SLOT_STATUS_OPEN; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOTSTATUS_CLOSED` is never used [INFO] [stdout] --> src/gameprotocol.rs:121:11 [INFO] [stdout] | [INFO] [stdout] 121 | pub const SLOTSTATUS_CLOSED: u8 = SLOT_STATUS_CLOSED; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOTSTATUS_OCCUPIED` is never used [INFO] [stdout] --> src/gameprotocol.rs:122:11 [INFO] [stdout] | [INFO] [stdout] 122 | pub const SLOTSTATUS_OCCUPIED: u8 = SLOT_STATUS_OCCUPIED; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomingAction` is never constructed [INFO] [stdout] --> src/gameprotocol.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 126 | pub struct IncomingAction { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_playerinfo` is never used [INFO] [stdout] --> src/gameprotocol.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn send_playerinfo(pid: u8, name: &str, external_ip: &[u8], internal_ip: &[u8]) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_playerleave_others` is never used [INFO] [stdout] --> src/gameprotocol.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn send_playerleave_others(pid: u8, left_code: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_chat_from_host` is never used [INFO] [stdout] --> src/gameprotocol.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn send_chat_from_host( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_slotinfo` is never used [INFO] [stdout] --> src/gameprotocol.rs:152:8 [INFO] [stdout] | [INFO] [stdout] 152 | pub fn send_slotinfo( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_incoming_action` is never used [INFO] [stdout] --> src/gameprotocol.rs:161:8 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn send_incoming_action( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_countdown_end` is never used [INFO] [stdout] --> src/gameprotocol.rs:177:8 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn send_countdown_end() -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_start_lag` is never used [INFO] [stdout] --> src/gameprotocol.rs:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn send_start_lag(laggers: &[(u8, u32)]) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_stop_lag` is never used [INFO] [stdout] --> src/gameprotocol.rs:192:8 [INFO] [stdout] | [INFO] [stdout] 192 | pub fn send_stop_lag(pid: u8, lag_time: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_ping_from_host` is never used [INFO] [stdout] --> src/gameprotocol.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 200 | pub fn send_ping_from_host() -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_header` is never used [INFO] [stdout] --> src/gameprotocol.rs:233:8 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn validate_header(data: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_slot_info_join` is never used [INFO] [stdout] --> src/gameprotocol.rs:271:8 [INFO] [stdout] | [INFO] [stdout] 271 | pub fn send_w3gs_slot_info_join( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_player_info` is never used [INFO] [stdout] --> src/gameprotocol.rs:302:8 [INFO] [stdout] | [INFO] [stdout] 302 | pub fn send_w3gs_player_info( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_player_leave` is never used [INFO] [stdout] --> src/gameprotocol.rs:334:8 [INFO] [stdout] | [INFO] [stdout] 334 | pub fn send_w3gs_player_leave(pid: u8, left_code: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_slot_info` is never used [INFO] [stdout] --> src/gameprotocol.rs:342:8 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn send_w3gs_slot_info( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_game_loaded` is never used [INFO] [stdout] --> src/gameprotocol.rs:369:8 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn send_w3gs_game_loaded(pid: u8) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_map_check` is never used [INFO] [stdout] --> src/gameprotocol.rs:377:8 [INFO] [stdout] | [INFO] [stdout] 377 | pub fn send_w3gs_map_check( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_chat` is never used [INFO] [stdout] --> src/gameprotocol.rs:395:8 [INFO] [stdout] | [INFO] [stdout] 395 | pub fn send_w3gs_chat( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_w3gs_start_download` is never used [INFO] [stdout] --> src/gameprotocol.rs:414:8 [INFO] [stdout] | [INFO] [stdout] 414 | pub fn send_w3gs_start_download(from_pid: u8) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomingJoinPlayer` is never constructed [INFO] [stdout] --> src/gameprotocol.rs:423:12 [INFO] [stdout] | [INFO] [stdout] 423 | pub struct IncomingJoinPlayer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_w3gs_req_join` is never used [INFO] [stdout] --> src/gameprotocol.rs:430:8 [INFO] [stdout] | [INFO] [stdout] 430 | pub fn receive_w3gs_req_join(data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_w3gs_leave_game` is never used [INFO] [stdout] --> src/gameprotocol.rs:459:8 [INFO] [stdout] | [INFO] [stdout] 459 | pub fn receive_w3gs_leave_game(data: &[u8]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_w3gs_pong` is never used [INFO] [stdout] --> src/gameprotocol.rs:468:8 [INFO] [stdout] | [INFO] [stdout] 468 | pub fn receive_w3gs_pong(data: &[u8]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_w3gs_action` is never used [INFO] [stdout] --> src/gameprotocol.rs:477:8 [INFO] [stdout] | [INFO] [stdout] 477 | pub fn receive_w3gs_action(data: &[u8]) -> Option<(ByteArray, ByteArray)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_w3gs_keepalive` is never used [INFO] [stdout] --> src/gameprotocol.rs:487:8 [INFO] [stdout] | [INFO] [stdout] 487 | pub fn receive_w3gs_keepalive(data: &[u8]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ChatToHost` is never used [INFO] [stdout] --> src/gameprotocol.rs:496:10 [INFO] [stdout] | [INFO] [stdout] 496 | pub enum ChatToHost { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_w3gs_chat_to_host` is never used [INFO] [stdout] --> src/gameprotocol.rs:530:8 [INFO] [stdout] | [INFO] [stdout] 530 | pub fn receive_w3gs_chat_to_host(data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomingMapSize` is never constructed [INFO] [stdout] --> src/gameprotocol.rs:615:12 [INFO] [stdout] | [INFO] [stdout] 615 | pub struct IncomingMapSize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receive_w3gs_map_size` is never used [INFO] [stdout] --> src/gameprotocol.rs:620:8 [INFO] [stdout] | [INFO] [stdout] 620 | pub fn receive_w3gs_map_size(data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_PRIVATE` is never used [INFO] [stdout] --> src/ghost.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const GAME_PRIVATE: u8 = 17; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_PUBLIC` is never used [INFO] [stdout] --> src/ghost.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const GAME_PUBLIC: u8 = 16; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DbGame` is never constructed [INFO] [stdout] --> src/ghostdb.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct DbGame { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DbGamePlayer` is never constructed [INFO] [stdout] --> src/ghostdb.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct DbGamePlayer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScoreCheck` is never constructed [INFO] [stdout] --> src/ghostdb.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub struct ScoreCheck { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REJECT_GPS_INVALID` is never used [INFO] [stdout] --> src/gpsprotocol.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const REJECT_GPS_INVALID: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_length` is never used [INFO] [stdout] --> src/gpsprotocol.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn validate_length(data: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_gpss_reconnect` is never used [INFO] [stdout] --> src/gpsprotocol.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn send_gpss_reconnect(last_packet: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_gpss_ack` is never used [INFO] [stdout] --> src/gpsprotocol.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn send_gpss_ack(last_packet: u32) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_IS_ALREADY_AN_ADMIN` is never used [INFO] [stdout] --> src/language.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub const USER_IS_ALREADY_AN_ADMIN: &str = "lang_0002"; // $SERVER$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ADDED_USER_TO_ADMIN_DB` is never used [INFO] [stdout] --> src/language.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub const ADDED_USER_TO_ADMIN_DB: &str = "lang_0003"; // $SERVER$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ERROR_ADDING_USER_TO_ADMIN_DB` is never used [INFO] [stdout] --> src/language.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | pub const ERROR_ADDING_USER_TO_ADMIN_DB: &str = "lang_0004"; // $SERVER$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_IS_ALREADY_BANNED` is never used [INFO] [stdout] --> src/language.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | pub const USER_IS_ALREADY_BANNED: &str = "lang_0006"; // $SERVER$ $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BANNED_USER` is never used [INFO] [stdout] --> src/language.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | pub const BANNED_USER: &str = "lang_0007"; // $SERVER$ $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ERROR_BANNING_USER` is never used [INFO] [stdout] --> src/language.rs:36:15 [INFO] [stdout] | [INFO] [stdout] 36 | pub const ERROR_BANNING_USER: &str = "lang_0008"; // $SERVER$ $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_IS_AN_ADMIN` is never used [INFO] [stdout] --> src/language.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub const USER_IS_AN_ADMIN: &str = "lang_0009"; // $SERVER$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_IS_NOT_AN_ADMIN` is never used [INFO] [stdout] --> src/language.rs:38:15 [INFO] [stdout] | [INFO] [stdout] 38 | pub const USER_IS_NOT_AN_ADMIN: &str = "lang_0010"; // $SERVER$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_IS_NOT_BANNED` is never used [INFO] [stdout] --> src/language.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | pub const USER_IS_NOT_BANNED: &str = "lang_0012"; // $SERVER$ $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THERE_ARE_NO_ADMINS` is never used [INFO] [stdout] --> src/language.rs:41:15 [INFO] [stdout] | [INFO] [stdout] 41 | pub const THERE_ARE_NO_ADMINS: &str = "lang_0013"; // $SERVER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THERE_IS_ADMIN` is never used [INFO] [stdout] --> src/language.rs:42:15 [INFO] [stdout] | [INFO] [stdout] 42 | pub const THERE_IS_ADMIN: &str = "lang_0014"; // $SERVER$ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THERE_ARE_ADMINS` is never used [INFO] [stdout] --> src/language.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub const THERE_ARE_ADMINS: &str = "lang_0015"; // $SERVER$ $COUNT$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THERE_ARE_NO_BANNED_USERS` is never used [INFO] [stdout] --> src/language.rs:44:15 [INFO] [stdout] | [INFO] [stdout] 44 | pub const THERE_ARE_NO_BANNED_USERS: &str = "lang_0016"; // $SERVER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THERE_IS_BANNED_USER` is never used [INFO] [stdout] --> src/language.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | pub const THERE_IS_BANNED_USER: &str = "lang_0017"; // $SERVER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THERE_ARE_BANNED_USERS` is never used [INFO] [stdout] --> src/language.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | pub const THERE_ARE_BANNED_USERS: &str = "lang_0018"; // $SERVER$ $COUNT$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `YOU_CANT_DELETE_ROOT_ADMIN` is never used [INFO] [stdout] --> src/language.rs:47:15 [INFO] [stdout] | [INFO] [stdout] 47 | pub const YOU_CANT_DELETE_ROOT_ADMIN: &str = "lang_0019"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DELETED_USER_FROM_ADMIN_DB` is never used [INFO] [stdout] --> src/language.rs:48:15 [INFO] [stdout] | [INFO] [stdout] 48 | pub const DELETED_USER_FROM_ADMIN_DB: &str = "lang_0020"; // $SERVER$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ERROR_DELETING_USER_FROM_ADMIN_DB` is never used [INFO] [stdout] --> src/language.rs:49:15 [INFO] [stdout] | [INFO] [stdout] 49 | pub const ERROR_DELETING_USER_FROM_ADMIN_DB:&str = "lang_0021"; // $SERVER$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNBANNED_USER` is never used [INFO] [stdout] --> src/language.rs:50:15 [INFO] [stdout] | [INFO] [stdout] 50 | pub const UNBANNED_USER: &str = "lang_0022"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ERROR_UNBANNING_USER` is never used [INFO] [stdout] --> src/language.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | pub const ERROR_UNBANNING_USER: &str = "lang_0023"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_NUMBER_IS` is never used [INFO] [stdout] --> src/language.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | pub const GAME_NUMBER_IS: &str = "lang_0024"; // $NUMBER$ $DESCRIPTION$ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_NUMBER_DOESNT_EXIST` is never used [INFO] [stdout] --> src/language.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | pub const GAME_NUMBER_DOESNT_EXIST: &str = "lang_0025"; // $NUMBER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_IS_IN_THE_LOBBY` is never used [INFO] [stdout] --> src/language.rs:54:15 [INFO] [stdout] | [INFO] [stdout] 54 | pub const GAME_IS_IN_THE_LOBBY: &str = "lang_0026"; // $DESCRIPTION$ $CURRENT$ $MAX$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THERE_IS_NO_GAME_IN_LOBBY` is never used [INFO] [stdout] --> src/language.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | pub const THERE_IS_NO_GAME_IN_LOBBY: &str = "lang_0027"; // $CURRENT$ $MAX$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_LOAD_CONFIG_OUTSIDE` is never used [INFO] [stdout] --> src/language.rs:56:15 [INFO] [stdout] | [INFO] [stdout] 56 | pub const UNABLE_TO_LOAD_CONFIG_OUTSIDE: &str = "lang_0028"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOADING_CONFIG_FILE` is never used [INFO] [stdout] --> src/language.rs:57:15 [INFO] [stdout] | [INFO] [stdout] 57 | pub const LOADING_CONFIG_FILE: &str = "lang_0029"; // $FILE$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_LOAD_CONFIG_NOT_EXIST` is never used [INFO] [stdout] --> src/language.rs:58:15 [INFO] [stdout] | [INFO] [stdout] 58 | pub const UNABLE_TO_LOAD_CONFIG_NOT_EXIST: &str = "lang_0030"; // $FILE$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CREATING_PRIVATE_GAME` is never used [INFO] [stdout] --> src/language.rs:59:15 [INFO] [stdout] | [INFO] [stdout] 59 | pub const CREATING_PRIVATE_GAME: &str = "lang_0031"; // $GAMENAME$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CREATING_PUBLIC_GAME` is never used [INFO] [stdout] --> src/language.rs:60:15 [INFO] [stdout] | [INFO] [stdout] 60 | pub const CREATING_PUBLIC_GAME: &str = "lang_0032"; // $GAMENAME$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_UNHOST_COUNTDOWN` is never used [INFO] [stdout] --> src/language.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 61 | pub const UNABLE_TO_UNHOST_COUNTDOWN: &str = "lang_0033"; // $DESCRIPTION$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNHOSTING_GAME` is never used [INFO] [stdout] --> src/language.rs:62:15 [INFO] [stdout] | [INFO] [stdout] 62 | pub const UNHOSTING_GAME: &str = "lang_0034"; // $DESCRIPTION$ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_UNHOST_NO_GAME` is never used [INFO] [stdout] --> src/language.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | pub const UNABLE_TO_UNHOST_NO_GAME: &str = "lang_0035"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERSION_ADMIN` is never used [INFO] [stdout] --> src/language.rs:64:15 [INFO] [stdout] | [INFO] [stdout] 64 | pub const VERSION_ADMIN: &str = "lang_0036"; // $VERSION$ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERSION_NOT_ADMIN` is never used [INFO] [stdout] --> src/language.rs:65:15 [INFO] [stdout] | [INFO] [stdout] 65 | pub const VERSION_NOT_ADMIN: &str = "lang_0037"; // $VERSION$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_CREATE_ANOTHER_IN_LOBBY` is never used [INFO] [stdout] --> src/language.rs:66:15 [INFO] [stdout] | [INFO] [stdout] 66 | pub const UNABLE_TO_CREATE_ANOTHER_IN_LOBBY:&str = "lang_0038"; // $GAMENAME$ $DESCRIPTION$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_CREATE_MAX_GAMES` is never used [INFO] [stdout] --> src/language.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | pub const UNABLE_TO_CREATE_MAX_GAMES: &str = "lang_0039"; // $GAMENAME$ $MAX$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_IS_OVER` is never used [INFO] [stdout] --> src/language.rs:68:15 [INFO] [stdout] | [INFO] [stdout] 68 | pub const GAME_IS_OVER: &str = "lang_0040"; // $DESCRIPTION$ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOF_CHECK_BY_REPLYING` is never used [INFO] [stdout] --> src/language.rs:69:15 [INFO] [stdout] | [INFO] [stdout] 69 | pub const SPOOF_CHECK_BY_REPLYING: &str = "lang_0041"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_REFRESHED` is never used [INFO] [stdout] --> src/language.rs:70:15 [INFO] [stdout] | [INFO] [stdout] 70 | pub const GAME_REFRESHED: &str = "lang_0042"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOF_POSSIBLE_IS_AWAY` is never used [INFO] [stdout] --> src/language.rs:71:15 [INFO] [stdout] | [INFO] [stdout] 71 | pub const SPOOF_POSSIBLE_IS_AWAY: &str = "lang_0043"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOF_POSSIBLE_IS_UNAVAILABLE` is never used [INFO] [stdout] --> src/language.rs:72:15 [INFO] [stdout] | [INFO] [stdout] 72 | pub const SPOOF_POSSIBLE_IS_UNAVAILABLE: &str = "lang_0044"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOF_POSSIBLE_IS_REFUSING` is never used [INFO] [stdout] --> src/language.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | pub const SPOOF_POSSIBLE_IS_REFUSING: &str = "lang_0045"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOF_DETECTED_NOT_IN_GAME` is never used [INFO] [stdout] --> src/language.rs:74:15 [INFO] [stdout] | [INFO] [stdout] 74 | pub const SPOOF_DETECTED_NOT_IN_GAME: &str = "lang_0046"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOF_DETECTED_IN_PRIVATE` is never used [INFO] [stdout] --> src/language.rs:75:15 [INFO] [stdout] | [INFO] [stdout] 75 | pub const SPOOF_DETECTED_IN_PRIVATE: &str = "lang_0047"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOF_DETECTED_IN_ANOTHER_GAME` is never used [INFO] [stdout] --> src/language.rs:76:15 [INFO] [stdout] | [INFO] [stdout] 76 | pub const SPOOF_DETECTED_IN_ANOTHER_GAME: &str = "lang_0048"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HAS_PLAYED_GAMES_WITH_BOT` is never used [INFO] [stdout] --> src/language.rs:77:15 [INFO] [stdout] | [INFO] [stdout] 77 | pub const HAS_PLAYED_GAMES_WITH_BOT: &str = "lang_0049"; // $USER$ $FIRSTGAME$ $LASTGAME$ $TOTALGAMES$ $AVGLOADINGTIME$ $... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HASNT_PLAYED_GAMES_WITH_BOT` is never used [INFO] [stdout] --> src/language.rs:78:15 [INFO] [stdout] | [INFO] [stdout] 78 | pub const HASNT_PLAYED_GAMES_WITH_BOT: &str = "lang_0050"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUTO_START_ENABLED` is never used [INFO] [stdout] --> src/language.rs:79:15 [INFO] [stdout] | [INFO] [stdout] 79 | pub const AUTO_START_ENABLED: &str = "lang_0051"; // $PLAYERS$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUTO_START_DISABLED` is never used [INFO] [stdout] --> src/language.rs:80:15 [INFO] [stdout] | [INFO] [stdout] 80 | pub const AUTO_START_DISABLED: &str = "lang_0052"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_START_NOT_ENOUGH` is never used [INFO] [stdout] --> src/language.rs:81:15 [INFO] [stdout] | [INFO] [stdout] 81 | pub const UNABLE_TO_START_NOT_ENOUGH: &str = "lang_0053"; // $PLAYERS$ $REQUIREDPLAYERS$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_START_DOWNLOAD_IN_PROG` is never used [INFO] [stdout] --> src/language.rs:82:15 [INFO] [stdout] | [INFO] [stdout] 82 | pub const UNABLE_TO_START_DOWNLOAD_IN_PROG: &str = "lang_0054"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COUNTDOWN_ABORTED` is never used [INFO] [stdout] --> src/language.rs:83:15 [INFO] [stdout] | [INFO] [stdout] 83 | pub const COUNTDOWN_ABORTED: &str = "lang_0055"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_WAS_KICKED_BY` is never used [INFO] [stdout] --> src/language.rs:84:15 [INFO] [stdout] | [INFO] [stdout] 84 | pub const PLAYER_WAS_KICKED_BY: &str = "lang_0056"; // $VICTIM$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_KICK_NO_MATCH` is never used [INFO] [stdout] --> src/language.rs:85:15 [INFO] [stdout] | [INFO] [stdout] 85 | pub const UNABLE_TO_KICK_NO_MATCH: &str = "lang_0057"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_KICK_MORE_THAN_ONE` is never used [INFO] [stdout] --> src/language.rs:86:15 [INFO] [stdout] | [INFO] [stdout] 86 | pub const UNABLE_TO_KICK_MORE_THAN_ONE: &str = "lang_0058"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_LATENCY_TO` is never used [INFO] [stdout] --> src/language.rs:87:15 [INFO] [stdout] | [INFO] [stdout] 87 | pub const SETTING_LATENCY_TO: &str = "lang_0059"; // $LATENCY$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_LATENCY_TO_MIN` is never used [INFO] [stdout] --> src/language.rs:88:15 [INFO] [stdout] | [INFO] [stdout] 88 | pub const SETTING_LATENCY_TO_MIN: &str = "lang_0060"; // $LATENCY$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_LATENCY_TO_MAX` is never used [INFO] [stdout] --> src/language.rs:89:15 [INFO] [stdout] | [INFO] [stdout] 89 | pub const SETTING_LATENCY_TO_MAX: &str = "lang_0061"; // $LATENCY$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LATENCY_IS` is never used [INFO] [stdout] --> src/language.rs:90:15 [INFO] [stdout] | [INFO] [stdout] 90 | pub const LATENCY_IS: &str = "lang_0062"; // $LATENCY$ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SYNC_LIMIT_IS` is never used [INFO] [stdout] --> src/language.rs:91:15 [INFO] [stdout] | [INFO] [stdout] 91 | pub const SYNC_LIMIT_IS: &str = "lang_0063"; // $SYNCLIMIT$ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_SYNC_LIMIT_TO` is never used [INFO] [stdout] --> src/language.rs:92:15 [INFO] [stdout] | [INFO] [stdout] 92 | pub const SETTING_SYNC_LIMIT_TO: &str = "lang_0064"; // $SYNCLIMIT$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_SYNC_LIMIT_TO_MIN` is never used [INFO] [stdout] --> src/language.rs:93:15 [INFO] [stdout] | [INFO] [stdout] 93 | pub const SETTING_SYNC_LIMIT_TO_MIN: &str = "lang_0065"; // $SYNCLIMIT$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_SYNC_LIMIT_TO_MAX` is never used [INFO] [stdout] --> src/language.rs:94:15 [INFO] [stdout] | [INFO] [stdout] 94 | pub const SETTING_SYNC_LIMIT_TO_MAX: &str = "lang_0066"; // $SYNCLIMIT$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_START_COUNTDOWN` is never used [INFO] [stdout] --> src/language.rs:95:15 [INFO] [stdout] | [INFO] [stdout] 95 | pub const UNABLE_TO_START_COUNTDOWN: &str = "lang_0067"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COUNTDOWN_STARTED` is never used [INFO] [stdout] --> src/language.rs:96:15 [INFO] [stdout] | [INFO] [stdout] 96 | pub const COUNTDOWN_STARTED: &str = "lang_0068"; // $SECONDS$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_LOCKED` is never used [INFO] [stdout] --> src/language.rs:97:15 [INFO] [stdout] | [INFO] [stdout] 97 | pub const GAME_LOCKED: &str = "lang_0069"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_UNLOCKED` is never used [INFO] [stdout] --> src/language.rs:98:15 [INFO] [stdout] | [INFO] [stdout] 98 | pub const GAME_UNLOCKED: &str = "lang_0070"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAS_KICKED_FOR_LAGGING` is never used [INFO] [stdout] --> src/language.rs:99:15 [INFO] [stdout] | [INFO] [stdout] 99 | pub const WAS_KICKED_FOR_LAGGING: &str = "lang_0071"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_BAN_NO_MATCH` is never used [INFO] [stdout] --> src/language.rs:100:15 [INFO] [stdout] | [INFO] [stdout] 100 | pub const UNABLE_TO_BAN_NO_MATCH: &str = "lang_0072"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_BAN_MORE_THAN_ONE` is never used [INFO] [stdout] --> src/language.rs:101:15 [INFO] [stdout] | [INFO] [stdout] 101 | pub const UNABLE_TO_BAN_MORE_THAN_ONE: &str = "lang_0073"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_WAS_BANNED_BY` is never used [INFO] [stdout] --> src/language.rs:102:15 [INFO] [stdout] | [INFO] [stdout] 102 | pub const PLAYER_WAS_BANNED_BY: &str = "lang_0074"; // $SERVER$ $VICTIM$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HAS_PLAYED_DOTA_GAMES_WITH_BOT` is never used [INFO] [stdout] --> src/language.rs:103:15 [INFO] [stdout] | [INFO] [stdout] 103 | pub const HAS_PLAYED_DOTA_GAMES_WITH_BOT: &str = "lang_0075"; // $USER$ ... (20 placeholders) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HASNT_PLAYED_DOTA_GAMES_WITH_BOT` is never used [INFO] [stdout] --> src/language.rs:104:15 [INFO] [stdout] | [INFO] [stdout] 104 | pub const HASNT_PLAYED_DOTA_GAMES_WITH_BOT: &str = "lang_0076"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUTO_KICK_PING` is never used [INFO] [stdout] --> src/language.rs:105:15 [INFO] [stdout] | [INFO] [stdout] 105 | pub const AUTO_KICK_PING: &str = "lang_0077"; // $VICTIM$ $PING$ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPOOFCHECKED_AS` is never used [INFO] [stdout] --> src/language.rs:106:15 [INFO] [stdout] | [INFO] [stdout] 106 | pub const SPOOFCHECKED_AS: &str = "lang_0078"; // $USER$ $REALM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_HAS_LEFT_VOLUNTARILY` is never used [INFO] [stdout] --> src/language.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | pub const PLAYER_HAS_LEFT_VOLUNTARILY: &str = "lang_0079"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_HAS_LOST_CONNECTION` is never used [INFO] [stdout] --> src/language.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | pub const PLAYER_HAS_LOST_CONNECTION: &str = "lang_0080"; // $USER$ $REASON$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_HAS_TIMED_OUT` is never used [INFO] [stdout] --> src/language.rs:109:15 [INFO] [stdout] | [INFO] [stdout] 109 | pub const PLAYER_HAS_TIMED_OUT: &str = "lang_0081"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_DISCONNECTED` is never used [INFO] [stdout] --> src/language.rs:110:15 [INFO] [stdout] | [INFO] [stdout] 110 | pub const PLAYER_DISCONNECTED: &str = "lang_0082"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DESYNC_DETECTED` is never used [INFO] [stdout] --> src/language.rs:111:15 [INFO] [stdout] | [INFO] [stdout] 111 | pub const DESYNC_DETECTED: &str = "lang_0083"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_LOADED` is never used [INFO] [stdout] --> src/language.rs:112:15 [INFO] [stdout] | [INFO] [stdout] 112 | pub const GAME_LOADED: &str = "lang_0084"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_FINISHED_LOADING` is never used [INFO] [stdout] --> src/language.rs:113:15 [INFO] [stdout] | [INFO] [stdout] 113 | pub const PLAYER_FINISHED_LOADING: &str = "lang_0085"; // $USER$ $LOADINGTIME$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PLAYER_DOWNLOADED_MAP` is never used [INFO] [stdout] --> src/language.rs:114:15 [INFO] [stdout] | [INFO] [stdout] 114 | pub const PLAYER_DOWNLOADED_MAP: &str = "lang_0086"; // $USER$ $SECONDS$ $RATE$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_DOWNLOAD` is never used [INFO] [stdout] --> src/language.rs:115:15 [INFO] [stdout] | [INFO] [stdout] 115 | pub const UNABLE_TO_DOWNLOAD: &str = "lang_0087"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ANNOUNCE_MESSAGE_ENABLED` is never used [INFO] [stdout] --> src/language.rs:116:15 [INFO] [stdout] | [INFO] [stdout] 116 | pub const ANNOUNCE_MESSAGE_ENABLED: &str = "lang_0088"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ANNOUNCE_MESSAGE_DISABLED` is never used [INFO] [stdout] --> src/language.rs:117:15 [INFO] [stdout] | [INFO] [stdout] 117 | pub const ANNOUNCE_MESSAGE_DISABLED: &str = "lang_0089"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUTO_SAVE_ENABLED` is never used [INFO] [stdout] --> src/language.rs:118:15 [INFO] [stdout] | [INFO] [stdout] 118 | pub const AUTO_SAVE_ENABLED: &str = "lang_0090"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUTO_SAVE_DISABLED` is never used [INFO] [stdout] --> src/language.rs:119:15 [INFO] [stdout] | [INFO] [stdout] 119 | pub const AUTO_SAVE_DISABLED: &str = "lang_0091"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SHUFFLING_PLAYERS` is never used [INFO] [stdout] --> src/language.rs:120:15 [INFO] [stdout] | [INFO] [stdout] 120 | pub const SHUFFLING_PLAYERS: &str = "lang_0092"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_DOWNLOAD_NO_MATCH` is never used [INFO] [stdout] --> src/language.rs:121:15 [INFO] [stdout] | [INFO] [stdout] 121 | pub const UNABLE_TO_DOWNLOAD_NO_MATCH: &str = "lang_0093"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_DOWNLOAD_MORE_THAN_ONE` is never used [INFO] [stdout] --> src/language.rs:122:15 [INFO] [stdout] | [INFO] [stdout] 122 | pub const UNABLE_TO_DOWNLOAD_MORE_THAN_ONE: &str = "lang_0094"; // $VICTIM$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THE_GAME_IS_ABOUT_TO_START` is never used [INFO] [stdout] --> src/language.rs:123:15 [INFO] [stdout] | [INFO] [stdout] 123 | pub const THE_GAME_IS_ABOUT_TO_START: &str = "lang_0095"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHECKED_PLAYER` is never used [INFO] [stdout] --> src/language.rs:124:15 [INFO] [stdout] | [INFO] [stdout] 124 | pub const CHECKED_PLAYER: &str = "lang_0096"; // $USER$ $PING$ $FROM$ $ADMIN$ $OWNER$ $SPOOFED$ $REALM$ $RESE... [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_CHECK_NO_MATCH` is never used [INFO] [stdout] --> src/language.rs:125:15 [INFO] [stdout] | [INFO] [stdout] 125 | pub const UNABLE_TO_CHECK_NO_MATCH: &str = "lang_0097"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNABLE_TO_CHECK_MORE_THAN_ONE` is never used [INFO] [stdout] --> src/language.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 126 | pub const UNABLE_TO_CHECK_MORE_THAN_ONE: &str = "lang_0098"; // $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MUTED_PLAYER` is never used [INFO] [stdout] --> src/language.rs:127:15 [INFO] [stdout] | [INFO] [stdout] 127 | pub const MUTED_PLAYER: &str = "lang_0099"; // $VICTIM$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNMUTED_PLAYER` is never used [INFO] [stdout] --> src/language.rs:128:15 [INFO] [stdout] | [INFO] [stdout] 128 | pub const UNMUTED_PLAYER: &str = "lang_0100"; // $VICTIM$ $USER$ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotr32` is never used [INFO] [stdout] --> src/map.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn rotr32(x: u32, n: u32) -> u32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_HIDEMINIMAP` is never used [INFO] [stdout] --> src/map.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | pub const MAPOPT_HIDEMINIMAP: u32 = 1 << 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_MODIFYALLYPRIORITIES` is never used [INFO] [stdout] --> src/map.rs:67:11 [INFO] [stdout] | [INFO] [stdout] 67 | pub const MAPOPT_MODIFYALLYPRIORITIES: u32 = 1 << 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_REVEALTERRAIN` is never used [INFO] [stdout] --> src/map.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub const MAPOPT_REVEALTERRAIN: u32 = 1 << 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_CUSTOMTECHTREE` is never used [INFO] [stdout] --> src/map.rs:72:11 [INFO] [stdout] | [INFO] [stdout] 72 | pub const MAPOPT_CUSTOMTECHTREE: u32 = 1 << 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_CUSTOMABILITIES` is never used [INFO] [stdout] --> src/map.rs:73:11 [INFO] [stdout] | [INFO] [stdout] 73 | pub const MAPOPT_CUSTOMABILITIES: u32 = 1 << 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_CUSTOMUPGRADES` is never used [INFO] [stdout] --> src/map.rs:74:11 [INFO] [stdout] | [INFO] [stdout] 74 | pub const MAPOPT_CUSTOMUPGRADES: u32 = 1 << 9; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_WATERWAVESONCLIFFSHORES` is never used [INFO] [stdout] --> src/map.rs:75:11 [INFO] [stdout] | [INFO] [stdout] 75 | pub const MAPOPT_WATERWAVESONCLIFFSHORES: u32 = 1 << 11; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPOPT_WATERWAVESONSLOPESHORES` is never used [INFO] [stdout] --> src/map.rs:76:11 [INFO] [stdout] | [INFO] [stdout] 76 | pub const MAPOPT_WATERWAVESONSLOPESHORES: u32 = 1 << 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPGAMETYPE_UNKNOWN0` is never used [INFO] [stdout] --> src/map.rs:92:11 [INFO] [stdout] | [INFO] [stdout] 92 | pub const MAPGAMETYPE_UNKNOWN0: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPGAMETYPE_SAVEDGAME` is never used [INFO] [stdout] --> src/map.rs:93:11 [INFO] [stdout] | [INFO] [stdout] 93 | pub const MAPGAMETYPE_SAVEDGAME: u32 = 1 << 9; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAPGAMETYPE_PRIVATEGAME` is never used [INFO] [stdout] --> src/map.rs:94:11 [INFO] [stdout] | [INFO] [stdout] 94 | pub const MAPGAMETYPE_PRIVATEGAME: u32 = 1 << 11; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_null_terminated_string` is never used [INFO] [stdout] --> src/map.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | fn read_null_terminated_string(cursor: &mut Cursor<&Vec>) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPLAY_ACTION_CHAT_TO_HOST` is never used [INFO] [stdout] --> src/packed.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const REPLAY_ACTION_CHAT_TO_HOST: u8 = 0x20; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPLAY_ACTION_DESYNC` is never used [INFO] [stdout] --> src/packed.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const REPLAY_ACTION_DESYNC: u8 = 0x22; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPLAY_ACTION_LEAVE_GAME` is never used [INFO] [stdout] --> src/packed.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const REPLAY_ACTION_LEAVE_GAME: u8 = 0x17; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPLAY_ACTION_TIMESLOT2` is never used [INFO] [stdout] --> src/packed.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const REPLAY_ACTION_TIMESLOT2: u8 = 0x1E; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPLAY_ACTION_CHECKSUM` is never used [INFO] [stdout] --> src/packed.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const REPLAY_ACTION_CHECKSUM: u8 = 0x22; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPLAY_ACTION_SAVE_GAME` is never used [INFO] [stdout] --> src/packed.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const REPLAY_ACTION_SAVE_GAME: u8 = 0x06; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pid`, `flag`, and `extra_flags` are never read [INFO] [stdout] --> src/packed.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct ReplayChatMessage { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 30 | pub pid: u8, [INFO] [stdout] | ^^^ [INFO] [stdout] 31 | pub flag: u8, [INFO] [stdout] | ^^^^ [INFO] [stdout] 32 | pub extra_flags: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ReplayChatMessage` 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 `game_name`, `stat_string`, `duration_ms`, `random_seed`, `select_mode`, and `start_spot_count` are never read [INFO] [stdout] --> src/packed.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct Replay { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 52 | pub game_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 53 | pub stat_string: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub duration_ms: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub random_seed: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 61 | pub select_mode: u8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 62 | pub start_spot_count: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Replay` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_random_seed`, `set_select_mode`, and `set_start_spot_count` are never used [INFO] [stdout] --> src/packed.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 77 | impl Replay { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn set_random_seed(&mut self, seed: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn set_select_mode(&mut self, mode: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn set_start_spot_count(&mut self, count: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/replay.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Replay { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 16 | // ── Header fields ── [INFO] [stdout] 17 | pub host_pid: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 18 | pub host_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 19 | pub game_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 20 | pub stat_string: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 21 | pub war3_version: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 22 | pub build_number: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 23 | pub flags: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub slots: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 28 | pub random_seed: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 29 | pub select_mode: u8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 30 | pub start_spot_count: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub player_names: Vec<(u8, String)>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub map_path: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 40 | pub map_crc: ByteArray, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 41 | pub map_sha1: ByteArray, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Replay` 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 `set_slots`, `set_random_seed`, and `add_time_slot_actions` are never used [INFO] [stdout] --> src/replay.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl Replay { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn set_slots(&mut self, slots: &[GameSlot]) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn set_random_seed(&mut self, seed: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn add_time_slot_actions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/savegame.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct SaveGame { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 5 | pub valid: bool, [INFO] [stdout] 6 | pub file_path: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 7 | pub file_name: String, [INFO] [stdout] 8 | pub map_path: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 9 | pub game_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 10 | pub num_slots: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 11 | pub slots: Vec>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 12 | pub random_seed: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 13 | pub magic_number: ByteArray, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SaveGame` 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: associated function `load` is never used [INFO] [stdout] --> src/savegame.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl SaveGame { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn load(file_path: &str) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `connect_simple` is never used [INFO] [stdout] --> src/socket.rs:273:18 [INFO] [stdout] | [INFO] [stdout] 256 | impl GhostTcpClient { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 273 | pub async fn connect_simple(address: &str, port: u16) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SharedTcpSocket` is never used [INFO] [stdout] --> src/socket.rs:392:10 [INFO] [stdout] | [INFO] [stdout] 392 | pub type SharedTcpSocket = Arc>; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_shared` is never used [INFO] [stdout] --> src/socket.rs:394:8 [INFO] [stdout] | [INFO] [stdout] 394 | pub fn make_shared(socket: GhostTcpSocket) -> SharedTcpSocket { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W3GS_HEADER_CONSTANT` is never used [INFO] [stdout] --> src/socket.rs:429:11 [INFO] [stdout] | [INFO] [stdout] 429 | pub const W3GS_HEADER_CONSTANT: u8 = 0xFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GPS_HEADER_CONSTANT` is never used [INFO] [stdout] --> src/socket.rs:430:11 [INFO] [stdout] | [INFO] [stdout] 430 | pub const GPS_HEADER_CONSTANT: u8 = 0xF8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_byte_array_u8` is never used [INFO] [stdout] --> src/util.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn create_byte_array_u8(c: u8) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `append_byte_array_str` is never used [INFO] [stdout] --> src/util.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn append_byte_array_str(b: &mut ByteArray, s: &str, terminator: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `HELP_SID_AUTH_CHECK` should have a snake case name [INFO] [stdout] --> src/bncsutilinterface.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn HELP_SID_AUTH_CHECK( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `help_sid_auth_check` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `HELP_SID_AUTH_ACCOUNTLOGON` should have a snake case name [INFO] [stdout] --> src/bncsutilinterface.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 179 | pub fn HELP_SID_AUTH_ACCOUNTLOGON(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `help_sid_auth_accountlogon` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `HELP_SID_AUTH_ACCOUNTLOGONPROOF` should have a snake case name [INFO] [stdout] --> src/bncsutilinterface.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn HELP_SID_AUTH_ACCOUNTLOGONPROOF(&mut self, salt: ByteArray, server_key: ByteArray) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `help_sid_auth_accountlogonproof` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `HELP_PvPGNPasswordHash` should have a snake case name [INFO] [stdout] --> src/bncsutilinterface.rs:191:12 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn HELP_PvPGNPasswordHash(&mut self, user_password: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `help_pv_pgnpassword_hash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `futures::Future` that must be used [INFO] [stdout] --> src/bnet.rs:557:9 [INFO] [stdout] | [INFO] [stdout] 557 | b.queue_chat_command("test"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `futures::Future` that must be used [INFO] [stdout] --> src/bnet.rs:565:9 [INFO] [stdout] | [INFO] [stdout] 565 | b.queue_chat_command("hello"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SEND_SID_CHECKAD` should have a snake case name [INFO] [stdout] --> src/bnetprotocol.rs:475:12 [INFO] [stdout] | [INFO] [stdout] 475 | pub fn SEND_SID_CHECKAD(&self) -> ByteArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `send_sid_checkad` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [optimized + debuginfo] target(s) in 7.28s [INFO] running `Command { std: "docker" "inspect" "a08d41151db4c3b8d6368db2f7c935dc85afcdae93c5493a790974d401efb0e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a08d41151db4c3b8d6368db2f7c935dc85afcdae93c5493a790974d401efb0e0", kill_on_drop: false }` [INFO] [stdout] a08d41151db4c3b8d6368db2f7c935dc85afcdae93c5493a790974d401efb0e0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 0c89c17dd99f0173e64094e1579a27f1152ebfccda8142ea134d7e8912b98faf [INFO] running `Command { std: "docker" "start" "-a" "0c89c17dd99f0173e64094e1579a27f1152ebfccda8142ea134d7e8912b98faf", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `error` [INFO] [stderr] --> src/bncsutilinterface.rs:4:21 [INFO] [stderr] | [INFO] [stderr] 4 | use tracing::{info, error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `IncomingGameHost` [INFO] [stderr] --> src/bnet_update.rs:1:64 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::bnetprotocol::{BnetProtocol, IncomingChatEventEnum, IncomingGameHost, Protocol}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `make_shared` [INFO] [stderr] --> src/bnet_update.rs:3:58 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::socket::{GhostTcpClient, get_ticks, get_time, make_shared}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::gameslot::*` [INFO] [stderr] --> src/game.rs:707:9 [INFO] [stderr] | [INFO] [stderr] 707 | use crate::gameslot::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashMap` [INFO] [stderr] --> src/gamebase.rs:9:24 [INFO] [stderr] | [INFO] [stderr] 9 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/gamebase.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AsyncReadExt` and `AsyncWriteExt` [INFO] [stderr] --> src/gamebase.rs:11:17 [INFO] [stderr] | [INFO] [stderr] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TcpListener` and `TcpStream` [INFO] [stderr] --> src/gamebase.rs:12:18 [INFO] [stderr] | [INFO] [stderr] 12 | use tokio::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `tokio::sync::RwLock` [INFO] [stderr] --> src/gamebase.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use tokio::sync::RwLock; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Duration` and `self` [INFO] [stderr] --> src/gamebase.rs:14:19 [INFO] [stderr] | [INFO] [stderr] 14 | use tokio::time::{self, Duration}; [INFO] [stderr] | ^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::ghost::*` [INFO] [stderr] --> src/ghost_update.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::ghost::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `get_ticks` [INFO] [stderr] --> src/ghost_update.rs:3:21 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::socket::{get_ticks, get_time}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `warn` [INFO] [stderr] --> src/ghost_update.rs:7:28 [INFO] [stderr] | [INFO] [stderr] 7 | use tracing::{error, info, warn}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/ghostdb.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `error` [INFO] [stderr] --> src/ghostdb.rs:3:21 [INFO] [stderr] | [INFO] [stderr] 3 | use tracing::{info, error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc` and `Mutex` [INFO] [stderr] --> src/map.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::game` [INFO] [stderr] --> src/map.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::game; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::ghost::*` [INFO] [stderr] --> src/map.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::ghost::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::crc32::*` [INFO] [stderr] --> src/map.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use crate::crc32::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::sha1::*` [INFO] [stderr] --> src/map.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use crate::sha1::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::config` [INFO] [stderr] --> src/map.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use crate::config; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::gameslot::*` [INFO] [stderr] --> src/map.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use crate::gameslot::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Ghost` [INFO] [stderr] --> src/map.rs:14:26 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::{SharedGhost, Ghost}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `File` [INFO] [stderr] --> src/map.rs:17:20 [INFO] [stderr] | [INFO] [stderr] 17 | use mpq::{Archive, File}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `error` [INFO] [stderr] --> src/map.rs:18:21 [INFO] [stderr] | [INFO] [stderr] 18 | use tracing::{info, error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `error` [INFO] [stderr] --> src/socket.rs:7:21 [INFO] [stderr] | [INFO] [stderr] 7 | use tracing::{info, error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/map.rs:330:21 [INFO] [stderr] | [INFO] [stderr] 330 | let mut commonj = read_file_full("maps/common.j").unwrap(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/map.rs:335:25 [INFO] [stderr] | [INFO] [stderr] 335 | let mut blizzardj = read_file_full("maps/blizzard.j").unwrap(); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/map.rs:346:39 [INFO] [stderr] | [INFO] [stderr] 346 | ... if let Ok(mut cmnj) = map.open_file("Scripts\\common.j") { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/map.rs:347:37 [INFO] [stderr] | [INFO] [stderr] 347 | ... let mut file_length = cmnj.size(); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/map.rs:378:39 [INFO] [stderr] | [INFO] [stderr] 378 | ... if let Ok(mut blrj) = map.open_file("Scripts\\blizzard.j") { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/map.rs:379:37 [INFO] [stderr] | [INFO] [stderr] 379 | ... let mut file_length = blrj.size(); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/map.rs:433:43 [INFO] [stderr] | [INFO] [stderr] 433 | ... if let Ok(mut file) = map.open_file(i) { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/map.rs:434:37 [INFO] [stderr] | [INFO] [stderr] 434 | ... let mut length = file.size(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/map.rs:482:13 [INFO] [stderr] | [INFO] [stderr] 482 | let mut map_filter_type: u8 = MAPFILTER_TYPE_SCENARIO; [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/map.rs:487:23 [INFO] [stderr] | [INFO] [stderr] 487 | if let Ok(mut w3i_file) = map.open_file("war3map.w3i") { [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `logon_type` [INFO] [stderr] --> src/bnet_update.rs:250:29 [INFO] [stderr] | [INFO] [stderr] 250 | let logon_type = p.get_logon_type(); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logon_type` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mpq_file_time` [INFO] [stderr] --> src/bnet_update.rs:252:29 [INFO] [stderr] | [INFO] [stderr] 252 | let mpq_file_time = p.get_mpq_file_time(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mpq_file_time` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `length_bytes` is never read [INFO] [stderr] --> src/bnetprotocol.rs:890:36 [INFO] [stderr] | [INFO] [stderr] 890 | let mut length_bytes = ByteArray::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `save_game` [INFO] [stderr] --> src/game.rs:224:9 [INFO] [stderr] | [INFO] [stderr] 224 | save_game: Option, [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_save_game` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `interval` [INFO] [stderr] --> src/game.rs:586:27 [INFO] [stderr] | [INFO] [stderr] 586 | if let Ok(interval) = parts[0].parse::() { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interval` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `reserved` [INFO] [stderr] --> src/gamebase.rs:377:34 [INFO] [stderr] | [INFO] [stderr] 377 | pub fn get_empty_slot(&self, reserved: bool) -> Option { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reserved` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `unlock` [INFO] [stderr] --> src/gamebase.rs:438:45 [INFO] [stderr] | [INFO] [stderr] 438 | pub fn open_slot(&mut self, sid: usize, unlock: bool) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_unlock` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `map_size` [INFO] [stderr] --> src/gamebase.rs:909:21 [INFO] [stderr] | [INFO] [stderr] 909 | let map_size = self.map.map_size.clone(); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `game_type` [INFO] [stderr] --> src/ghost_update.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | game_type, [INFO] [stderr] | ^^^^^^^^^ help: try ignoring the field: `game_type: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `creator` [INFO] [stderr] --> src/ghost_update.rs:145:13 [INFO] [stderr] | [INFO] [stderr] 145 | creator, [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `creator: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `creator_server` [INFO] [stderr] --> src/ghost_update.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | creator_server, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try ignoring the field: `creator_server: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stay_time` [INFO] [stderr] --> src/ghostdb.rs:343:9 [INFO] [stderr] | [INFO] [stderr] 343 | stay_time: u32, [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stay_time` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `game_flags` is never read [INFO] [stderr] --> src/map.rs:184:35 [INFO] [stderr] | [INFO] [stderr] 184 | let mut game_flags: u32 = 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/map.rs:357:45 [INFO] [stderr] | [INFO] [stderr] 357 | ... let val = val ^ self.xor_rotate_left(&buf[..bytes_read]); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/map.rs:389:45 [INFO] [stderr] | [INFO] [stderr] 389 | ... let val = val ^ self.xor_rotate_left(&buf[..bytes_read]); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `map_filter_type` [INFO] [stderr] --> src/map.rs:482:13 [INFO] [stderr] | [INFO] [stderr] 482 | let mut map_filter_type: u8 = MAPFILTER_TYPE_SCENARIO; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_filter_type` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/map.rs:526:33 [INFO] [stderr] | [INFO] [stderr] 526 | ... for i in 0..raw_map_num_players { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `map_mpq_ready` is never read [INFO] [stderr] --> src/map.rs:299:37 [INFO] [stderr] | [INFO] [stderr] 299 | let mut map_mpq_ready = false; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variants `KR_OLD_GAME_VERSION`, `KR_INVALID_VERSION`, `KR_ROC_KEY_IN_USE`, and `KR_TFT_KEY_IN_USE` are never constructed [INFO] [stderr] --> src/bnetprotocol.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub enum KeyResult { [INFO] [stderr] | --------- variants in this enum [INFO] [stderr] 43 | KR_GOOD = 0, [INFO] [stderr] 44 | KR_OLD_GAME_VERSION = 256, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 45 | KR_INVALID_VERSION = 257, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 46 | KR_ROC_KEY_IN_USE = 513, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 47 | KR_TFT_KEY_IN_USE = 529, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `id`, `ip`, `date`, `game_name`, `admin`, and `reason` are never read [INFO] [stderr] --> src/game.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct DbBan { [INFO] [stderr] | ----- fields in this struct [INFO] [stderr] 10 | pub id: u32, [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 13 | pub ip: String, [INFO] [stderr] | ^^ [INFO] [stderr] 14 | pub date: String, [INFO] [stderr] | ^^^^ [INFO] [stderr] 15 | pub game_name: String, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 16 | pub admin: String, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 17 | pub reason: String, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DbBan` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `DbGame` is never constructed [INFO] [stderr] --> src/game.rs:45:12 [INFO] [stderr] | [INFO] [stderr] 45 | pub struct DbGame { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/game.rs:59:12 [INFO] [stderr] | [INFO] [stderr] 58 | impl DbGame { [INFO] [stderr] | ----------- associated function in this implementation [INFO] [stderr] 59 | pub fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> src/game.rs:86:9 [INFO] [stderr] | [INFO] [stderr] 85 | pub struct DbGamePlayer { [INFO] [stderr] | ------------ fields in this struct [INFO] [stderr] 86 | pub id: u32, [INFO] [stderr] | ^^ [INFO] [stderr] 87 | pub game_id: u32, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 88 | pub name: String, [INFO] [stderr] 89 | pub ip: String, [INFO] [stderr] | ^^ [INFO] [stderr] 90 | pub spoofed: bool, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 91 | pub spoofed_realm: String, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 92 | pub reserved: bool, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 93 | pub loading_time: u32, // мс [INFO] [stderr] 94 | pub left: u32, // game ticks в секундах [INFO] [stderr] | ^^^^ [INFO] [stderr] 95 | pub left_reason: String, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 96 | pub team: u8, [INFO] [stderr] | ^^^^ [INFO] [stderr] 97 | pub colour: u8, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DbGamePlayer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `DbGamePlayerSummary` is never constructed [INFO] [stderr] --> src/game.rs:132:12 [INFO] [stderr] | [INFO] [stderr] 132 | pub struct DbGamePlayerSummary { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> src/game.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 142 | pub struct DbDotaPlayerSummary { [INFO] [stderr] | ------------------- fields in this struct [INFO] [stderr] 143 | pub total_games: u32, [INFO] [stderr] 144 | pub total_wins: u32, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 145 | pub total_losses: u32, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 148 | pub total_creep_kills: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 149 | pub total_creep_denies: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 150 | pub total_assists: u32, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 151 | pub total_neutral_kills: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 152 | pub total_tower_kills: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 153 | pub total_rax_kills: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 154 | pub total_courier_kills: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DbDotaPlayerSummary` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/game.rs:170:12 [INFO] [stderr] | [INFO] [stderr] 157 | impl DbDotaPlayerSummary { [INFO] [stderr] | ------------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 170 | pub fn avg_creep_kills(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 173 | pub fn avg_creep_denies(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 176 | pub fn avg_assists(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 179 | pub fn avg_neutral_kills(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 182 | pub fn avg_tower_kills(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 185 | pub fn avg_rax_kills(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 188 | pub fn avg_courier_kills(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Game` is never constructed [INFO] [stderr] --> src/game.rs:196:12 [INFO] [stderr] | [INFO] [stderr] 196 | pub struct Game { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `StatsType` is never used [INFO] [stderr] --> src/game.rs:215:10 [INFO] [stderr] | [INFO] [stderr] 215 | pub enum StatsType { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/game.rs:222:12 [INFO] [stderr] | [INFO] [stderr] 221 | impl Game { [INFO] [stderr] | --------- associated items in this implementation [INFO] [stderr] 222 | pub fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 299 | pub fn event_game_started(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 315 | pub fn event_player_deleted(&mut self, player_idx: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 361 | pub fn handle_bot_command( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 421 | fn cmd_ping(&self) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 432 | fn cmd_abort(&mut self) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 441 | fn cmd_close(&mut self, payload: &str) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 451 | fn cmd_closeall(&mut self) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 456 | fn cmd_open(&mut self, payload: &str) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 466 | fn cmd_openall(&mut self) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 471 | fn cmd_hold(&mut self, payload: &str) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 480 | fn cmd_kick(&mut self, payload: &str) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 495 | fn cmd_mute(&mut self, payload: &str) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 505 | fn cmd_unmute(&mut self, payload: &str) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 515 | fn cmd_start(&mut self, payload: &str) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 523 | fn cmd_swap(&mut self, payload: &str) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 540 | fn cmd_shuffle(&mut self) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 564 | fn cmd_lock(&mut self, has_perm: bool) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 573 | fn cmd_unlock(&mut self) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 578 | fn cmd_announce(&mut self, payload: &str) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 595 | fn cmd_autosave(&mut self, payload: &str) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 609 | fn cmd_autostart(&mut self, payload: &str) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 621 | fn cmd_drop(&mut self) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 630 | fn cmd_from(&self) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 640 | fn cmd_latency(&mut self, payload: &str) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 653 | fn cmd_synclimit(&mut self, payload: &str) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 666 | fn cmd_comp(&mut self, payload: &str) -> BotCommandResult { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `BotCommandResult` is never used [INFO] [stderr] --> src/game.rs:682:10 [INFO] [stderr] | [INFO] [stderr] 682 | pub enum BotCommandResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated functions `message` and `broadcast` are never used [INFO] [stderr] --> src/game.rs:696:12 [INFO] [stderr] | [INFO] [stderr] 695 | impl BotCommandResult { [INFO] [stderr] | --------------------- associated functions in this implementation [INFO] [stderr] 696 | pub fn message(msg: &str) -> Self { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 699 | pub fn broadcast(msg: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_PRIVATE` is never used [INFO] [stderr] --> src/gamebase.rs:17:11 [INFO] [stderr] | [INFO] [stderr] 17 | pub const GAME_PRIVATE: u8 = 0; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_PUBLIC` is never used [INFO] [stderr] --> src/gamebase.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | pub const GAME_PUBLIC: u8 = 1; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_DISCONNECT` is never used [INFO] [stderr] --> src/gamebase.rs:20:11 [INFO] [stderr] | [INFO] [stderr] 20 | pub const PLAYER_LEAVE_DISCONNECT: u32 = 13; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_LOST` is never used [INFO] [stderr] --> src/gamebase.rs:21:11 [INFO] [stderr] | [INFO] [stderr] 21 | pub const PLAYER_LEAVE_LOST: u32 = 7; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_LOSTBUILDINGS` is never used [INFO] [stderr] --> src/gamebase.rs:22:11 [INFO] [stderr] | [INFO] [stderr] 22 | pub const PLAYER_LEAVE_LOSTBUILDINGS: u32 = 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_WON` is never used [INFO] [stderr] --> src/gamebase.rs:23:11 [INFO] [stderr] | [INFO] [stderr] 23 | pub const PLAYER_LEAVE_WON: u32 = 9; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_DRAW` is never used [INFO] [stderr] --> src/gamebase.rs:24:11 [INFO] [stderr] | [INFO] [stderr] 24 | pub const PLAYER_LEAVE_DRAW: u32 = 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_OBSERVER` is never used [INFO] [stderr] --> src/gamebase.rs:25:11 [INFO] [stderr] | [INFO] [stderr] 25 | pub const PLAYER_LEAVE_OBSERVER: u32 = 11; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_LOBBY` is never used [INFO] [stderr] --> src/gamebase.rs:26:11 [INFO] [stderr] | [INFO] [stderr] 26 | pub const PLAYER_LEAVE_LOBBY: u32 = 21; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_GPROXY` is never used [INFO] [stderr] --> src/gamebase.rs:27:11 [INFO] [stderr] | [INFO] [stderr] 27 | pub const PLAYER_LEAVE_GPROXY: u32 = 100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_GAMETYPE_UNKNOWN0` is never used [INFO] [stderr] --> src/gamebase.rs:29:11 [INFO] [stderr] | [INFO] [stderr] 29 | pub const MAP_GAMETYPE_UNKNOWN0: u32 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_GAMETYPE_SAVEDGAME` is never used [INFO] [stderr] --> src/gamebase.rs:30:11 [INFO] [stderr] | [INFO] [stderr] 30 | pub const MAP_GAMETYPE_SAVEDGAME: u32 = 512; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_OPT_FIXEDPLAYERSETTING` is never used [INFO] [stderr] --> src/gamebase.rs:31:11 [INFO] [stderr] | [INFO] [stderr] 31 | pub const MAP_OPT_FIXEDPLAYERSETTING: u32 = 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `BaseGame` is never constructed [INFO] [stderr] --> src/gamebase.rs:34:12 [INFO] [stderr] | [INFO] [stderr] 34 | pub struct BaseGame { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/gamebase.rs:154:12 [INFO] [stderr] | [INFO] [stderr] 152 | impl BaseGame { [INFO] [stderr] | ------------- associated items in this implementation [INFO] [stderr] 153 | /// Create a new BaseGame from config / ghost state [INFO] [stderr] 154 | pub fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 318 | pub fn get_slots_occupied(&self) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 325 | pub fn get_slots_open(&self) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 332 | pub fn get_num_human_players(&self) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 336 | pub fn get_num_players(&self) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 344 | pub fn get_host_pid(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 353 | pub fn get_pids(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 361 | pub fn get_new_pid(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 377 | pub fn get_empty_slot(&self, reserved: bool) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 386 | pub fn get_sid_from_pid(&self, pid: u8) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 392 | pub fn get_player_from_pid(&self, pid: u8) -> Option<&GamePlayer> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 398 | pub fn get_player_from_pid_mut(&mut self, pid: u8) -> Option<&mut GamePlayer> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 404 | pub fn get_player_from_name(&self, name: &str, sensitive: bool) -> Option<&GamePlayer> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 415 | pub fn get_player_index_from_name(&self, name: &str, sensitive: bool) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 426 | pub fn get_player_from_sid(&self, sid: usize) -> Option<&GamePlayer> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 434 | pub fn is_owner(&self, name: &str) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 438 | pub fn open_slot(&mut self, sid: usize, unlock: bool) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 448 | pub fn close_slot(&mut self, sid: usize) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 458 | pub fn swap_slots(&mut self, sid1: usize, sid2: usize) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 483 | pub fn create_virtual_host(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 501 | pub fn delete_virtual_host(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 514 | pub fn send_to(&self, player: &mut GamePlayer, data: &[u8]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 518 | pub fn send_all(&mut self, data: &[u8]) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 526 | pub fn send_chat(&mut self, from_pid: u8, to_pid: u8, message: &str) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 562 | pub fn send_all_chat_from(&mut self, from_pid: u8, message: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 594 | pub fn send_all_chat(&mut self, message: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 599 | pub fn send_all_slot_info(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 613 | pub fn get_description(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 635 | pub fn send_all_actions(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 711 | pub fn start_countdown_auto(&mut self, require_spoof: bool) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 745 | pub fn event_game_started(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 770 | pub fn check_lag(&mut self) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 814 | pub fn check_lag_stop(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 850 | pub fn stop_laggers(&mut self, reason: &str) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 864 | pub fn update(&mut self) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1098 | pub fn close_all_slots(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1106 | pub fn open_all_slots(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1114 | pub fn start_count_down(&mut self, force: bool) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1122 | pub fn set_announce(&mut self, announce: bool) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1127 | pub fn computer_slot(&mut self, sid: u8, skill: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1134 | pub fn add_to_reserved(&mut self, name: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1138 | pub fn set_hcl(&mut self, _hcl: &str) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `packet_type` and `data` are never read [INFO] [stderr] --> src/gameplayer.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 20 | pub struct CommandPacket { [INFO] [stderr] | ------------- fields in this struct [INFO] [stderr] 21 | pub packet_type: u8, // W3GS_HEADER_CONSTANT или GPS_HEADER_CONSTANT [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 22 | pub id: u8, [INFO] [stderr] 23 | pub data: ByteArray, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `CommandPacket` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `delete_me` is never read [INFO] [stderr] --> src/gameplayer.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 37 | pub struct PotentialPlayer { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] 38 | pub delete_me: bool, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PotentialPlayer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> src/gameplayer.rs:131:9 [INFO] [stderr] | [INFO] [stderr] 126 | pub struct GamePlayer { [INFO] [stderr] | ---------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 131 | pub pid: u8, [INFO] [stderr] | ^^^ [INFO] [stderr] 132 | pub name: String, [INFO] [stderr] 133 | pub internal_ip: [u8; 4], [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 134 | pub joined_realm: String, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 138 | pub total_packets_received: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 144 | pub checksums: VecDeque, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 147 | pub left_code: u32, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 148 | pub left_reason: String, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 149 | pub spoofed_realm: String, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 150 | pub login_attempts: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 151 | pub sync_counter: u32, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 154 | pub join_time: u32, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 155 | pub last_map_part_sent: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 156 | pub last_map_part_acked: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 157 | pub started_downloading_ticks: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 158 | pub finished_downloading_time: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 159 | pub finished_loading_ticks: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 160 | pub started_lagging_ticks: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 161 | pub stats_sent_time: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 162 | pub stats_dota_sent_time: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 163 | pub last_gproxy_wait_notice_sent_time: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 166 | pub load_in_game_data: VecDeque, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 169 | pub score: f64, [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 172 | pub logged_in: bool, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 173 | pub spoofed: bool, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 174 | pub reserved: bool, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 175 | pub whois_should_be_sent: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 176 | pub whois_sent: bool, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 177 | pub download_allowed: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] 178 | pub download_started: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] 179 | pub download_finished: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 180 | pub finished_loading: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] 181 | pub lagging: bool, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 182 | pub drop_vote: bool, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 183 | pub kick_vote: bool, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 184 | pub start_vote: bool, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 185 | pub muted: bool, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 186 | pub left_message_sent: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 190 | pub gproxy_disconnect_notice_sent: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 191 | pub gproxy_buffer: VecDeque, [INFO] [stderr] 192 | pub gproxy_reconnect_key: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 193 | pub last_gproxy_ack_time: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 196 | pub delete_me: bool, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 199 | pub send_queue: VecDeque, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `GamePlayer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_SLOT_INFO_JOIN` is never used [INFO] [stderr] --> src/gameprotocol.rs:10:11 [INFO] [stderr] | [INFO] [stderr] 10 | pub const W3GS_SLOT_INFO_JOIN: u8 = 0x04; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_PLAYER_INFO` is never used [INFO] [stderr] --> src/gameprotocol.rs:12:11 [INFO] [stderr] | [INFO] [stderr] 12 | pub const W3GS_PLAYER_INFO: u8 = 0x06; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_PLAYER_LEAVE_OTHERS` is never used [INFO] [stderr] --> src/gameprotocol.rs:13:11 [INFO] [stderr] | [INFO] [stderr] 13 | pub const W3GS_PLAYER_LEAVE_OTHERS: u8 = 0x07; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_GAME_LOADED_OTHERS` is never used [INFO] [stderr] --> src/gameprotocol.rs:14:11 [INFO] [stderr] | [INFO] [stderr] 14 | pub const W3GS_GAME_LOADED_OTHERS: u8 = 0x08; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_SLOT_INFO` is never used [INFO] [stderr] --> src/gameprotocol.rs:15:11 [INFO] [stderr] | [INFO] [stderr] 15 | pub const W3GS_SLOT_INFO: u8 = 0x09; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_INCOMING_ACTION` is never used [INFO] [stderr] --> src/gameprotocol.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | pub const W3GS_INCOMING_ACTION: u8 = 0x0C; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_CHAT_FROM_HOST` is never used [INFO] [stderr] --> src/gameprotocol.rs:19:11 [INFO] [stderr] | [INFO] [stderr] 19 | pub const W3GS_CHAT_FROM_HOST: u8 = 0x0F; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_START_LAG` is never used [INFO] [stderr] --> src/gameprotocol.rs:20:11 [INFO] [stderr] | [INFO] [stderr] 20 | pub const W3GS_START_LAG: u8 = 0x10; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_STOP_LAG` is never used [INFO] [stderr] --> src/gameprotocol.rs:21:11 [INFO] [stderr] | [INFO] [stderr] 21 | pub const W3GS_STOP_LAG: u8 = 0x11; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_GAME_OVER` is never used [INFO] [stderr] --> src/gameprotocol.rs:22:11 [INFO] [stderr] | [INFO] [stderr] 22 | pub const W3GS_GAME_OVER: u8 = 0x14; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_PLAYER_KICKED` is never used [INFO] [stderr] --> src/gameprotocol.rs:23:11 [INFO] [stderr] | [INFO] [stderr] 23 | pub const W3GS_PLAYER_KICKED: u8 = 0x1C; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_LEAVE_ACK` is never used [INFO] [stderr] --> src/gameprotocol.rs:24:11 [INFO] [stderr] | [INFO] [stderr] 24 | pub const W3GS_LEAVE_ACK: u8 = 0x1B; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_REQ_JOIN` is never used [INFO] [stderr] --> src/gameprotocol.rs:25:11 [INFO] [stderr] | [INFO] [stderr] 25 | pub const W3GS_REQ_JOIN: u8 = 0x1E; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_LEAVE_GAME` is never used [INFO] [stderr] --> src/gameprotocol.rs:26:11 [INFO] [stderr] | [INFO] [stderr] 26 | pub const W3GS_LEAVE_GAME: u8 = 0x21; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_GAME_LOADED_SELF` is never used [INFO] [stderr] --> src/gameprotocol.rs:27:11 [INFO] [stderr] | [INFO] [stderr] 27 | pub const W3GS_GAME_LOADED_SELF: u8 = 0x23; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_OUTGOING_ACTION` is never used [INFO] [stderr] --> src/gameprotocol.rs:28:11 [INFO] [stderr] | [INFO] [stderr] 28 | pub const W3GS_OUTGOING_ACTION: u8 = 0x26; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_OUTGOING_KEEPALIVE` is never used [INFO] [stderr] --> src/gameprotocol.rs:29:11 [INFO] [stderr] | [INFO] [stderr] 29 | pub const W3GS_OUTGOING_KEEPALIVE: u8 = 0x27; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_CHAT_TO_HOST` is never used [INFO] [stderr] --> src/gameprotocol.rs:30:11 [INFO] [stderr] | [INFO] [stderr] 30 | pub const W3GS_CHAT_TO_HOST: u8 = 0x28; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_DROP_REQ` is never used [INFO] [stderr] --> src/gameprotocol.rs:31:11 [INFO] [stderr] | [INFO] [stderr] 31 | pub const W3GS_DROP_REQ: u8 = 0x29; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_SEARCH_GAME` is never used [INFO] [stderr] --> src/gameprotocol.rs:32:11 [INFO] [stderr] | [INFO] [stderr] 32 | pub const W3GS_SEARCH_GAME: u8 = 0x2F; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_GAME_INFO` is never used [INFO] [stderr] --> src/gameprotocol.rs:33:11 [INFO] [stderr] | [INFO] [stderr] 33 | pub const W3GS_GAME_INFO: u8 = 0x30; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_CREATE_GAME` is never used [INFO] [stderr] --> src/gameprotocol.rs:34:11 [INFO] [stderr] | [INFO] [stderr] 34 | pub const W3GS_CREATE_GAME: u8 = 0x31; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_REFRESH_GAME` is never used [INFO] [stderr] --> src/gameprotocol.rs:35:11 [INFO] [stderr] | [INFO] [stderr] 35 | pub const W3GS_REFRESH_GAME: u8 = 0x32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_DECREATE_GAME` is never used [INFO] [stderr] --> src/gameprotocol.rs:36:11 [INFO] [stderr] | [INFO] [stderr] 36 | pub const W3GS_DECREATE_GAME: u8 = 0x33; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_MAP_CHECK` is never used [INFO] [stderr] --> src/gameprotocol.rs:37:11 [INFO] [stderr] | [INFO] [stderr] 37 | pub const W3GS_MAP_CHECK: u8 = 0x3D; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_START_DOWNLOAD` is never used [INFO] [stderr] --> src/gameprotocol.rs:38:11 [INFO] [stderr] | [INFO] [stderr] 38 | pub const W3GS_START_DOWNLOAD: u8 = 0x3F; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_MAP_SIZE` is never used [INFO] [stderr] --> src/gameprotocol.rs:39:11 [INFO] [stderr] | [INFO] [stderr] 39 | pub const W3GS_MAP_SIZE: u8 = 0x42; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_MAP_PART` is never used [INFO] [stderr] --> src/gameprotocol.rs:40:11 [INFO] [stderr] | [INFO] [stderr] 40 | pub const W3GS_MAP_PART: u8 = 0x43; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_MAP_PART_OK` is never used [INFO] [stderr] --> src/gameprotocol.rs:41:11 [INFO] [stderr] | [INFO] [stderr] 41 | pub const W3GS_MAP_PART_OK: u8 = 0x44; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_MAP_PART_ERROR` is never used [INFO] [stderr] --> src/gameprotocol.rs:42:11 [INFO] [stderr] | [INFO] [stderr] 42 | pub const W3GS_MAP_PART_ERROR: u8 = 0x45; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_PONG_TO_HOST` is never used [INFO] [stderr] --> src/gameprotocol.rs:43:11 [INFO] [stderr] | [INFO] [stderr] 43 | pub const W3GS_PONG_TO_HOST: u8 = 0x46; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_INCOMING_ACTION2` is never used [INFO] [stderr] --> src/gameprotocol.rs:44:11 [INFO] [stderr] | [INFO] [stderr] 44 | pub const W3GS_INCOMING_ACTION2: u8 = 0x48; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_DISCONNECT` is never used [INFO] [stderr] --> src/gameprotocol.rs:47:11 [INFO] [stderr] | [INFO] [stderr] 47 | pub const PLAYER_LEAVE_DISCONNECT: u32 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_LOST` is never used [INFO] [stderr] --> src/gameprotocol.rs:48:11 [INFO] [stderr] | [INFO] [stderr] 48 | pub const PLAYER_LEAVE_LOST: u32 = 7; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_LOSTBUILDINGS` is never used [INFO] [stderr] --> src/gameprotocol.rs:49:11 [INFO] [stderr] | [INFO] [stderr] 49 | pub const PLAYER_LEAVE_LOSTBUILDINGS: u32 = 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_WON` is never used [INFO] [stderr] --> src/gameprotocol.rs:50:11 [INFO] [stderr] | [INFO] [stderr] 50 | pub const PLAYER_LEAVE_WON: u32 = 9; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_DRAW` is never used [INFO] [stderr] --> src/gameprotocol.rs:51:11 [INFO] [stderr] | [INFO] [stderr] 51 | pub const PLAYER_LEAVE_DRAW: u32 = 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_OBSERVER` is never used [INFO] [stderr] --> src/gameprotocol.rs:52:11 [INFO] [stderr] | [INFO] [stderr] 52 | pub const PLAYER_LEAVE_OBSERVER: u32 = 11; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_LOBBY` is never used [INFO] [stderr] --> src/gameprotocol.rs:53:11 [INFO] [stderr] | [INFO] [stderr] 53 | pub const PLAYER_LEAVE_LOBBY: u32 = 13; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_LEAVE_GPROXY` is never used [INFO] [stderr] --> src/gameprotocol.rs:54:11 [INFO] [stderr] | [INFO] [stderr] 54 | pub const PLAYER_LEAVE_GPROXY: u32 = 100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `REJECTJOIN_STARTED` is never used [INFO] [stderr] --> src/gameprotocol.rs:58:11 [INFO] [stderr] | [INFO] [stderr] 58 | pub const REJECTJOIN_STARTED: u32 = 0x10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `REJECTJOIN_WRONGPASSWORD` is never used [INFO] [stderr] --> src/gameprotocol.rs:59:11 [INFO] [stderr] | [INFO] [stderr] 59 | pub const REJECTJOIN_WRONGPASSWORD: u32 = 0x27; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SLOT_STATUS_CLOSED` is never used [INFO] [stderr] --> src/gameprotocol.rs:63:11 [INFO] [stderr] | [INFO] [stderr] 63 | pub const SLOT_STATUS_CLOSED: u8 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SLOT_STATUS_OCCUPIED` is never used [INFO] [stderr] --> src/gameprotocol.rs:64:11 [INFO] [stderr] | [INFO] [stderr] 64 | pub const SLOT_STATUS_OCCUPIED: u8 = 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SLOT_RACE_HUMAN` is never used [INFO] [stderr] --> src/gameprotocol.rs:67:11 [INFO] [stderr] | [INFO] [stderr] 67 | pub const SLOT_RACE_HUMAN: u8 = 0x01; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SLOT_RACE_ORC` is never used [INFO] [stderr] --> src/gameprotocol.rs:68:11 [INFO] [stderr] | [INFO] [stderr] 68 | pub const SLOT_RACE_ORC: u8 = 0x02; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SLOT_RACE_NIGHTELF` is never used [INFO] [stderr] --> src/gameprotocol.rs:69:11 [INFO] [stderr] | [INFO] [stderr] 69 | pub const SLOT_RACE_NIGHTELF: u8 = 0x04; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SLOT_RACE_UNDEAD` is never used [INFO] [stderr] --> src/gameprotocol.rs:70:11 [INFO] [stderr] | [INFO] [stderr] 70 | pub const SLOT_RACE_UNDEAD: u8 = 0x08; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SLOT_RACE_RANDOM` is never used [INFO] [stderr] --> src/gameprotocol.rs:71:11 [INFO] [stderr] | [INFO] [stderr] 71 | pub const SLOT_RACE_RANDOM: u8 = 0x20; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SLOT_RACE_SELECTABLE` is never used [INFO] [stderr] --> src/gameprotocol.rs:72:11 [INFO] [stderr] | [INFO] [stderr] 72 | pub const SLOT_RACE_SELECTABLE: u8 = 0x40; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SLOT_COMP_EASY` is never used [INFO] [stderr] --> src/gameprotocol.rs:75:11 [INFO] [stderr] | [INFO] [stderr] 75 | pub const SLOT_COMP_EASY: u8 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SLOT_COMP_NORMAL` is never used [INFO] [stderr] --> src/gameprotocol.rs:76:11 [INFO] [stderr] | [INFO] [stderr] 76 | pub const SLOT_COMP_NORMAL: u8 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SLOT_COMP_INSANE` is never used [INFO] [stderr] --> src/gameprotocol.rs:77:11 [INFO] [stderr] | [INFO] [stderr] 77 | pub const SLOT_COMP_INSANE: u8 = 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_OPT_MELEE` is never used [INFO] [stderr] --> src/gameprotocol.rs:80:11 [INFO] [stderr] | [INFO] [stderr] 80 | pub const MAP_OPT_MELEE: u32 = 1 << 2; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_OPT_FIXED_PLAYER_SETTINGS` is never used [INFO] [stderr] --> src/gameprotocol.rs:81:11 [INFO] [stderr] | [INFO] [stderr] 81 | pub const MAP_OPT_FIXED_PLAYER_SETTINGS: u32 = 1 << 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_OPT_CUSTOM_FORCES` is never used [INFO] [stderr] --> src/gameprotocol.rs:82:11 [INFO] [stderr] | [INFO] [stderr] 82 | pub const MAP_OPT_CUSTOM_FORCES: u32 = 1 << 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_OPT_CUSTOM_TECHTREE` is never used [INFO] [stderr] --> src/gameprotocol.rs:83:11 [INFO] [stderr] | [INFO] [stderr] 83 | pub const MAP_OPT_CUSTOM_TECHTREE: u32 = 1 << 6; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_OPT_CUSTOM_ABILITIES` is never used [INFO] [stderr] --> src/gameprotocol.rs:84:11 [INFO] [stderr] | [INFO] [stderr] 84 | pub const MAP_OPT_CUSTOM_ABILITIES: u32 = 1 << 7; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_OPT_CUSTOM_UPGRADES` is never used [INFO] [stderr] --> src/gameprotocol.rs:85:11 [INFO] [stderr] | [INFO] [stderr] 85 | pub const MAP_OPT_CUSTOM_UPGRADES: u32 = 1 << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_OPT_WATERWAVE` is never used [INFO] [stderr] --> src/gameprotocol.rs:86:11 [INFO] [stderr] | [INFO] [stderr] 86 | pub const MAP_OPT_WATERWAVE: u32 = 1 << 12; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_FLAG_TEAMSTOGETHER` is never used [INFO] [stderr] --> src/gameprotocol.rs:89:11 [INFO] [stderr] | [INFO] [stderr] 89 | pub const MAP_FLAG_TEAMSTOGETHER: u32 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_FLAG_FIXEDTEAMS` is never used [INFO] [stderr] --> src/gameprotocol.rs:90:11 [INFO] [stderr] | [INFO] [stderr] 90 | pub const MAP_FLAG_FIXEDTEAMS: u32 = 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_FLAG_UNITSHARE` is never used [INFO] [stderr] --> src/gameprotocol.rs:91:11 [INFO] [stderr] | [INFO] [stderr] 91 | pub const MAP_FLAG_UNITSHARE: u32 = 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_FLAG_RANDOMHERO` is never used [INFO] [stderr] --> src/gameprotocol.rs:92:11 [INFO] [stderr] | [INFO] [stderr] 92 | pub const MAP_FLAG_RANDOMHERO: u32 = 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_FLAG_RANDOMRACES` is never used [INFO] [stderr] --> src/gameprotocol.rs:93:11 [INFO] [stderr] | [INFO] [stderr] 93 | pub const MAP_FLAG_RANDOMRACES: u32 = 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_NONE` is never used [INFO] [stderr] --> src/gameprotocol.rs:96:11 [INFO] [stderr] | [INFO] [stderr] 96 | pub const GAME_NONE: u8 = 0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_PUBLIC` is never used [INFO] [stderr] --> src/gameprotocol.rs:97:11 [INFO] [stderr] | [INFO] [stderr] 97 | pub const GAME_PUBLIC: u8 = 16; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_PRIVATE` is never used [INFO] [stderr] --> src/gameprotocol.rs:98:11 [INFO] [stderr] | [INFO] [stderr] 98 | pub const GAME_PRIVATE: u8 = 17; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_CLOSE` is never used [INFO] [stderr] --> src/gameprotocol.rs:99:11 [INFO] [stderr] | [INFO] [stderr] 99 | pub const GAME_CLOSE: u8 = 18; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_GAMETYPE_UNKNOWN0` is never used [INFO] [stderr] --> src/gameprotocol.rs:102:11 [INFO] [stderr] | [INFO] [stderr] 102 | pub const MAP_GAMETYPE_UNKNOWN0: u32 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_GAMETYPE_CUSTOM` is never used [INFO] [stderr] --> src/gameprotocol.rs:103:11 [INFO] [stderr] | [INFO] [stderr] 103 | pub const MAP_GAMETYPE_CUSTOM: u32 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_GAMETYPE_SAVEDGAME` is never used [INFO] [stderr] --> src/gameprotocol.rs:104:11 [INFO] [stderr] | [INFO] [stderr] 104 | pub const MAP_GAMETYPE_SAVEDGAME: u32 = 0x0200; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_GAMETYPE_PRIVATEGAME` is never used [INFO] [stderr] --> src/gameprotocol.rs:105:11 [INFO] [stderr] | [INFO] [stderr] 105 | pub const MAP_GAMETYPE_PRIVATEGAME: u32 = 0x0800; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_GAMETYPE_BLIZZARD` is never used [INFO] [stderr] --> src/gameprotocol.rs:106:11 [INFO] [stderr] | [INFO] [stderr] 106 | pub const MAP_GAMETYPE_BLIZZARD: u32 = 0x2000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_GAMETYPE_MAKERBLIZ` is never used [INFO] [stderr] --> src/gameprotocol.rs:107:11 [INFO] [stderr] | [INFO] [stderr] 107 | pub const MAP_GAMETYPE_MAKERBLIZ: u32 = 0x2000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAP_GAMETYPE_MAKERUSER` is never used [INFO] [stderr] --> src/gameprotocol.rs:108:11 [INFO] [stderr] | [INFO] [stderr] 108 | pub const MAP_GAMETYPE_MAKERUSER: u32 = 0x4000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CHAT_MESSAGE` is never used [INFO] [stderr] --> src/gameprotocol.rs:111:11 [INFO] [stderr] | [INFO] [stderr] 111 | pub const CHAT_MESSAGE: u8 = 16; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CHAT_TEAM_CHANGE` is never used [INFO] [stderr] --> src/gameprotocol.rs:112:11 [INFO] [stderr] | [INFO] [stderr] 112 | pub const CHAT_TEAM_CHANGE: u8 = 17; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CHAT_COLOUR_CHANGE` is never used [INFO] [stderr] --> src/gameprotocol.rs:113:11 [INFO] [stderr] | [INFO] [stderr] 113 | pub const CHAT_COLOUR_CHANGE: u8 = 18; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CHAT_RACE_CHANGE` is never used [INFO] [stderr] --> src/gameprotocol.rs:114:11 [INFO] [stderr] | [INFO] [stderr] 114 | pub const CHAT_RACE_CHANGE: u8 = 19; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CHAT_HANDICAP_CHANGE` is never used [INFO] [stderr] --> src/gameprotocol.rs:115:11 [INFO] [stderr] | [INFO] [stderr] 115 | pub const CHAT_HANDICAP_CHANGE: u8 = 20; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CHAT_MESSAGE_EXTRA` is never used [INFO] [stderr] --> src/gameprotocol.rs:116:11 [INFO] [stderr] | [INFO] [stderr] 116 | pub const CHAT_MESSAGE_EXTRA: u8 = 32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CHATFLAG_TO_ALL` is never used [INFO] [stderr] --> src/gameprotocol.rs:119:11 [INFO] [stderr] | [INFO] [stderr] 119 | pub const CHATFLAG_TO_ALL: u8 = CHAT_MESSAGE; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SLOTSTATUS_OPEN` is never used [INFO] [stderr] --> src/gameprotocol.rs:120:11 [INFO] [stderr] | [INFO] [stderr] 120 | pub const SLOTSTATUS_OPEN: u8 = SLOT_STATUS_OPEN; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SLOTSTATUS_CLOSED` is never used [INFO] [stderr] --> src/gameprotocol.rs:121:11 [INFO] [stderr] | [INFO] [stderr] 121 | pub const SLOTSTATUS_CLOSED: u8 = SLOT_STATUS_CLOSED; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SLOTSTATUS_OCCUPIED` is never used [INFO] [stderr] --> src/gameprotocol.rs:122:11 [INFO] [stderr] | [INFO] [stderr] 122 | pub const SLOTSTATUS_OCCUPIED: u8 = SLOT_STATUS_OCCUPIED; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `IncomingAction` is never constructed [INFO] [stderr] --> src/gameprotocol.rs:126:12 [INFO] [stderr] | [INFO] [stderr] 126 | pub struct IncomingAction { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_playerinfo` is never used [INFO] [stderr] --> src/gameprotocol.rs:134:8 [INFO] [stderr] | [INFO] [stderr] 134 | pub fn send_playerinfo(pid: u8, name: &str, external_ip: &[u8], internal_ip: &[u8]) -> ByteArray { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_playerleave_others` is never used [INFO] [stderr] --> src/gameprotocol.rs:138:8 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn send_playerleave_others(pid: u8, left_code: u32) -> ByteArray { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_chat_from_host` is never used [INFO] [stderr] --> src/gameprotocol.rs:142:8 [INFO] [stderr] | [INFO] [stderr] 142 | pub fn send_chat_from_host( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_slotinfo` is never used [INFO] [stderr] --> src/gameprotocol.rs:152:8 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn send_slotinfo( [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_incoming_action` is never used [INFO] [stderr] --> src/gameprotocol.rs:161:8 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn send_incoming_action( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_countdown_end` is never used [INFO] [stderr] --> src/gameprotocol.rs:177:8 [INFO] [stderr] | [INFO] [stderr] 177 | pub fn send_countdown_end() -> ByteArray { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_start_lag` is never used [INFO] [stderr] --> src/gameprotocol.rs:181:8 [INFO] [stderr] | [INFO] [stderr] 181 | pub fn send_start_lag(laggers: &[(u8, u32)]) -> ByteArray { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_stop_lag` is never used [INFO] [stderr] --> src/gameprotocol.rs:192:8 [INFO] [stderr] | [INFO] [stderr] 192 | pub fn send_stop_lag(pid: u8, lag_time: u32) -> ByteArray { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_ping_from_host` is never used [INFO] [stderr] --> src/gameprotocol.rs:200:8 [INFO] [stderr] | [INFO] [stderr] 200 | pub fn send_ping_from_host() -> ByteArray { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `validate_header` is never used [INFO] [stderr] --> src/gameprotocol.rs:233:8 [INFO] [stderr] | [INFO] [stderr] 233 | pub fn validate_header(data: &[u8]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_w3gs_slot_info_join` is never used [INFO] [stderr] --> src/gameprotocol.rs:271:8 [INFO] [stderr] | [INFO] [stderr] 271 | pub fn send_w3gs_slot_info_join( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_w3gs_player_info` is never used [INFO] [stderr] --> src/gameprotocol.rs:302:8 [INFO] [stderr] | [INFO] [stderr] 302 | pub fn send_w3gs_player_info( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_w3gs_player_leave` is never used [INFO] [stderr] --> src/gameprotocol.rs:334:8 [INFO] [stderr] | [INFO] [stderr] 334 | pub fn send_w3gs_player_leave(pid: u8, left_code: u32) -> ByteArray { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_w3gs_slot_info` is never used [INFO] [stderr] --> src/gameprotocol.rs:342:8 [INFO] [stderr] | [INFO] [stderr] 342 | pub fn send_w3gs_slot_info( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_w3gs_game_loaded` is never used [INFO] [stderr] --> src/gameprotocol.rs:369:8 [INFO] [stderr] | [INFO] [stderr] 369 | pub fn send_w3gs_game_loaded(pid: u8) -> ByteArray { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_w3gs_map_check` is never used [INFO] [stderr] --> src/gameprotocol.rs:377:8 [INFO] [stderr] | [INFO] [stderr] 377 | pub fn send_w3gs_map_check( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_w3gs_chat` is never used [INFO] [stderr] --> src/gameprotocol.rs:395:8 [INFO] [stderr] | [INFO] [stderr] 395 | pub fn send_w3gs_chat( [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_w3gs_start_download` is never used [INFO] [stderr] --> src/gameprotocol.rs:414:8 [INFO] [stderr] | [INFO] [stderr] 414 | pub fn send_w3gs_start_download(from_pid: u8) -> ByteArray { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `IncomingJoinPlayer` is never constructed [INFO] [stderr] --> src/gameprotocol.rs:423:12 [INFO] [stderr] | [INFO] [stderr] 423 | pub struct IncomingJoinPlayer { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `receive_w3gs_req_join` is never used [INFO] [stderr] --> src/gameprotocol.rs:430:8 [INFO] [stderr] | [INFO] [stderr] 430 | pub fn receive_w3gs_req_join(data: &[u8]) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `receive_w3gs_leave_game` is never used [INFO] [stderr] --> src/gameprotocol.rs:459:8 [INFO] [stderr] | [INFO] [stderr] 459 | pub fn receive_w3gs_leave_game(data: &[u8]) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `receive_w3gs_pong` is never used [INFO] [stderr] --> src/gameprotocol.rs:468:8 [INFO] [stderr] | [INFO] [stderr] 468 | pub fn receive_w3gs_pong(data: &[u8]) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `receive_w3gs_action` is never used [INFO] [stderr] --> src/gameprotocol.rs:477:8 [INFO] [stderr] | [INFO] [stderr] 477 | pub fn receive_w3gs_action(data: &[u8]) -> Option<(ByteArray, ByteArray)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `receive_w3gs_keepalive` is never used [INFO] [stderr] --> src/gameprotocol.rs:487:8 [INFO] [stderr] | [INFO] [stderr] 487 | pub fn receive_w3gs_keepalive(data: &[u8]) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `ChatToHost` is never used [INFO] [stderr] --> src/gameprotocol.rs:496:10 [INFO] [stderr] | [INFO] [stderr] 496 | pub enum ChatToHost { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `receive_w3gs_chat_to_host` is never used [INFO] [stderr] --> src/gameprotocol.rs:530:8 [INFO] [stderr] | [INFO] [stderr] 530 | pub fn receive_w3gs_chat_to_host(data: &[u8]) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `IncomingMapSize` is never constructed [INFO] [stderr] --> src/gameprotocol.rs:615:12 [INFO] [stderr] | [INFO] [stderr] 615 | pub struct IncomingMapSize { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `receive_w3gs_map_size` is never used [INFO] [stderr] --> src/gameprotocol.rs:620:8 [INFO] [stderr] | [INFO] [stderr] 620 | pub fn receive_w3gs_map_size(data: &[u8]) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_PRIVATE` is never used [INFO] [stderr] --> src/ghost.rs:16:11 [INFO] [stderr] | [INFO] [stderr] 16 | pub const GAME_PRIVATE: u8 = 17; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_PUBLIC` is never used [INFO] [stderr] --> src/ghost.rs:17:11 [INFO] [stderr] | [INFO] [stderr] 17 | pub const GAME_PUBLIC: u8 = 16; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DbGame` is never constructed [INFO] [stderr] --> src/ghostdb.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | pub struct DbGame { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DbGamePlayer` is never constructed [INFO] [stderr] --> src/ghostdb.rs:32:12 [INFO] [stderr] | [INFO] [stderr] 32 | pub struct DbGamePlayer { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ScoreCheck` is never constructed [INFO] [stderr] --> src/ghostdb.rs:49:12 [INFO] [stderr] | [INFO] [stderr] 49 | pub struct ScoreCheck { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `REJECT_GPS_INVALID` is never used [INFO] [stderr] --> src/gpsprotocol.rs:14:11 [INFO] [stderr] | [INFO] [stderr] 14 | pub const REJECT_GPS_INVALID: u32 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `validate_length` is never used [INFO] [stderr] --> src/gpsprotocol.rs:32:8 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn validate_length(data: &[u8]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_gpss_reconnect` is never used [INFO] [stderr] --> src/gpsprotocol.rs:80:8 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn send_gpss_reconnect(last_packet: u32) -> ByteArray { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_gpss_ack` is never used [INFO] [stderr] --> src/gpsprotocol.rs:88:8 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn send_gpss_ack(last_packet: u32) -> ByteArray { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `USER_IS_ALREADY_AN_ADMIN` is never used [INFO] [stderr] --> src/language.rs:30:15 [INFO] [stderr] | [INFO] [stderr] 30 | pub const USER_IS_ALREADY_AN_ADMIN: &str = "lang_0002"; // $SERVER$ $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ADDED_USER_TO_ADMIN_DB` is never used [INFO] [stderr] --> src/language.rs:31:15 [INFO] [stderr] | [INFO] [stderr] 31 | pub const ADDED_USER_TO_ADMIN_DB: &str = "lang_0003"; // $SERVER$ $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ERROR_ADDING_USER_TO_ADMIN_DB` is never used [INFO] [stderr] --> src/language.rs:32:15 [INFO] [stderr] | [INFO] [stderr] 32 | pub const ERROR_ADDING_USER_TO_ADMIN_DB: &str = "lang_0004"; // $SERVER$ $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `USER_IS_ALREADY_BANNED` is never used [INFO] [stderr] --> src/language.rs:34:15 [INFO] [stderr] | [INFO] [stderr] 34 | pub const USER_IS_ALREADY_BANNED: &str = "lang_0006"; // $SERVER$ $VICTIM$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `BANNED_USER` is never used [INFO] [stderr] --> src/language.rs:35:15 [INFO] [stderr] | [INFO] [stderr] 35 | pub const BANNED_USER: &str = "lang_0007"; // $SERVER$ $VICTIM$ [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ERROR_BANNING_USER` is never used [INFO] [stderr] --> src/language.rs:36:15 [INFO] [stderr] | [INFO] [stderr] 36 | pub const ERROR_BANNING_USER: &str = "lang_0008"; // $SERVER$ $VICTIM$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `USER_IS_AN_ADMIN` is never used [INFO] [stderr] --> src/language.rs:37:15 [INFO] [stderr] | [INFO] [stderr] 37 | pub const USER_IS_AN_ADMIN: &str = "lang_0009"; // $SERVER$ $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `USER_IS_NOT_AN_ADMIN` is never used [INFO] [stderr] --> src/language.rs:38:15 [INFO] [stderr] | [INFO] [stderr] 38 | pub const USER_IS_NOT_AN_ADMIN: &str = "lang_0010"; // $SERVER$ $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `USER_IS_NOT_BANNED` is never used [INFO] [stderr] --> src/language.rs:40:15 [INFO] [stderr] | [INFO] [stderr] 40 | pub const USER_IS_NOT_BANNED: &str = "lang_0012"; // $SERVER$ $VICTIM$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `THERE_ARE_NO_ADMINS` is never used [INFO] [stderr] --> src/language.rs:41:15 [INFO] [stderr] | [INFO] [stderr] 41 | pub const THERE_ARE_NO_ADMINS: &str = "lang_0013"; // $SERVER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `THERE_IS_ADMIN` is never used [INFO] [stderr] --> src/language.rs:42:15 [INFO] [stderr] | [INFO] [stderr] 42 | pub const THERE_IS_ADMIN: &str = "lang_0014"; // $SERVER$ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `THERE_ARE_ADMINS` is never used [INFO] [stderr] --> src/language.rs:43:15 [INFO] [stderr] | [INFO] [stderr] 43 | pub const THERE_ARE_ADMINS: &str = "lang_0015"; // $SERVER$ $COUNT$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `THERE_ARE_NO_BANNED_USERS` is never used [INFO] [stderr] --> src/language.rs:44:15 [INFO] [stderr] | [INFO] [stderr] 44 | pub const THERE_ARE_NO_BANNED_USERS: &str = "lang_0016"; // $SERVER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `THERE_IS_BANNED_USER` is never used [INFO] [stderr] --> src/language.rs:45:15 [INFO] [stderr] | [INFO] [stderr] 45 | pub const THERE_IS_BANNED_USER: &str = "lang_0017"; // $SERVER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `THERE_ARE_BANNED_USERS` is never used [INFO] [stderr] --> src/language.rs:46:15 [INFO] [stderr] | [INFO] [stderr] 46 | pub const THERE_ARE_BANNED_USERS: &str = "lang_0018"; // $SERVER$ $COUNT$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `YOU_CANT_DELETE_ROOT_ADMIN` is never used [INFO] [stderr] --> src/language.rs:47:15 [INFO] [stderr] | [INFO] [stderr] 47 | pub const YOU_CANT_DELETE_ROOT_ADMIN: &str = "lang_0019"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `DELETED_USER_FROM_ADMIN_DB` is never used [INFO] [stderr] --> src/language.rs:48:15 [INFO] [stderr] | [INFO] [stderr] 48 | pub const DELETED_USER_FROM_ADMIN_DB: &str = "lang_0020"; // $SERVER$ $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ERROR_DELETING_USER_FROM_ADMIN_DB` is never used [INFO] [stderr] --> src/language.rs:49:15 [INFO] [stderr] | [INFO] [stderr] 49 | pub const ERROR_DELETING_USER_FROM_ADMIN_DB:&str = "lang_0021"; // $SERVER$ $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNBANNED_USER` is never used [INFO] [stderr] --> src/language.rs:50:15 [INFO] [stderr] | [INFO] [stderr] 50 | pub const UNBANNED_USER: &str = "lang_0022"; // $VICTIM$ [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ERROR_UNBANNING_USER` is never used [INFO] [stderr] --> src/language.rs:51:15 [INFO] [stderr] | [INFO] [stderr] 51 | pub const ERROR_UNBANNING_USER: &str = "lang_0023"; // $VICTIM$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_NUMBER_IS` is never used [INFO] [stderr] --> src/language.rs:52:15 [INFO] [stderr] | [INFO] [stderr] 52 | pub const GAME_NUMBER_IS: &str = "lang_0024"; // $NUMBER$ $DESCRIPTION$ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_NUMBER_DOESNT_EXIST` is never used [INFO] [stderr] --> src/language.rs:53:15 [INFO] [stderr] | [INFO] [stderr] 53 | pub const GAME_NUMBER_DOESNT_EXIST: &str = "lang_0025"; // $NUMBER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_IS_IN_THE_LOBBY` is never used [INFO] [stderr] --> src/language.rs:54:15 [INFO] [stderr] | [INFO] [stderr] 54 | pub const GAME_IS_IN_THE_LOBBY: &str = "lang_0026"; // $DESCRIPTION$ $CURRENT$ $MAX$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `THERE_IS_NO_GAME_IN_LOBBY` is never used [INFO] [stderr] --> src/language.rs:55:15 [INFO] [stderr] | [INFO] [stderr] 55 | pub const THERE_IS_NO_GAME_IN_LOBBY: &str = "lang_0027"; // $CURRENT$ $MAX$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_LOAD_CONFIG_OUTSIDE` is never used [INFO] [stderr] --> src/language.rs:56:15 [INFO] [stderr] | [INFO] [stderr] 56 | pub const UNABLE_TO_LOAD_CONFIG_OUTSIDE: &str = "lang_0028"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `LOADING_CONFIG_FILE` is never used [INFO] [stderr] --> src/language.rs:57:15 [INFO] [stderr] | [INFO] [stderr] 57 | pub const LOADING_CONFIG_FILE: &str = "lang_0029"; // $FILE$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_LOAD_CONFIG_NOT_EXIST` is never used [INFO] [stderr] --> src/language.rs:58:15 [INFO] [stderr] | [INFO] [stderr] 58 | pub const UNABLE_TO_LOAD_CONFIG_NOT_EXIST: &str = "lang_0030"; // $FILE$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CREATING_PRIVATE_GAME` is never used [INFO] [stderr] --> src/language.rs:59:15 [INFO] [stderr] | [INFO] [stderr] 59 | pub const CREATING_PRIVATE_GAME: &str = "lang_0031"; // $GAMENAME$ $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CREATING_PUBLIC_GAME` is never used [INFO] [stderr] --> src/language.rs:60:15 [INFO] [stderr] | [INFO] [stderr] 60 | pub const CREATING_PUBLIC_GAME: &str = "lang_0032"; // $GAMENAME$ $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_UNHOST_COUNTDOWN` is never used [INFO] [stderr] --> src/language.rs:61:15 [INFO] [stderr] | [INFO] [stderr] 61 | pub const UNABLE_TO_UNHOST_COUNTDOWN: &str = "lang_0033"; // $DESCRIPTION$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNHOSTING_GAME` is never used [INFO] [stderr] --> src/language.rs:62:15 [INFO] [stderr] | [INFO] [stderr] 62 | pub const UNHOSTING_GAME: &str = "lang_0034"; // $DESCRIPTION$ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_UNHOST_NO_GAME` is never used [INFO] [stderr] --> src/language.rs:63:15 [INFO] [stderr] | [INFO] [stderr] 63 | pub const UNABLE_TO_UNHOST_NO_GAME: &str = "lang_0035"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `VERSION_ADMIN` is never used [INFO] [stderr] --> src/language.rs:64:15 [INFO] [stderr] | [INFO] [stderr] 64 | pub const VERSION_ADMIN: &str = "lang_0036"; // $VERSION$ [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `VERSION_NOT_ADMIN` is never used [INFO] [stderr] --> src/language.rs:65:15 [INFO] [stderr] | [INFO] [stderr] 65 | pub const VERSION_NOT_ADMIN: &str = "lang_0037"; // $VERSION$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_CREATE_ANOTHER_IN_LOBBY` is never used [INFO] [stderr] --> src/language.rs:66:15 [INFO] [stderr] | [INFO] [stderr] 66 | pub const UNABLE_TO_CREATE_ANOTHER_IN_LOBBY:&str = "lang_0038"; // $GAMENAME$ $DESCRIPTION$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_CREATE_MAX_GAMES` is never used [INFO] [stderr] --> src/language.rs:67:15 [INFO] [stderr] | [INFO] [stderr] 67 | pub const UNABLE_TO_CREATE_MAX_GAMES: &str = "lang_0039"; // $GAMENAME$ $MAX$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_IS_OVER` is never used [INFO] [stderr] --> src/language.rs:68:15 [INFO] [stderr] | [INFO] [stderr] 68 | pub const GAME_IS_OVER: &str = "lang_0040"; // $DESCRIPTION$ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SPOOF_CHECK_BY_REPLYING` is never used [INFO] [stderr] --> src/language.rs:69:15 [INFO] [stderr] | [INFO] [stderr] 69 | pub const SPOOF_CHECK_BY_REPLYING: &str = "lang_0041"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_REFRESHED` is never used [INFO] [stderr] --> src/language.rs:70:15 [INFO] [stderr] | [INFO] [stderr] 70 | pub const GAME_REFRESHED: &str = "lang_0042"; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SPOOF_POSSIBLE_IS_AWAY` is never used [INFO] [stderr] --> src/language.rs:71:15 [INFO] [stderr] | [INFO] [stderr] 71 | pub const SPOOF_POSSIBLE_IS_AWAY: &str = "lang_0043"; // $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SPOOF_POSSIBLE_IS_UNAVAILABLE` is never used [INFO] [stderr] --> src/language.rs:72:15 [INFO] [stderr] | [INFO] [stderr] 72 | pub const SPOOF_POSSIBLE_IS_UNAVAILABLE: &str = "lang_0044"; // $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SPOOF_POSSIBLE_IS_REFUSING` is never used [INFO] [stderr] --> src/language.rs:73:15 [INFO] [stderr] | [INFO] [stderr] 73 | pub const SPOOF_POSSIBLE_IS_REFUSING: &str = "lang_0045"; // $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SPOOF_DETECTED_NOT_IN_GAME` is never used [INFO] [stderr] --> src/language.rs:74:15 [INFO] [stderr] | [INFO] [stderr] 74 | pub const SPOOF_DETECTED_NOT_IN_GAME: &str = "lang_0046"; // $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SPOOF_DETECTED_IN_PRIVATE` is never used [INFO] [stderr] --> src/language.rs:75:15 [INFO] [stderr] | [INFO] [stderr] 75 | pub const SPOOF_DETECTED_IN_PRIVATE: &str = "lang_0047"; // $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SPOOF_DETECTED_IN_ANOTHER_GAME` is never used [INFO] [stderr] --> src/language.rs:76:15 [INFO] [stderr] | [INFO] [stderr] 76 | pub const SPOOF_DETECTED_IN_ANOTHER_GAME: &str = "lang_0048"; // $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HAS_PLAYED_GAMES_WITH_BOT` is never used [INFO] [stderr] --> src/language.rs:77:15 [INFO] [stderr] | [INFO] [stderr] 77 | pub const HAS_PLAYED_GAMES_WITH_BOT: &str = "lang_0049"; // $USER$ $FIRSTGAME$ $LASTGAME$ $TOTALGAMES$ $AVGLOADINGTIME$ $... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HASNT_PLAYED_GAMES_WITH_BOT` is never used [INFO] [stderr] --> src/language.rs:78:15 [INFO] [stderr] | [INFO] [stderr] 78 | pub const HASNT_PLAYED_GAMES_WITH_BOT: &str = "lang_0050"; // $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `AUTO_START_ENABLED` is never used [INFO] [stderr] --> src/language.rs:79:15 [INFO] [stderr] | [INFO] [stderr] 79 | pub const AUTO_START_ENABLED: &str = "lang_0051"; // $PLAYERS$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `AUTO_START_DISABLED` is never used [INFO] [stderr] --> src/language.rs:80:15 [INFO] [stderr] | [INFO] [stderr] 80 | pub const AUTO_START_DISABLED: &str = "lang_0052"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_START_NOT_ENOUGH` is never used [INFO] [stderr] --> src/language.rs:81:15 [INFO] [stderr] | [INFO] [stderr] 81 | pub const UNABLE_TO_START_NOT_ENOUGH: &str = "lang_0053"; // $PLAYERS$ $REQUIREDPLAYERS$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_START_DOWNLOAD_IN_PROG` is never used [INFO] [stderr] --> src/language.rs:82:15 [INFO] [stderr] | [INFO] [stderr] 82 | pub const UNABLE_TO_START_DOWNLOAD_IN_PROG: &str = "lang_0054"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `COUNTDOWN_ABORTED` is never used [INFO] [stderr] --> src/language.rs:83:15 [INFO] [stderr] | [INFO] [stderr] 83 | pub const COUNTDOWN_ABORTED: &str = "lang_0055"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_WAS_KICKED_BY` is never used [INFO] [stderr] --> src/language.rs:84:15 [INFO] [stderr] | [INFO] [stderr] 84 | pub const PLAYER_WAS_KICKED_BY: &str = "lang_0056"; // $VICTIM$ $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_KICK_NO_MATCH` is never used [INFO] [stderr] --> src/language.rs:85:15 [INFO] [stderr] | [INFO] [stderr] 85 | pub const UNABLE_TO_KICK_NO_MATCH: &str = "lang_0057"; // $VICTIM$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_KICK_MORE_THAN_ONE` is never used [INFO] [stderr] --> src/language.rs:86:15 [INFO] [stderr] | [INFO] [stderr] 86 | pub const UNABLE_TO_KICK_MORE_THAN_ONE: &str = "lang_0058"; // $VICTIM$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SETTING_LATENCY_TO` is never used [INFO] [stderr] --> src/language.rs:87:15 [INFO] [stderr] | [INFO] [stderr] 87 | pub const SETTING_LATENCY_TO: &str = "lang_0059"; // $LATENCY$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SETTING_LATENCY_TO_MIN` is never used [INFO] [stderr] --> src/language.rs:88:15 [INFO] [stderr] | [INFO] [stderr] 88 | pub const SETTING_LATENCY_TO_MIN: &str = "lang_0060"; // $LATENCY$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SETTING_LATENCY_TO_MAX` is never used [INFO] [stderr] --> src/language.rs:89:15 [INFO] [stderr] | [INFO] [stderr] 89 | pub const SETTING_LATENCY_TO_MAX: &str = "lang_0061"; // $LATENCY$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `LATENCY_IS` is never used [INFO] [stderr] --> src/language.rs:90:15 [INFO] [stderr] | [INFO] [stderr] 90 | pub const LATENCY_IS: &str = "lang_0062"; // $LATENCY$ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SYNC_LIMIT_IS` is never used [INFO] [stderr] --> src/language.rs:91:15 [INFO] [stderr] | [INFO] [stderr] 91 | pub const SYNC_LIMIT_IS: &str = "lang_0063"; // $SYNCLIMIT$ [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SETTING_SYNC_LIMIT_TO` is never used [INFO] [stderr] --> src/language.rs:92:15 [INFO] [stderr] | [INFO] [stderr] 92 | pub const SETTING_SYNC_LIMIT_TO: &str = "lang_0064"; // $SYNCLIMIT$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SETTING_SYNC_LIMIT_TO_MIN` is never used [INFO] [stderr] --> src/language.rs:93:15 [INFO] [stderr] | [INFO] [stderr] 93 | pub const SETTING_SYNC_LIMIT_TO_MIN: &str = "lang_0065"; // $SYNCLIMIT$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SETTING_SYNC_LIMIT_TO_MAX` is never used [INFO] [stderr] --> src/language.rs:94:15 [INFO] [stderr] | [INFO] [stderr] 94 | pub const SETTING_SYNC_LIMIT_TO_MAX: &str = "lang_0066"; // $SYNCLIMIT$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_START_COUNTDOWN` is never used [INFO] [stderr] --> src/language.rs:95:15 [INFO] [stderr] | [INFO] [stderr] 95 | pub const UNABLE_TO_START_COUNTDOWN: &str = "lang_0067"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `COUNTDOWN_STARTED` is never used [INFO] [stderr] --> src/language.rs:96:15 [INFO] [stderr] | [INFO] [stderr] 96 | pub const COUNTDOWN_STARTED: &str = "lang_0068"; // $SECONDS$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_LOCKED` is never used [INFO] [stderr] --> src/language.rs:97:15 [INFO] [stderr] | [INFO] [stderr] 97 | pub const GAME_LOCKED: &str = "lang_0069"; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_UNLOCKED` is never used [INFO] [stderr] --> src/language.rs:98:15 [INFO] [stderr] | [INFO] [stderr] 98 | pub const GAME_UNLOCKED: &str = "lang_0070"; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `WAS_KICKED_FOR_LAGGING` is never used [INFO] [stderr] --> src/language.rs:99:15 [INFO] [stderr] | [INFO] [stderr] 99 | pub const WAS_KICKED_FOR_LAGGING: &str = "lang_0071"; // $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_BAN_NO_MATCH` is never used [INFO] [stderr] --> src/language.rs:100:15 [INFO] [stderr] | [INFO] [stderr] 100 | pub const UNABLE_TO_BAN_NO_MATCH: &str = "lang_0072"; // $VICTIM$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_BAN_MORE_THAN_ONE` is never used [INFO] [stderr] --> src/language.rs:101:15 [INFO] [stderr] | [INFO] [stderr] 101 | pub const UNABLE_TO_BAN_MORE_THAN_ONE: &str = "lang_0073"; // $VICTIM$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_WAS_BANNED_BY` is never used [INFO] [stderr] --> src/language.rs:102:15 [INFO] [stderr] | [INFO] [stderr] 102 | pub const PLAYER_WAS_BANNED_BY: &str = "lang_0074"; // $SERVER$ $VICTIM$ $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HAS_PLAYED_DOTA_GAMES_WITH_BOT` is never used [INFO] [stderr] --> src/language.rs:103:15 [INFO] [stderr] | [INFO] [stderr] 103 | pub const HAS_PLAYED_DOTA_GAMES_WITH_BOT: &str = "lang_0075"; // $USER$ ... (20 placeholders) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `HASNT_PLAYED_DOTA_GAMES_WITH_BOT` is never used [INFO] [stderr] --> src/language.rs:104:15 [INFO] [stderr] | [INFO] [stderr] 104 | pub const HASNT_PLAYED_DOTA_GAMES_WITH_BOT: &str = "lang_0076"; // $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `AUTO_KICK_PING` is never used [INFO] [stderr] --> src/language.rs:105:15 [INFO] [stderr] | [INFO] [stderr] 105 | pub const AUTO_KICK_PING: &str = "lang_0077"; // $VICTIM$ $PING$ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SPOOFCHECKED_AS` is never used [INFO] [stderr] --> src/language.rs:106:15 [INFO] [stderr] | [INFO] [stderr] 106 | pub const SPOOFCHECKED_AS: &str = "lang_0078"; // $USER$ $REALM$ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_HAS_LEFT_VOLUNTARILY` is never used [INFO] [stderr] --> src/language.rs:107:15 [INFO] [stderr] | [INFO] [stderr] 107 | pub const PLAYER_HAS_LEFT_VOLUNTARILY: &str = "lang_0079"; // $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_HAS_LOST_CONNECTION` is never used [INFO] [stderr] --> src/language.rs:108:15 [INFO] [stderr] | [INFO] [stderr] 108 | pub const PLAYER_HAS_LOST_CONNECTION: &str = "lang_0080"; // $USER$ $REASON$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_HAS_TIMED_OUT` is never used [INFO] [stderr] --> src/language.rs:109:15 [INFO] [stderr] | [INFO] [stderr] 109 | pub const PLAYER_HAS_TIMED_OUT: &str = "lang_0081"; // $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_DISCONNECTED` is never used [INFO] [stderr] --> src/language.rs:110:15 [INFO] [stderr] | [INFO] [stderr] 110 | pub const PLAYER_DISCONNECTED: &str = "lang_0082"; // $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `DESYNC_DETECTED` is never used [INFO] [stderr] --> src/language.rs:111:15 [INFO] [stderr] | [INFO] [stderr] 111 | pub const DESYNC_DETECTED: &str = "lang_0083"; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_LOADED` is never used [INFO] [stderr] --> src/language.rs:112:15 [INFO] [stderr] | [INFO] [stderr] 112 | pub const GAME_LOADED: &str = "lang_0084"; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_FINISHED_LOADING` is never used [INFO] [stderr] --> src/language.rs:113:15 [INFO] [stderr] | [INFO] [stderr] 113 | pub const PLAYER_FINISHED_LOADING: &str = "lang_0085"; // $USER$ $LOADINGTIME$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PLAYER_DOWNLOADED_MAP` is never used [INFO] [stderr] --> src/language.rs:114:15 [INFO] [stderr] | [INFO] [stderr] 114 | pub const PLAYER_DOWNLOADED_MAP: &str = "lang_0086"; // $USER$ $SECONDS$ $RATE$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_DOWNLOAD` is never used [INFO] [stderr] --> src/language.rs:115:15 [INFO] [stderr] | [INFO] [stderr] 115 | pub const UNABLE_TO_DOWNLOAD: &str = "lang_0087"; // $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ANNOUNCE_MESSAGE_ENABLED` is never used [INFO] [stderr] --> src/language.rs:116:15 [INFO] [stderr] | [INFO] [stderr] 116 | pub const ANNOUNCE_MESSAGE_ENABLED: &str = "lang_0088"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ANNOUNCE_MESSAGE_DISABLED` is never used [INFO] [stderr] --> src/language.rs:117:15 [INFO] [stderr] | [INFO] [stderr] 117 | pub const ANNOUNCE_MESSAGE_DISABLED: &str = "lang_0089"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `AUTO_SAVE_ENABLED` is never used [INFO] [stderr] --> src/language.rs:118:15 [INFO] [stderr] | [INFO] [stderr] 118 | pub const AUTO_SAVE_ENABLED: &str = "lang_0090"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `AUTO_SAVE_DISABLED` is never used [INFO] [stderr] --> src/language.rs:119:15 [INFO] [stderr] | [INFO] [stderr] 119 | pub const AUTO_SAVE_DISABLED: &str = "lang_0091"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SHUFFLING_PLAYERS` is never used [INFO] [stderr] --> src/language.rs:120:15 [INFO] [stderr] | [INFO] [stderr] 120 | pub const SHUFFLING_PLAYERS: &str = "lang_0092"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_DOWNLOAD_NO_MATCH` is never used [INFO] [stderr] --> src/language.rs:121:15 [INFO] [stderr] | [INFO] [stderr] 121 | pub const UNABLE_TO_DOWNLOAD_NO_MATCH: &str = "lang_0093"; // $VICTIM$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_DOWNLOAD_MORE_THAN_ONE` is never used [INFO] [stderr] --> src/language.rs:122:15 [INFO] [stderr] | [INFO] [stderr] 122 | pub const UNABLE_TO_DOWNLOAD_MORE_THAN_ONE: &str = "lang_0094"; // $VICTIM$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `THE_GAME_IS_ABOUT_TO_START` is never used [INFO] [stderr] --> src/language.rs:123:15 [INFO] [stderr] | [INFO] [stderr] 123 | pub const THE_GAME_IS_ABOUT_TO_START: &str = "lang_0095"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CHECKED_PLAYER` is never used [INFO] [stderr] --> src/language.rs:124:15 [INFO] [stderr] | [INFO] [stderr] 124 | pub const CHECKED_PLAYER: &str = "lang_0096"; // $USER$ $PING$ $FROM$ $ADMIN$ $OWNER$ $SPOOFED$ $REALM$ $RESE... [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_CHECK_NO_MATCH` is never used [INFO] [stderr] --> src/language.rs:125:15 [INFO] [stderr] | [INFO] [stderr] 125 | pub const UNABLE_TO_CHECK_NO_MATCH: &str = "lang_0097"; // $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNABLE_TO_CHECK_MORE_THAN_ONE` is never used [INFO] [stderr] --> src/language.rs:126:15 [INFO] [stderr] | [INFO] [stderr] 126 | pub const UNABLE_TO_CHECK_MORE_THAN_ONE: &str = "lang_0098"; // $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MUTED_PLAYER` is never used [INFO] [stderr] --> src/language.rs:127:15 [INFO] [stderr] | [INFO] [stderr] 127 | pub const MUTED_PLAYER: &str = "lang_0099"; // $VICTIM$ $USER$ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `UNMUTED_PLAYER` is never used [INFO] [stderr] --> src/language.rs:128:15 [INFO] [stderr] | [INFO] [stderr] 128 | pub const UNMUTED_PLAYER: &str = "lang_0100"; // $VICTIM$ $USER$ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `rotr32` is never used [INFO] [stderr] --> src/map.rs:26:4 [INFO] [stderr] | [INFO] [stderr] 26 | fn rotr32(x: u32, n: u32) -> u32 { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAPOPT_HIDEMINIMAP` is never used [INFO] [stderr] --> src/map.rs:66:11 [INFO] [stderr] | [INFO] [stderr] 66 | pub const MAPOPT_HIDEMINIMAP: u32 = 1 << 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAPOPT_MODIFYALLYPRIORITIES` is never used [INFO] [stderr] --> src/map.rs:67:11 [INFO] [stderr] | [INFO] [stderr] 67 | pub const MAPOPT_MODIFYALLYPRIORITIES: u32 = 1 << 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAPOPT_REVEALTERRAIN` is never used [INFO] [stderr] --> src/map.rs:69:11 [INFO] [stderr] | [INFO] [stderr] 69 | pub const MAPOPT_REVEALTERRAIN: u32 = 1 << 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAPOPT_CUSTOMTECHTREE` is never used [INFO] [stderr] --> src/map.rs:72:11 [INFO] [stderr] | [INFO] [stderr] 72 | pub const MAPOPT_CUSTOMTECHTREE: u32 = 1 << 7; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAPOPT_CUSTOMABILITIES` is never used [INFO] [stderr] --> src/map.rs:73:11 [INFO] [stderr] | [INFO] [stderr] 73 | pub const MAPOPT_CUSTOMABILITIES: u32 = 1 << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAPOPT_CUSTOMUPGRADES` is never used [INFO] [stderr] --> src/map.rs:74:11 [INFO] [stderr] | [INFO] [stderr] 74 | pub const MAPOPT_CUSTOMUPGRADES: u32 = 1 << 9; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAPOPT_WATERWAVESONCLIFFSHORES` is never used [INFO] [stderr] --> src/map.rs:75:11 [INFO] [stderr] | [INFO] [stderr] 75 | pub const MAPOPT_WATERWAVESONCLIFFSHORES: u32 = 1 << 11; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAPOPT_WATERWAVESONSLOPESHORES` is never used [INFO] [stderr] --> src/map.rs:76:11 [INFO] [stderr] | [INFO] [stderr] 76 | pub const MAPOPT_WATERWAVESONSLOPESHORES: u32 = 1 << 12; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAPGAMETYPE_UNKNOWN0` is never used [INFO] [stderr] --> src/map.rs:92:11 [INFO] [stderr] | [INFO] [stderr] 92 | pub const MAPGAMETYPE_UNKNOWN0: u32 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAPGAMETYPE_SAVEDGAME` is never used [INFO] [stderr] --> src/map.rs:93:11 [INFO] [stderr] | [INFO] [stderr] 93 | pub const MAPGAMETYPE_SAVEDGAME: u32 = 1 << 9; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAPGAMETYPE_PRIVATEGAME` is never used [INFO] [stderr] --> src/map.rs:94:11 [INFO] [stderr] | [INFO] [stderr] 94 | pub const MAPGAMETYPE_PRIVATEGAME: u32 = 1 << 11; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `read_null_terminated_string` is never used [INFO] [stderr] --> src/map.rs:106:4 [INFO] [stderr] | [INFO] [stderr] 106 | fn read_null_terminated_string(cursor: &mut Cursor<&Vec>) -> std::io::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `REPLAY_ACTION_CHAT_TO_HOST` is never used [INFO] [stderr] --> src/packed.rs:7:11 [INFO] [stderr] | [INFO] [stderr] 7 | pub const REPLAY_ACTION_CHAT_TO_HOST: u8 = 0x20; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `REPLAY_ACTION_DESYNC` is never used [INFO] [stderr] --> src/packed.rs:8:11 [INFO] [stderr] | [INFO] [stderr] 8 | pub const REPLAY_ACTION_DESYNC: u8 = 0x22; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `REPLAY_ACTION_LEAVE_GAME` is never used [INFO] [stderr] --> src/packed.rs:9:11 [INFO] [stderr] | [INFO] [stderr] 9 | pub const REPLAY_ACTION_LEAVE_GAME: u8 = 0x17; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `REPLAY_ACTION_TIMESLOT2` is never used [INFO] [stderr] --> src/packed.rs:11:11 [INFO] [stderr] | [INFO] [stderr] 11 | pub const REPLAY_ACTION_TIMESLOT2: u8 = 0x1E; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `REPLAY_ACTION_CHECKSUM` is never used [INFO] [stderr] --> src/packed.rs:12:11 [INFO] [stderr] | [INFO] [stderr] 12 | pub const REPLAY_ACTION_CHECKSUM: u8 = 0x22; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `REPLAY_ACTION_SAVE_GAME` is never used [INFO] [stderr] --> src/packed.rs:13:11 [INFO] [stderr] | [INFO] [stderr] 13 | pub const REPLAY_ACTION_SAVE_GAME: u8 = 0x06; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `pid`, `flag`, and `extra_flags` are never read [INFO] [stderr] --> src/packed.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 29 | pub struct ReplayChatMessage { [INFO] [stderr] | ----------------- fields in this struct [INFO] [stderr] 30 | pub pid: u8, [INFO] [stderr] | ^^^ [INFO] [stderr] 31 | pub flag: u8, [INFO] [stderr] | ^^^^ [INFO] [stderr] 32 | pub extra_flags: u32, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ReplayChatMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `game_name`, `stat_string`, `duration_ms`, `random_seed`, `select_mode`, and `start_spot_count` are never read [INFO] [stderr] --> src/packed.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 48 | pub struct Replay { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] ... [INFO] [stderr] 52 | pub game_name: String, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 53 | pub stat_string: String, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 56 | pub duration_ms: u32, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 60 | pub random_seed: u32, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 61 | pub select_mode: u8, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 62 | pub start_spot_count: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Replay` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `set_random_seed`, `set_select_mode`, and `set_start_spot_count` are never used [INFO] [stderr] --> src/packed.rs:115:12 [INFO] [stderr] | [INFO] [stderr] 77 | impl Replay { [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 115 | pub fn set_random_seed(&mut self, seed: u32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 120 | pub fn set_select_mode(&mut self, mode: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 125 | pub fn set_start_spot_count(&mut self, count: u32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> src/replay.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 15 | pub struct Replay { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] 16 | // ── Header fields ── [INFO] [stderr] 17 | pub host_pid: u8, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 18 | pub host_name: String, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 19 | pub game_name: String, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 20 | pub stat_string: String, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 21 | pub war3_version: u32, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 22 | pub build_number: u32, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 23 | pub flags: u16, [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 27 | pub slots: Vec, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 28 | pub random_seed: u32, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 29 | pub select_mode: u8, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 30 | pub start_spot_count: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 33 | pub player_names: Vec<(u8, String)>, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 39 | pub map_path: String, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 40 | pub map_crc: ByteArray, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 41 | pub map_sha1: ByteArray, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Replay` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `set_slots`, `set_random_seed`, and `add_time_slot_actions` are never used [INFO] [stderr] --> src/replay.rs:121:12 [INFO] [stderr] | [INFO] [stderr] 44 | impl Replay { [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 121 | pub fn set_slots(&mut self, slots: &[GameSlot]) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 127 | pub fn set_random_seed(&mut self, seed: u32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 132 | pub fn add_time_slot_actions( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> src/savegame.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct SaveGame { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] 5 | pub valid: bool, [INFO] [stderr] 6 | pub file_path: String, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 7 | pub file_name: String, [INFO] [stderr] 8 | pub map_path: String, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 9 | pub game_name: String, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 10 | pub num_slots: u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 11 | pub slots: Vec>, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 12 | pub random_seed: u32, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 13 | pub magic_number: ByteArray, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SaveGame` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `load` is never used [INFO] [stderr] --> src/savegame.rs:41:12 [INFO] [stderr] | [INFO] [stderr] 16 | impl SaveGame { [INFO] [stderr] | ------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 41 | pub fn load(file_path: &str) -> Self { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `connect_simple` is never used [INFO] [stderr] --> src/socket.rs:273:18 [INFO] [stderr] | [INFO] [stderr] 256 | impl GhostTcpClient { [INFO] [stderr] | ------------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 273 | pub async fn connect_simple(address: &str, port: u16) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `SharedTcpSocket` is never used [INFO] [stderr] --> src/socket.rs:392:10 [INFO] [stderr] | [INFO] [stderr] 392 | pub type SharedTcpSocket = Arc>; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `make_shared` is never used [INFO] [stderr] --> src/socket.rs:394:8 [INFO] [stderr] | [INFO] [stderr] 394 | pub fn make_shared(socket: GhostTcpSocket) -> SharedTcpSocket { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `W3GS_HEADER_CONSTANT` is never used [INFO] [stderr] --> src/socket.rs:429:11 [INFO] [stderr] | [INFO] [stderr] 429 | pub const W3GS_HEADER_CONSTANT: u8 = 0xFF; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `GPS_HEADER_CONSTANT` is never used [INFO] [stderr] --> src/socket.rs:430:11 [INFO] [stderr] | [INFO] [stderr] 430 | pub const GPS_HEADER_CONSTANT: u8 = 0xF8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_byte_array_u8` is never used [INFO] [stderr] --> src/util.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn create_byte_array_u8(c: u8) -> ByteArray { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `append_byte_array_str` is never used [INFO] [stderr] --> src/util.rs:67:8 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn append_byte_array_str(b: &mut ByteArray, s: &str, terminator: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `HELP_SID_AUTH_CHECK` should have a snake case name [INFO] [stderr] --> src/bncsutilinterface.rs:74:12 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn HELP_SID_AUTH_CHECK( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `help_sid_auth_check` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `HELP_SID_AUTH_ACCOUNTLOGON` should have a snake case name [INFO] [stderr] --> src/bncsutilinterface.rs:179:12 [INFO] [stderr] | [INFO] [stderr] 179 | pub fn HELP_SID_AUTH_ACCOUNTLOGON(&mut self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `help_sid_auth_accountlogon` [INFO] [stderr] [INFO] [stderr] warning: method `HELP_SID_AUTH_ACCOUNTLOGONPROOF` should have a snake case name [INFO] [stderr] --> src/bncsutilinterface.rs:185:12 [INFO] [stderr] | [INFO] [stderr] 185 | pub fn HELP_SID_AUTH_ACCOUNTLOGONPROOF(&mut self, salt: ByteArray, server_key: ByteArray) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `help_sid_auth_accountlogonproof` [INFO] [stderr] [INFO] [stderr] warning: method `HELP_PvPGNPasswordHash` should have a snake case name [INFO] [stderr] --> src/bncsutilinterface.rs:191:12 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn HELP_PvPGNPasswordHash(&mut self, user_password: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `help_pv_pgnpassword_hash` [INFO] [stderr] [INFO] [stderr] warning: unused implementer of `futures::Future` that must be used [INFO] [stderr] --> src/bnet.rs:557:9 [INFO] [stderr] | [INFO] [stderr] 557 | b.queue_chat_command("test"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: futures do nothing unless you `.await` or poll them [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused implementer of `futures::Future` that must be used [INFO] [stderr] --> src/bnet.rs:565:9 [INFO] [stderr] | [INFO] [stderr] 565 | b.queue_chat_command("hello"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: futures do nothing unless you `.await` or poll them [INFO] [stderr] [INFO] [stderr] warning: method `SEND_SID_CHECKAD` should have a snake case name [INFO] [stderr] --> src/bnetprotocol.rs:475:12 [INFO] [stderr] | [INFO] [stderr] 475 | pub fn SEND_SID_CHECKAD(&self) -> ByteArray { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `send_sid_checkad` [INFO] [stderr] [INFO] [stderr] warning: `ghost-rs` (bin "ghost-rs" test) generated 346 warnings (run `cargo fix --bin "ghost-rs" -p ghost-rs --tests` to apply 51 suggestions) [INFO] [stderr] Finished `test` profile [optimized + debuginfo] target(s) in 0.32s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ghost_rs-77a2244360c04060) [INFO] [stdout] [INFO] [stdout] running 135 tests [INFO] [stdout] test commandpacket::tests::test_clone ... ok [INFO] [stdout] test commandpacket::tests::test_empty_data ... ok [INFO] [stdout] test config::tests::test_set_override ... ok [INFO] [stdout] test crc32::tests::test_different_data_different_crc ... ok [INFO] [stdout] test crc32::tests::test_new ... ok [INFO] [stdout] test crc32::tests::test_partial_crc_matches_full ... ok [INFO] [stdout] test crc32::tests::test_reflect ... ok [INFO] [stdout] test crc32::tests::test_single_byte ... ok [INFO] [stdout] test csvparser::tests::test_empty ... ok [INFO] [stdout] test csvparser::tests::test_mixed_types ... ok [INFO] [stdout] test csvparser::tests::test_read_floats ... ok [INFO] [stdout] test csvparser::tests::test_read_ints ... ok [INFO] [stdout] test csvparser::tests::test_read_quoted_string ... ok [INFO] [stdout] test csvparser::tests::test_read_strings ... ok [INFO] [stdout] test csvparser::tests::test_set_data ... ok [INFO] [stdout] test csvparser::tests::test_spaces ... ok [INFO] [stdout] test game::tests::test_db_ban ... ok [INFO] [stdout] test game::tests::test_db_game_player ... ok [INFO] [stdout] test game::tests::test_dota_summary_avg ... ok [INFO] [stdout] test gameplayer::tests::test_external_ip_string ... ok [INFO] [stdout] test gameplayer::tests::test_game_player_name_terminated ... ok [INFO] [stdout] test gameplayer::tests::test_game_player_ping ... ok [INFO] [stdout] test gameplayer::tests::test_gproxy_ack ... ok [INFO] [stdout] test gameplayer::tests::test_multi_packet_extract ... ok [INFO] [stdout] test gameplayer::tests::test_potential_player_bad_header ... ok [INFO] [stdout] test commandpacket::tests::test_new ... ok [INFO] [stdout] test gameplayer::tests::test_potential_player_extract_packets ... ok [INFO] [stdout] test gameplayer::tests::test_potential_player_partial_packet ... ok [INFO] [stdout] test gameplayer::tests::test_send_buffer ... ok [INFO] [stdout] test gameprotocol::tests::test_countdown_packets ... ok [INFO] [stdout] test gameprotocol::tests::test_extract_packets ... ok [INFO] [stdout] test bnet::tests::test_protocol_packets ... ok [INFO] [stdout] test gameprotocol::tests::test_game_slot_roundtrip ... ok [INFO] [stdout] test gameprotocol::tests::test_ping_packet ... ok [INFO] [stdout] test gameprotocol::tests::test_reject_packet ... ok [INFO] [stdout] test gameprotocol::tests::test_slot_info_encode ... ok [INFO] [stdout] test gameslot::tests::test_all_colours ... ok [INFO] [stdout] test gameslot::tests::test_all_races ... ok [INFO] [stdout] test gameslot::tests::test_closed_slot_properties ... ok [INFO] [stdout] test gameslot::tests::test_computer_slot ... ok [INFO] [stdout] test gameslot::tests::test_decode_slot_info_empty ... ok [INFO] [stdout] test gameslot::tests::test_decode_slot_info_truncated ... ok [INFO] [stdout] test gameslot::tests::test_default_open ... ok [INFO] [stdout] test gameslot::tests::test_encode_decode_slot_info ... ok [INFO] [stdout] test gameslot::tests::test_from_bytes_7 ... ok [INFO] [stdout] test gameslot::tests::test_from_bytes_9 ... ok [INFO] [stdout] test gameslot::tests::test_new_slot ... ok [INFO] [stdout] test gameslot::tests::test_observer_slot ... ok [INFO] [stdout] test gameslot::tests::test_to_bytes_roundtrip ... ok [INFO] [stdout] test crc32::tests::test_known_crc32 ... ok [INFO] [stdout] test ghost::tests::test_events_dont_panic ... ok [INFO] [stdout] test ghost::tests::test_reload_configs ... ok [INFO] [stdout] test ghost::tests::test_from_config_defaults ... ok [INFO] [stdout] test bnet::tests::test_ban_management ... ok [INFO] [stdout] test bnet::tests::test_admin_management ... ok [INFO] [stdout] test gpsprotocol::tests::test_ack_roundtrip ... ok [INFO] [stdout] test bnet::tests::test_disconnect ... ok [INFO] [stdout] test config::tests::test_parse_basic ... ok [INFO] [stdout] test ghost::tests::test_from_config_custom ... ok [INFO] [stdout] test gpsprotocol::tests::test_client_reconnect ... ok [INFO] [stdout] test ghost::tests::test_create_game_disabled ... ok [INFO] [stdout] test ghost::tests::test_create_game_checks ... ok [INFO] [stdout] test gpsprotocol::tests::test_client_init ... ok [INFO] [stdout] test gpsprotocol::tests::test_server_init ... ok [INFO] [stdout] test gpsprotocol::tests::test_header_constant ... ok [INFO] [stdout] test gpsprotocol::tests::test_init_roundtrip ... ok [INFO] [stdout] test bnet::tests::test_root_admin ... ok [INFO] [stdout] test bnet::tests::test_new ... ok [INFO] [stdout] test bnet::tests::test_queue_chat_not_logged_in ... ok [INFO] [stdout] test bnet::tests::test_unqueue_packets ... ok [INFO] [stdout] test gpsprotocol::tests::test_server_reject ... ok [INFO] [stdout] test crc32::tests::test_empty_data ... ok [INFO] [stdout] test gpsprotocol::tests::test_reconnect_roundtrip ... ok [INFO] [stdout] test packed::tests::test_build_header ... ok [INFO] [stdout] test language::tests::test_get_with_vars ... ok [INFO] [stdout] test packed::tests::test_add_checksum ... ok [INFO] [stdout] test packed::tests::test_duration_seconds ... ok [INFO] [stdout] test packed::tests::test_get_player_names ... ok [INFO] [stdout] test packed::tests::test_load_replay_header_invalid ... ok [INFO] [stdout] test packed::tests::test_set_slots ... ok [INFO] [stdout] test packed::tests::test_new_replay ... ok [INFO] [stdout] test replay::tests::test_add_leave_game ... ok [INFO] [stdout] test language::tests::test_missing_key_returns_key ... ok [INFO] [stdout] test replay::tests::test_add_time_slot_duration ... ok [INFO] [stdout] test replay::tests::test_new ... ok [INFO] [stdout] test savegame::tests::test_file_name_no_path ... ok [INFO] [stdout] test replay::tests::test_encode_starts_with_magic ... ok [INFO] [stdout] test packed::tests::test_add_player ... ok [INFO] [stdout] test packed::tests::test_replay_host_info ... ok [INFO] [stdout] test packed::tests::test_add_chat_message ... ok [INFO] [stdout] test packed::tests::test_add_timeslot ... ok [INFO] [stdout] test replay::tests::test_add_chat_message ... ok [INFO] [stdout] test savegame::tests::test_new_is_invalid ... ok [INFO] [stdout] test replay::tests::test_add_time_slot ... ok [INFO] [stdout] test savegame::tests::test_parse_invalid_data ... ok [INFO] [stdout] test savegame::tests::test_parse_valid_header ... ok [INFO] [stdout] test sha1::tests::test_empty ... ok [INFO] [stdout] test sha1::tests::test_get_hash_bytes ... ok [INFO] [stdout] test sha1::tests::test_incremental ... ok [INFO] [stdout] test sha1::tests::test_long_vector ... ok [INFO] [stdout] test sha1::tests::test_reset ... ok [INFO] [stdout] test ghostdb::tests::test_db_open_and_schema ... ok [INFO] [stdout] test ghostdb::tests::test_admin_crud ... ok [INFO] [stdout] test sha1::tests::test_abc ... ok [INFO] [stdout] test socket::tests::test_now_ms ... ok [INFO] [stdout] test socket::tests::test_empty_socket ... ok [INFO] [stdout] test socket::tests::test_extract_bad_header ... ok [INFO] [stdout] test ghostdb::tests::test_ban_crud ... ok [INFO] [stdout] test socket::tests::test_get_time ... ok [INFO] [stdout] test socket::tests::test_get_ip_bytes ... ok [INFO] [stdout] test socket::tests::test_reset ... ok [INFO] [stdout] test socket::tests::test_put_get_bytes ... ok [INFO] [stdout] test util::tests::test_factorial ... ok [INFO] [stdout] test util::tests::test_extract_c_string ... ok [INFO] [stdout] test util::tests::test_is_lan_ip ... ok [INFO] [stdout] test socket::tests::test_extract_empty ... ok [INFO] [stdout] test util::tests::test_ms_to_string ... ok [INFO] [stdout] test util::tests::test_file_safe_name ... ok [INFO] [stdout] test util::tests::test_tokenize ... ok [INFO] [stdout] test util::tests::test_replace_all ... ok [INFO] [stdout] test util::tests::test_u32_roundtrip ... ok [INFO] [stdout] test util::tests::test_stat_string_roundtrip ... ok [INFO] [stdout] test util::tests::test_u16_roundtrip ... ok [INFO] [stdout] test util::tests::test_u32_reverse ... ok [INFO] [stdout] test socket::tests::test_socket_error_display ... ok [INFO] [stdout] test language::tests::test_get_many_vars ... ok [INFO] [stdout] test language::tests::test_get_simple ... ok [INFO] [stdout] test replay::tests::test_encode_with_blocks ... ok [INFO] [stdout] test util::tests::test_hex_string ... ok [INFO] [stdout] test bnet::tests::test_queue_chat_logged_in ... FAILED [INFO] [stdout] test socket::tests::test_extract_bad_length ... FAILED [INFO] [stdout] test socket::tests::test_extract_packet_plus_remainder ... FAILED [INFO] [stdout] test socket::tests::test_extract_two_packets ... FAILED [INFO] [stdout] test socket::tests::test_extract_incomplete_packet ... FAILED [INFO] [stdout] test socket::tests::test_extract_one_packet ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- bnet::tests::test_queue_chat_logged_in stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'bnet::tests::test_queue_chat_logged_in' (29) panicked at src/bnet.rs:566:9: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: 0 [INFO] [stdout] right: 1 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x640a75bb1dba - std[da2fd379f16a7ff7]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x640a75bb1dba - std[da2fd379f16a7ff7]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x640a75bb1dba - std[da2fd379f16a7ff7]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x640a75bb1dba - <::print::DisplayBacktrace as core[97f61b5528a4c2b4]::fmt::Display>::fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x640a75bc7a6a - ::fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x640a75bc7a6a - core[97f61b5528a4c2b4]::fmt::write [INFO] [stdout] 6: 0x640a75bb66a2 - std[da2fd379f16a7ff7]::io::default_write_fmt::> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x640a75bb66a2 - as std[da2fd379f16a7ff7]::io::Write>::write_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x640a75b8f77f - ::print [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x640a75b8f77f - std[da2fd379f16a7ff7]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x640a75ba98b9 - std[da2fd379f16a7ff7]::panicking::default_hook [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x640a75b2819c - core[97f61b5528a4c2b4]::ops::function::Fn<(&'a std[da2fd379f16a7ff7]::panic::PanicHookInfo<'b>,), Output = ()> + core[97f61b5528a4c2b4]::marker::Send + core[97f61b5528a4c2b4]::marker::Sync> as core[97f61b5528a4c2b4]::ops::function::Fn<(&std[da2fd379f16a7ff7]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x640a75b2819c - test[d0b63a2f043bab5e]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x640a75ba9a72 - core[97f61b5528a4c2b4]::ops::function::Fn<(&'a std[da2fd379f16a7ff7]::panic::PanicHookInfo<'b>,), Output = ()> + core[97f61b5528a4c2b4]::marker::Send + core[97f61b5528a4c2b4]::marker::Sync> as core[97f61b5528a4c2b4]::ops::function::Fn<(&std[da2fd379f16a7ff7]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x640a75ba9a72 - std[da2fd379f16a7ff7]::panicking::panic_with_hook [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x640a75b8f838 - std[da2fd379f16a7ff7]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x640a75b86fa9 - std[da2fd379f16a7ff7]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x640a75b9054d - __rustc[9f3cd9eabd71303e]::rust_begin_unwind [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x640a75bc833c - core[97f61b5528a4c2b4]::panicking::panic_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x640a75bc81c3 - core[97f61b5528a4c2b4]::panicking::assert_failed_inner [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x640a75bc3a98 - core[97f61b5528a4c2b4]::panicking::assert_failed:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x640a75b104e1 - ghost_rs[11f97d32200b3ab3]::bnet::tests::test_queue_chat_logged_in [INFO] [stdout] at /opt/rustwide/workdir/src/bnet.rs:566:9 [INFO] [stdout] 22: 0x640a75af5bb9 - ghost_rs[11f97d32200b3ab3]::bnet::tests::test_queue_chat_logged_in::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/bnet.rs:562:35 [INFO] [stdout] 23: 0x640a75af5bb9 - >::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x640a75b1c27b - core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x640a75b1c27b - test[d0b63a2f043bab5e]::__rust_begin_short_backtrace::, fn() -> core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x640a75b28c6b - as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panicking::catch_unwind::do_call::, core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panicking::catch_unwind::, core[97f61b5528a4c2b4]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panic::catch_unwind::, core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test_in_process [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x640a75b24384 - test[d0b63a2f043bab5e]::run_test::{closure#1} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x640a75b24384 - std[da2fd379f16a7ff7]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x640a75b2b872 - std[da2fd379f16a7ff7]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x640a75b2b872 - ::{closure#1}::{closure#0}> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panicking::catch_unwind::<(), core[97f61b5528a4c2b4]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x640a75b2b872 - std[da2fd379f16a7ff7]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x640a75b2b872 - ::{closure#1} as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x640a75bb104f - + core[97f61b5528a4c2b4]::marker::Send> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x640a75bb104f - ::new::thread_start [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x79f9e5dcfaa4 - [INFO] [stdout] 45: 0x79f9e5e5ca64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- socket::tests::test_extract_bad_length stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'socket::tests::test_extract_bad_length' (135) panicked at src/socket.rs:600:9: [INFO] [stdout] assertion failed: err.unwrap().contains("length") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x640a75bb1dba - std[da2fd379f16a7ff7]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x640a75bb1dba - std[da2fd379f16a7ff7]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x640a75bb1dba - std[da2fd379f16a7ff7]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x640a75bb1dba - <::print::DisplayBacktrace as core[97f61b5528a4c2b4]::fmt::Display>::fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x640a75bc7a6a - ::fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x640a75bc7a6a - core[97f61b5528a4c2b4]::fmt::write [INFO] [stdout] 6: 0x640a75bb66a2 - std[da2fd379f16a7ff7]::io::default_write_fmt::> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x640a75bb66a2 - as std[da2fd379f16a7ff7]::io::Write>::write_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x640a75b8f77f - ::print [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x640a75b8f77f - std[da2fd379f16a7ff7]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x640a75ba98b9 - std[da2fd379f16a7ff7]::panicking::default_hook [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x640a75b2819c - core[97f61b5528a4c2b4]::ops::function::Fn<(&'a std[da2fd379f16a7ff7]::panic::PanicHookInfo<'b>,), Output = ()> + core[97f61b5528a4c2b4]::marker::Send + core[97f61b5528a4c2b4]::marker::Sync> as core[97f61b5528a4c2b4]::ops::function::Fn<(&std[da2fd379f16a7ff7]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x640a75b2819c - test[d0b63a2f043bab5e]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x640a75ba9a72 - core[97f61b5528a4c2b4]::ops::function::Fn<(&'a std[da2fd379f16a7ff7]::panic::PanicHookInfo<'b>,), Output = ()> + core[97f61b5528a4c2b4]::marker::Send + core[97f61b5528a4c2b4]::marker::Sync> as core[97f61b5528a4c2b4]::ops::function::Fn<(&std[da2fd379f16a7ff7]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x640a75ba9a72 - std[da2fd379f16a7ff7]::panicking::panic_with_hook [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x640a75b8f86a - std[da2fd379f16a7ff7]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x640a75b86fa9 - std[da2fd379f16a7ff7]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x640a75b9054d - __rustc[9f3cd9eabd71303e]::rust_begin_unwind [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x640a75bc833c - core[97f61b5528a4c2b4]::panicking::panic_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x640a75bc8302 - core[97f61b5528a4c2b4]::panicking::panic [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panicking.rs:150:5 [INFO] [stdout] 20: 0x640a75af81dd - ghost_rs[11f97d32200b3ab3]::socket::tests::test_extract_bad_length [INFO] [stdout] at /opt/rustwide/workdir/src/socket.rs:600:9 [INFO] [stdout] 21: 0x640a75af81dd - ghost_rs[11f97d32200b3ab3]::socket::tests::test_extract_bad_length::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/socket.rs:595:33 [INFO] [stdout] 22: 0x640a75af81dd - >::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x640a75b1c27b - core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x640a75b1c27b - test[d0b63a2f043bab5e]::__rust_begin_short_backtrace::, fn() -> core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:663:18 [INFO] [stdout] 25: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:686:74 [INFO] [stdout] 26: 0x640a75b28c6b - as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 27: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panicking::catch_unwind::do_call::, core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:581:40 [INFO] [stdout] 28: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panicking::catch_unwind::, core[97f61b5528a4c2b4]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:544:19 [INFO] [stdout] 29: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panic::catch_unwind::, core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test_in_process [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:686:27 [INFO] [stdout] 31: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:607:43 [INFO] [stdout] 32: 0x640a75b24384 - test[d0b63a2f043bab5e]::run_test::{closure#1} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:637:41 [INFO] [stdout] 33: 0x640a75b24384 - std[da2fd379f16a7ff7]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 34: 0x640a75b2b872 - std[da2fd379f16a7ff7]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 35: 0x640a75b2b872 - ::{closure#1}::{closure#0}> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 36: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:581:40 [INFO] [stdout] 37: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panicking::catch_unwind::<(), core[97f61b5528a4c2b4]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:544:19 [INFO] [stdout] 38: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x640a75b2b872 - std[da2fd379f16a7ff7]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 40: 0x640a75b2b872 - ::{closure#1} as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 41: 0x640a75bb104f - + core[97f61b5528a4c2b4]::marker::Send> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 42: 0x640a75bb104f - ::new::thread_start [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 43: 0x79f9e5dcfaa4 - [INFO] [stdout] 44: 0x79f9e5e5ca64 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- socket::tests::test_extract_packet_plus_remainder stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'socket::tests::test_extract_packet_plus_remainder' (139) panicked at src/socket.rs:607:9: [INFO] [stdout] assertion failed: err.is_none() [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x640a75bb1dba - std[da2fd379f16a7ff7]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x640a75bb1dba - std[da2fd379f16a7ff7]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x640a75bb1dba - std[da2fd379f16a7ff7]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x640a75bb1dba - <::print::DisplayBacktrace as core[97f61b5528a4c2b4]::fmt::Display>::fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x640a75bc7a6a - ::fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x640a75bc7a6a - core[97f61b5528a4c2b4]::fmt::write [INFO] [stdout] 6: 0x640a75bb66a2 - std[da2fd379f16a7ff7]::io::default_write_fmt::> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x640a75bb66a2 - as std[da2fd379f16a7ff7]::io::Write>::write_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x640a75b8f77f - ::print [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x640a75b8f77f - std[da2fd379f16a7ff7]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x640a75ba98b9 - std[da2fd379f16a7ff7]::panicking::default_hook [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x640a75b2819c - core[97f61b5528a4c2b4]::ops::function::Fn<(&'a std[da2fd379f16a7ff7]::panic::PanicHookInfo<'b>,), Output = ()> + core[97f61b5528a4c2b4]::marker::Send + core[97f61b5528a4c2b4]::marker::Sync> as core[97f61b5528a4c2b4]::ops::function::Fn<(&std[da2fd379f16a7ff7]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x640a75b2819c - test[d0b63a2f043bab5e]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x640a75ba9a72 - core[97f61b5528a4c2b4]::ops::function::Fn<(&'a std[da2fd379f16a7ff7]::panic::PanicHookInfo<'b>,), Output = ()> + core[97f61b5528a4c2b4]::marker::Send + core[97f61b5528a4c2b4]::marker::Sync> as core[97f61b5528a4c2b4]::ops::function::Fn<(&std[da2fd379f16a7ff7]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x640a75ba9a72 - std[da2fd379f16a7ff7]::panicking::panic_with_hook [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x640a75b8f86a - std[da2fd379f16a7ff7]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x640a75b86fa9 - std[da2fd379f16a7ff7]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x640a75b9054d - __rustc[9f3cd9eabd71303e]::rust_begin_unwind [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x640a75bc833c - core[97f61b5528a4c2b4]::panicking::panic_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x640a75bc8302 - core[97f61b5528a4c2b4]::panicking::panic [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panicking.rs:150:5 [INFO] [stdout] 20: 0x640a75af8cdb - ghost_rs[11f97d32200b3ab3]::socket::tests::test_extract_packet_plus_remainder [INFO] [stdout] at /opt/rustwide/workdir/src/socket.rs:607:9 [INFO] [stdout] 21: 0x640a75af8cdb - ghost_rs[11f97d32200b3ab3]::socket::tests::test_extract_packet_plus_remainder::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/socket.rs:604:44 [INFO] [stdout] 22: 0x640a75af8cdb - >::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x640a75b1c27b - core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x640a75b1c27b - test[d0b63a2f043bab5e]::__rust_begin_short_backtrace::, fn() -> core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:663:18 [INFO] [stdout] 25: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:686:74 [INFO] [stdout] 26: 0x640a75b28c6b - as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 27: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panicking::catch_unwind::do_call::, core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:581:40 [INFO] [stdout] 28: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panicking::catch_unwind::, core[97f61b5528a4c2b4]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:544:19 [INFO] [stdout] 29: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panic::catch_unwind::, core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test_in_process [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:686:27 [INFO] [stdout] 31: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:607:43 [INFO] [stdout] 32: 0x640a75b24384 - test[d0b63a2f043bab5e]::run_test::{closure#1} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:637:41 [INFO] [stdout] 33: 0x640a75b24384 - std[da2fd379f16a7ff7]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 34: 0x640a75b2b872 - std[da2fd379f16a7ff7]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 35: 0x640a75b2b872 - ::{closure#1}::{closure#0}> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 36: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:581:40 [INFO] [stdout] 37: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panicking::catch_unwind::<(), core[97f61b5528a4c2b4]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:544:19 [INFO] [stdout] 38: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x640a75b2b872 - std[da2fd379f16a7ff7]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 40: 0x640a75b2b872 - ::{closure#1} as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 41: 0x640a75bb104f - + core[97f61b5528a4c2b4]::marker::Send> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 42: 0x640a75bb104f - ::new::thread_start [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 43: 0x79f9e5dcfaa4 - [INFO] [stdout] 44: 0x79f9e5e5ca64 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- socket::tests::test_extract_two_packets stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'socket::tests::test_extract_two_packets' (140) panicked at src/socket.rs:569:9: [INFO] [stdout] assertion failed: err.is_none() [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x640a75bb1dba - std[da2fd379f16a7ff7]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x640a75bb1dba - std[da2fd379f16a7ff7]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x640a75bb1dba - std[da2fd379f16a7ff7]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x640a75bb1dba - <::print::DisplayBacktrace as core[97f61b5528a4c2b4]::fmt::Display>::fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x640a75bc7a6a - ::fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x640a75bc7a6a - core[97f61b5528a4c2b4]::fmt::write [INFO] [stdout] 6: 0x640a75bb66a2 - std[da2fd379f16a7ff7]::io::default_write_fmt::> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x640a75bb66a2 - as std[da2fd379f16a7ff7]::io::Write>::write_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x640a75b8f77f - ::print [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x640a75b8f77f - std[da2fd379f16a7ff7]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x640a75ba98b9 - std[da2fd379f16a7ff7]::panicking::default_hook [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x640a75b2819c - core[97f61b5528a4c2b4]::ops::function::Fn<(&'a std[da2fd379f16a7ff7]::panic::PanicHookInfo<'b>,), Output = ()> + core[97f61b5528a4c2b4]::marker::Send + core[97f61b5528a4c2b4]::marker::Sync> as core[97f61b5528a4c2b4]::ops::function::Fn<(&std[da2fd379f16a7ff7]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x640a75b2819c - test[d0b63a2f043bab5e]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x640a75ba9a72 - core[97f61b5528a4c2b4]::ops::function::Fn<(&'a std[da2fd379f16a7ff7]::panic::PanicHookInfo<'b>,), Output = ()> + core[97f61b5528a4c2b4]::marker::Send + core[97f61b5528a4c2b4]::marker::Sync> as core[97f61b5528a4c2b4]::ops::function::Fn<(&std[da2fd379f16a7ff7]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x640a75ba9a72 - std[da2fd379f16a7ff7]::panicking::panic_with_hook [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x640a75b8f86a - std[da2fd379f16a7ff7]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x640a75b86fa9 - std[da2fd379f16a7ff7]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x640a75b9054d - __rustc[9f3cd9eabd71303e]::rust_begin_unwind [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x640a75bc833c - core[97f61b5528a4c2b4]::panicking::panic_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x640a75bc8302 - core[97f61b5528a4c2b4]::panicking::panic [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panicking.rs:150:5 [INFO] [stdout] 20: 0x640a75af8756 - ghost_rs[11f97d32200b3ab3]::socket::tests::test_extract_two_packets [INFO] [stdout] 21: 0x640a75af8756 - ghost_rs[11f97d32200b3ab3]::socket::tests::test_extract_two_packets::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/socket.rs:565:34 [INFO] [stdout] 22: 0x640a75af8756 - >::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x640a75b1c27b - core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x640a75b1c27b - test[d0b63a2f043bab5e]::__rust_begin_short_backtrace::, fn() -> core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:663:18 [INFO] [stdout] 25: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:686:74 [INFO] [stdout] 26: 0x640a75b28c6b - as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 27: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panicking::catch_unwind::do_call::, core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:581:40 [INFO] [stdout] 28: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panicking::catch_unwind::, core[97f61b5528a4c2b4]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:544:19 [INFO] [stdout] 29: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panic::catch_unwind::, core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test_in_process [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:686:27 [INFO] [stdout] 31: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:607:43 [INFO] [stdout] 32: 0x640a75b24384 - test[d0b63a2f043bab5e]::run_test::{closure#1} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:637:41 [INFO] [stdout] 33: 0x640a75b24384 - std[da2fd379f16a7ff7]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 34: 0x640a75b2b872 - std[da2fd379f16a7ff7]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 35: 0x640a75b2b872 - ::{closure#1}::{closure#0}> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 36: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:581:40 [INFO] [stdout] 37: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panicking::catch_unwind::<(), core[97f61b5528a4c2b4]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:544:19 [INFO] [stdout] 38: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x640a75b2b872 - std[da2fd379f16a7ff7]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 40: 0x640a75b2b872 - ::{closure#1} as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 41: 0x640a75bb104f - + core[97f61b5528a4c2b4]::marker::Send> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 42: 0x640a75bb104f - ::new::thread_start [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 43: 0x79f9e5dcfaa4 - [INFO] [stdout] 44: 0x79f9e5e5ca64 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- socket::tests::test_extract_incomplete_packet stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'socket::tests::test_extract_incomplete_packet' (137) panicked at src/socket.rs:580:9: [INFO] [stdout] assertion failed: err.is_none() [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x640a75bb1dba - std[da2fd379f16a7ff7]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x640a75bb1dba - std[da2fd379f16a7ff7]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x640a75bb1dba - std[da2fd379f16a7ff7]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x640a75bb1dba - <::print::DisplayBacktrace as core[97f61b5528a4c2b4]::fmt::Display>::fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x640a75bc7a6a - ::fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x640a75bc7a6a - core[97f61b5528a4c2b4]::fmt::write [INFO] [stdout] 6: 0x640a75bb66a2 - std[da2fd379f16a7ff7]::io::default_write_fmt::> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x640a75bb66a2 - as std[da2fd379f16a7ff7]::io::Write>::write_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x640a75b8f77f - ::print [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x640a75b8f77f - std[da2fd379f16a7ff7]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x640a75ba98b9 - std[da2fd379f16a7ff7]::panicking::default_hook [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x640a75b2819c - core[97f61b5528a4c2b4]::ops::function::Fn<(&'a std[da2fd379f16a7ff7]::panic::PanicHookInfo<'b>,), Output = ()> + core[97f61b5528a4c2b4]::marker::Send + core[97f61b5528a4c2b4]::marker::Sync> as core[97f61b5528a4c2b4]::ops::function::Fn<(&std[da2fd379f16a7ff7]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x640a75b2819c - test[d0b63a2f043bab5e]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x640a75ba9a72 - core[97f61b5528a4c2b4]::ops::function::Fn<(&'a std[da2fd379f16a7ff7]::panic::PanicHookInfo<'b>,), Output = ()> + core[97f61b5528a4c2b4]::marker::Send + core[97f61b5528a4c2b4]::marker::Sync> as core[97f61b5528a4c2b4]::ops::function::Fn<(&std[da2fd379f16a7ff7]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x640a75ba9a72 - std[da2fd379f16a7ff7]::panicking::panic_with_hook [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x640a75b8f86a - std[da2fd379f16a7ff7]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x640a75b86fa9 - std[da2fd379f16a7ff7]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x640a75b9054d - __rustc[9f3cd9eabd71303e]::rust_begin_unwind [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x640a75bc833c - core[97f61b5528a4c2b4]::panicking::panic_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x640a75bc8302 - core[97f61b5528a4c2b4]::panicking::panic [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panicking.rs:150:5 [INFO] [stdout] 20: 0x640a75af8aa8 - ghost_rs[11f97d32200b3ab3]::socket::tests::test_extract_incomplete_packet [INFO] [stdout] 21: 0x640a75af8aa8 - ghost_rs[11f97d32200b3ab3]::socket::tests::test_extract_incomplete_packet::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/socket.rs:577:40 [INFO] [stdout] 22: 0x640a75af8aa8 - >::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x640a75b1c27b - core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x640a75b1c27b - test[d0b63a2f043bab5e]::__rust_begin_short_backtrace::, fn() -> core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stderr] error: test failed, to rerun pass `--bin ghost-rs` [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:663:18 [INFO] [stdout] 25: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:686:74 [INFO] [stdout] 26: 0x640a75b28c6b - as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 27: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panicking::catch_unwind::do_call::, core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:581:40 [INFO] [stdout] 28: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panicking::catch_unwind::, core[97f61b5528a4c2b4]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:544:19 [INFO] [stdout] 29: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panic::catch_unwind::, core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test_in_process [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:686:27 [INFO] [stdout] 31: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:607:43 [INFO] [stdout] 32: 0x640a75b24384 - test[d0b63a2f043bab5e]::run_test::{closure#1} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:637:41 [INFO] [stdout] 33: 0x640a75b24384 - std[da2fd379f16a7ff7]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 34: 0x640a75b2b872 - std[da2fd379f16a7ff7]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 35: 0x640a75b2b872 - ::{closure#1}::{closure#0}> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 36: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:581:40 [INFO] [stdout] 37: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panicking::catch_unwind::<(), core[97f61b5528a4c2b4]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:544:19 [INFO] [stdout] 38: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x640a75b2b872 - std[da2fd379f16a7ff7]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 40: 0x640a75b2b872 - ::{closure#1} as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 41: 0x640a75bb104f - + core[97f61b5528a4c2b4]::marker::Send> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 42: 0x640a75bb104f - ::new::thread_start [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 43: 0x79f9e5dcfaa4 - [INFO] [stdout] 44: 0x79f9e5e5ca64 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- socket::tests::test_extract_one_packet stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'socket::tests::test_extract_one_packet' (138) panicked at src/socket.rs:556:9: [INFO] [stdout] assertion failed: err.is_none() [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x640a75bb1dba - std[da2fd379f16a7ff7]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x640a75bb1dba - std[da2fd379f16a7ff7]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x640a75bb1dba - std[da2fd379f16a7ff7]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x640a75bb1dba - <::print::DisplayBacktrace as core[97f61b5528a4c2b4]::fmt::Display>::fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x640a75bc7a6a - ::fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x640a75bc7a6a - core[97f61b5528a4c2b4]::fmt::write [INFO] [stdout] 6: 0x640a75bb66a2 - std[da2fd379f16a7ff7]::io::default_write_fmt::> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x640a75bb66a2 - as std[da2fd379f16a7ff7]::io::Write>::write_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x640a75b8f77f - ::print [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x640a75b8f77f - std[da2fd379f16a7ff7]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x640a75ba98b9 - std[da2fd379f16a7ff7]::panicking::default_hook [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x640a75b2819c - core[97f61b5528a4c2b4]::ops::function::Fn<(&'a std[da2fd379f16a7ff7]::panic::PanicHookInfo<'b>,), Output = ()> + core[97f61b5528a4c2b4]::marker::Send + core[97f61b5528a4c2b4]::marker::Sync> as core[97f61b5528a4c2b4]::ops::function::Fn<(&std[da2fd379f16a7ff7]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x640a75b2819c - test[d0b63a2f043bab5e]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x640a75ba9a72 - core[97f61b5528a4c2b4]::ops::function::Fn<(&'a std[da2fd379f16a7ff7]::panic::PanicHookInfo<'b>,), Output = ()> + core[97f61b5528a4c2b4]::marker::Send + core[97f61b5528a4c2b4]::marker::Sync> as core[97f61b5528a4c2b4]::ops::function::Fn<(&std[da2fd379f16a7ff7]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x640a75ba9a72 - std[da2fd379f16a7ff7]::panicking::panic_with_hook [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x640a75b8f86a - std[da2fd379f16a7ff7]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x640a75b86fa9 - std[da2fd379f16a7ff7]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x640a75b9054d - __rustc[9f3cd9eabd71303e]::rust_begin_unwind [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x640a75bc833c - core[97f61b5528a4c2b4]::panicking::panic_fmt [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x640a75bc8302 - core[97f61b5528a4c2b4]::panicking::panic [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panicking.rs:150:5 [INFO] [stdout] 20: 0x640a75af84b4 - ghost_rs[11f97d32200b3ab3]::socket::tests::test_extract_one_packet [INFO] [stdout] 21: 0x640a75af84b4 - ghost_rs[11f97d32200b3ab3]::socket::tests::test_extract_one_packet::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/socket.rs:553:33 [INFO] [stdout] 22: 0x640a75af84b4 - >::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x640a75b1c27b - core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x640a75b1c27b - test[d0b63a2f043bab5e]::__rust_begin_short_backtrace::, fn() -> core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:663:18 [INFO] [stdout] 25: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:686:74 [INFO] [stdout] 26: 0x640a75b28c6b - as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 27: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panicking::catch_unwind::do_call::, core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:581:40 [INFO] [stdout] 28: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panicking::catch_unwind::, core[97f61b5528a4c2b4]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:544:19 [INFO] [stdout] 29: 0x640a75b28c6b - std[da2fd379f16a7ff7]::panic::catch_unwind::, core[97f61b5528a4c2b4]::result::Result<(), alloc[ec929a98520ab192]::string::String>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test_in_process [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:686:27 [INFO] [stdout] 31: 0x640a75b28c6b - test[d0b63a2f043bab5e]::run_test::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:607:43 [INFO] [stdout] 32: 0x640a75b24384 - test[d0b63a2f043bab5e]::run_test::{closure#1} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/test/src/lib.rs:637:41 [INFO] [stdout] 33: 0x640a75b24384 - std[da2fd379f16a7ff7]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 34: 0x640a75b2b872 - std[da2fd379f16a7ff7]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 35: 0x640a75b2b872 - ::{closure#1}::{closure#0}> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 36: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:581:40 [INFO] [stdout] 37: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panicking::catch_unwind::<(), core[97f61b5528a4c2b4]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panicking.rs:544:19 [INFO] [stdout] 38: 0x640a75b2b872 - std[da2fd379f16a7ff7]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x640a75b2b872 - std[da2fd379f16a7ff7]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 40: 0x640a75b2b872 - ::{closure#1} as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 41: 0x640a75bb104f - + core[97f61b5528a4c2b4]::marker::Send> as core[97f61b5528a4c2b4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 42: 0x640a75bb104f - ::new::thread_start [INFO] [stdout] at /rustc/8da20828b6ea601dfd8e2448cb50ace88876bd78/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 43: 0x79f9e5dcfaa4 - [INFO] [stdout] 44: 0x79f9e5e5ca64 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] bnet::tests::test_queue_chat_logged_in [INFO] [stdout] socket::tests::test_extract_bad_length [INFO] [stdout] socket::tests::test_extract_incomplete_packet [INFO] [stdout] socket::tests::test_extract_one_packet [INFO] [stdout] socket::tests::test_extract_packet_plus_remainder [INFO] [stdout] socket::tests::test_extract_two_packets [INFO] [stdout] [INFO] [stdout] test result: FAILED. 129 passed; 6 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "0c89c17dd99f0173e64094e1579a27f1152ebfccda8142ea134d7e8912b98faf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0c89c17dd99f0173e64094e1579a27f1152ebfccda8142ea134d7e8912b98faf", kill_on_drop: false }` [INFO] [stdout] 0c89c17dd99f0173e64094e1579a27f1152ebfccda8142ea134d7e8912b98faf