[INFO] cloning repository https://github.com/wfjsw/shitspeak-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wfjsw/shitspeak-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwfjsw%2Fshitspeak-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwfjsw%2Fshitspeak-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2d1e363d360f98aeb7ac799fe4e09cb73de134e2 [INFO] checking wfjsw/shitspeak-rs against master#a33907a7a5381473eec8bcfa0c56e05a856a911c for pr-151539 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwfjsw%2Fshitspeak-rs" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/wfjsw/shitspeak-rs [INFO] finished tweaking git repo https://github.com/wfjsw/shitspeak-rs [INFO] tweaked toml for git repo https://github.com/wfjsw/shitspeak-rs written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/wfjsw/shitspeak-rs on toolchain a33907a7a5381473eec8bcfa0c56e05a856a911c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a33907a7a5381473eec8bcfa0c56e05a856a911c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/wfjsw/shitspeak-rs 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" "+a33907a7a5381473eec8bcfa0c56e05a856a911c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded prost v0.13.5 [INFO] [stderr] Downloaded prost-derive v0.13.5 [INFO] [stderr] Downloaded prost-build v0.13.5 [INFO] [stderr] Downloaded prost-types v0.13.5 [INFO] [stderr] Downloaded itoa v1.0.16 [INFO] [stderr] Downloaded objc2-user-notifications v0.3.2 [INFO] [stderr] Downloaded objc2-io-surface v0.3.2 [INFO] [stderr] Downloaded serde-untagged v0.1.9 [INFO] [stderr] Downloaded ordered-multimap v0.7.3 [INFO] [stderr] Downloaded pest_generator v2.8.4 [INFO] [stderr] Downloaded cidr v0.3.2 [INFO] [stderr] Downloaded ryu v1.0.21 [INFO] [stderr] Downloaded objc2-cloud-kit v0.3.2 [INFO] [stderr] Downloaded yaml-rust2 v0.10.4 [INFO] [stderr] Downloaded pest v2.8.4 [INFO] [stderr] Downloaded ron v0.12.0 [INFO] [stderr] Downloaded objc2-core-image v0.3.2 [INFO] [stderr] Downloaded objc2-core-graphics v0.3.2 [INFO] [stderr] Downloaded objc2-core-text v0.3.2 [INFO] [stderr] Downloaded cc v1.2.50 [INFO] [stderr] Downloaded prettyplease v0.2.32 [INFO] [stderr] Downloaded config v0.15.19 [INFO] [stderr] Downloaded pest_meta v2.8.4 [INFO] [stderr] Downloaded pest_derive v2.8.4 [INFO] [stderr] Downloaded arraydeque v0.5.1 [INFO] [stderr] Downloaded objc2-core-data v0.3.2 [INFO] [stderr] Downloaded objc2-core-location v0.3.2 [INFO] [stderr] Downloaded objc2-quartz-core v0.3.2 [INFO] [stderr] Downloaded os_info v3.14.0 [INFO] [stderr] Downloaded rust-ini v0.21.3 [INFO] [stderr] Downloaded ipnetwork v0.21.1 [INFO] [stderr] Downloaded maxminddb v0.26.0 [INFO] [stderr] Downloaded ppp v2.3.0 [INFO] [stderr] Downloaded tracing-appender v0.2.4 [INFO] [stderr] Downloaded objc2-ui-kit v0.3.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+a33907a7a5381473eec8bcfa0c56e05a856a911c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 502be1ff2f553d43540a4d1f54de200de86887711d2e82a9ef8b6e9f2efa66e7 [INFO] running `Command { std: "docker" "start" "-a" "502be1ff2f553d43540a4d1f54de200de86887711d2e82a9ef8b6e9f2efa66e7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "502be1ff2f553d43540a4d1f54de200de86887711d2e82a9ef8b6e9f2efa66e7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "502be1ff2f553d43540a4d1f54de200de86887711d2e82a9ef8b6e9f2efa66e7", kill_on_drop: false }` [INFO] [stdout] 502be1ff2f553d43540a4d1f54de200de86887711d2e82a9ef8b6e9f2efa66e7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+a33907a7a5381473eec8bcfa0c56e05a856a911c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c598301b863d7872ca7c220a9aa0084047cd3c473eaf85bec35bca9d840bac39 [INFO] running `Command { std: "docker" "start" "-a" "c598301b863d7872ca7c220a9aa0084047cd3c473eaf85bec35bca9d840bac39", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling find-msvc-tools v0.1.5 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Compiling aws-lc-rs v1.15.2 [INFO] [stderr] Compiling getrandom v0.3.2 [INFO] [stderr] Checking smallvec v1.15.0 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Compiling typeid v1.0.3 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling bitflags v2.9.0 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Checking zeroize v1.8.2 [INFO] [stderr] Compiling bytes v1.11.0 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling prettyplease v0.2.32 [INFO] [stderr] Compiling fixedbitset v0.5.7 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling indexmap v2.12.1 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling cc v1.2.50 [INFO] [stderr] Compiling pest v2.8.4 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Checking untrusted v0.7.1 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Checking foldhash v0.1.5 [INFO] [stderr] Compiling erased-serde v0.4.9 [INFO] [stderr] Checking itoa v1.0.16 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking const-random v0.1.18 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Checking dlv-list v0.5.2 [INFO] [stderr] Checking hashbrown v0.15.3 [INFO] [stderr] Checking rustls-pki-types v1.13.2 [INFO] [stderr] Checking tracing-core v0.1.36 [INFO] [stderr] Compiling multimap v0.10.0 [INFO] [stderr] Compiling iana-time-zone v0.1.63 [INFO] [stderr] Compiling petgraph v0.7.1 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling rustls v0.23.35 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Checking deranged v0.5.5 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking hashlink v0.10.0 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Checking ordered-multimap v0.7.3 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Compiling pest_meta v2.8.4 [INFO] [stderr] Checking socket2 v0.5.9 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Compiling tempfile v3.19.1 [INFO] [stderr] Checking serde_spanned v1.0.4 [INFO] [stderr] Compiling aws-lc-sys v0.35.0 [INFO] [stderr] Checking thread_local v1.1.9 [INFO] [stderr] Checking ryu v1.0.21 [INFO] [stderr] Checking time-core v0.1.6 [INFO] [stderr] Checking nu-ansi-term v0.50.1 [INFO] [stderr] Checking unicode-ident v1.0.18 [INFO] [stderr] Checking arraydeque v0.5.1 [INFO] [stderr] Checking convert_case v0.6.0 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Checking time v0.3.44 [INFO] [stderr] Checking yaml-rust2 v0.10.4 [INFO] [stderr] Checking rust-ini v0.21.3 [INFO] [stderr] Checking memmap2 v0.9.9 [INFO] [stderr] Checking ipnetwork v0.21.1 [INFO] [stderr] Checking serde-untagged v0.1.9 [INFO] [stderr] Compiling toml_parser v1.0.6+spec-1.1.0 [INFO] [stderr] Checking pathdiff v0.2.3 [INFO] [stderr] Checking simdutf8 v0.1.5 [INFO] [stderr] Checking cidr v0.3.2 [INFO] [stderr] Compiling toml_edit v0.23.10+spec-1.0.0 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Checking toml v0.9.10+spec-1.1.0 [INFO] [stderr] Compiling pest_generator v2.8.4 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling prost-derive v0.13.5 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling enumflags2_derive v0.7.12 [INFO] [stderr] Compiling num_enum_derive v0.7.5 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling message_macro v0.1.0 (/opt/rustwide/workdir/src/messages/macros) [INFO] [stderr] Compiling pest_derive v2.8.4 [INFO] [stderr] Checking enumflags2 v0.7.12 [INFO] [stderr] Checking tokio v1.45.0 [INFO] [stderr] Checking num_enum v0.7.5 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking ppp v2.3.0 [INFO] [stderr] Compiling prost v0.13.5 [INFO] [stderr] Checking prost-types v0.13.5 [INFO] [stderr] Compiling prost-build v0.13.5 [INFO] [stderr] Checking tracing-subscriber v0.3.22 [INFO] [stderr] Checking json5 v0.4.1 [INFO] [stderr] Checking maxminddb v0.26.0 [INFO] [stderr] Checking ron v0.12.0 [INFO] [stderr] Checking os_info v3.14.0 [INFO] [stderr] Compiling shitspeak-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking config v0.15.19 [INFO] [stderr] Checking tracing-appender v0.2.4 [INFO] [stderr] Checking rustls-webpki v0.103.8 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stdout] warning: unused import: `server::Server` [INFO] [stdout] --> src/main.rs:1:29 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{config::Config, server::Server}; [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: `client::user_version::UserVersion` [INFO] [stdout] --> src/client/client_global_state.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{client::user_version::UserVersion, protocol_version::ProtocolVersion}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AuthRejection` [INFO] [stdout] --> src/client/handlers/authenticate.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | errors::{AuthRejection, MessageHandlerError}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Message` [INFO] [stdout] --> src/client/handlers/ping.rs:4:61 [INFO] [stdout] | [INFO] [stdout] 4 | client::Client, errors::MessageHandlerError, messages::{Message, encoder::Ping}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `acl::handle_acl` [INFO] [stdout] --> src/client/handlers/mod.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use acl::handle_acl; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/client/client_local_state.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::client::user_version::UserVersion` [INFO] [stdout] --> src/client/client_local_state.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::client::user_version::UserVersion; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/client/crypt/ocb2.rs:1:91 [INFO] [stdout] | [INFO] [stdout] 1 | use aws_lc_rs::{cipher::{AES_128, DecryptingKey, EncryptingKey, UnboundCipherKey}, rand::{self, SecureRandom}}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::constants::MAX_NODE_ID` [INFO] [stdout] --> src/config.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::constants::MAX_NODE_ID; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MessageHandlerError`, `MessageTypeNotForIncoming`, and `ReadProtoMessageError` [INFO] [stdout] --> src/server.rs:14:36 [INFO] [stdout] | [INFO] [stdout] 14 | HandleIncomingConnectionError, MessageHandlerError, MessageTypeNotForIncoming, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | ReadProtoMessageError, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `server::Server` [INFO] [stdout] --> src/main.rs:1:29 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{config::Config, server::Server}; [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: `client::user_version::UserVersion` [INFO] [stdout] --> src/client/client_global_state.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{client::user_version::UserVersion, protocol_version::ProtocolVersion}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryFrom` [INFO] [stdout] --> src/client/client_session_identifier.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::TryFrom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AuthRejection` [INFO] [stdout] --> src/client/handlers/authenticate.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | errors::{AuthRejection, MessageHandlerError}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Message` [INFO] [stdout] --> src/client/handlers/ping.rs:4:61 [INFO] [stdout] | [INFO] [stdout] 4 | client::Client, errors::MessageHandlerError, messages::{Message, encoder::Ping}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `acl::handle_acl` [INFO] [stdout] --> src/client/handlers/mod.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use acl::handle_acl; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/client/client_local_state.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::client::user_version::UserVersion` [INFO] [stdout] --> src/client/client_local_state.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::client::user_version::UserVersion; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/client/crypt/ocb2.rs:1:91 [INFO] [stdout] | [INFO] [stdout] 1 | use aws_lc_rs::{cipher::{AES_128, DecryptingKey, EncryptingKey, UnboundCipherKey}, rand::{self, SecureRandom}}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::constants::MAX_NODE_ID` [INFO] [stdout] --> src/config.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::constants::MAX_NODE_ID; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MessageHandlerError`, `MessageTypeNotForIncoming`, and `ReadProtoMessageError` [INFO] [stdout] --> src/server.rs:14:36 [INFO] [stdout] | [INFO] [stdout] 14 | HandleIncomingConnectionError, MessageHandlerError, MessageTypeNotForIncoming, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | ReadProtoMessageError, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/client/handlers/acl.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn handle_acl(message: Acl) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `server` [INFO] [stdout] --> src/client/handlers/channel_remove.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | server: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/client/handlers/channel_remove.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | sender: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/client/handlers/channel_remove.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | msg: ChannelRemove, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `server` [INFO] [stdout] --> src/client/handlers/channel_state.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | server: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/client/handlers/channel_state.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | sender: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/client/handlers/channel_state.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | msg: ChannelState, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `server` [INFO] [stdout] --> src/client/handlers/crypt_setup.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | server: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/client/handlers/crypt_setup.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | sender: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/client/handlers/crypt_setup.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | msg: CryptSetup, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `server` [INFO] [stdout] --> src/client/handlers/permission_query.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | server: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/client/handlers/permission_query.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | sender: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/client/handlers/permission_query.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | msg: PermissionQuery, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `server` [INFO] [stdout] --> src/client/handlers/user_state.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | server: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/client/handlers/user_state.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | sender: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/client/handlers/user_state.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | msg: UserState, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `server` [INFO] [stdout] --> src/client/handlers/version.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | server: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/client/handlers/mod.rs:55:36 [INFO] [stdout] | [INFO] [stdout] 55 | Message::UDPTunnel(items) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_remove` [INFO] [stdout] --> src/client/handlers/mod.rs:75:37 [INFO] [stdout] | [INFO] [stdout] 75 | Message::UserRemove(user_remove) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_remove` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ban_list` [INFO] [stdout] --> src/client/handlers/mod.rs:84:34 [INFO] [stdout] | [INFO] [stdout] 84 | Message::BanList(ban_list) => todo!(), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ban_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text_message` [INFO] [stdout] --> src/client/handlers/mod.rs:85:38 [INFO] [stdout] | [INFO] [stdout] 85 | Message::TextMessage(text_message) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `acl` [INFO] [stdout] --> src/client/handlers/mod.rs:87:30 [INFO] [stdout] | [INFO] [stdout] 87 | Message::ACL(acl) => todo!(), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_acl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `query_users` [INFO] [stdout] --> src/client/handlers/mod.rs:88:37 [INFO] [stdout] | [INFO] [stdout] 88 | Message::QueryUsers(query_users) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_query_users` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context_action_modify` [INFO] [stdout] --> src/client/handlers/mod.rs:92:46 [INFO] [stdout] | [INFO] [stdout] 92 | Message::ContextActionModify(context_action_modify) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_action_modify` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context_action` [INFO] [stdout] --> src/client/handlers/mod.rs:93:40 [INFO] [stdout] | [INFO] [stdout] 93 | Message::ContextAction(context_action) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_action` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_list` [INFO] [stdout] --> src/client/handlers/mod.rs:94:35 [INFO] [stdout] | [INFO] [stdout] 94 | Message::UserList(user_list) => todo!(), [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `voice_target` [INFO] [stdout] --> src/client/handlers/mod.rs:95:38 [INFO] [stdout] | [INFO] [stdout] 95 | Message::VoiceTarget(voice_target) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_voice_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_stats` [INFO] [stdout] --> src/client/handlers/mod.rs:100:36 [INFO] [stdout] | [INFO] [stdout] 100 | Message::UserStats(user_stats) => todo!(), [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_stats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request_blob` [INFO] [stdout] --> src/client/handlers/mod.rs:101:38 [INFO] [stdout] | [INFO] [stdout] 101 | Message::RequestBlob(request_blob) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_blob` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `suggest_config` [INFO] [stdout] --> src/client/handlers/mod.rs:103:40 [INFO] [stdout] | [INFO] [stdout] 103 | Message::SuggestConfig(suggest_config) => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_suggest_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end_entity` [INFO] [stdout] --> src/client_certificate_verifier.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | end_entity: &CertificateDer<'_>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `intermediates` [INFO] [stdout] --> src/client_certificate_verifier.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | intermediates: &[CertificateDer<'_>], [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intermediates` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/client_certificate_verifier.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | now: UnixTime, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/client_certificate_verifier.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | message: &[u8], [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cert` [INFO] [stdout] --> src/client_certificate_verifier.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | cert: &CertificateDer<'_>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cert` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dss` [INFO] [stdout] --> src/client_certificate_verifier.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | dss: &DigitallySignedStruct, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_dss` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/client_certificate_verifier.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | message: &[u8], [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cert` [INFO] [stdout] --> src/client_certificate_verifier.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | cert: &CertificateDer<'_>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cert` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dss` [INFO] [stdout] --> src/client_certificate_verifier.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | dss: &DigitallySignedStruct, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_dss` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/client/handlers/acl.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn handle_acl(message: Acl) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `server` [INFO] [stdout] --> src/client/handlers/channel_remove.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | server: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/client/handlers/channel_remove.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | sender: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/client/handlers/channel_remove.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | msg: ChannelRemove, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `server` [INFO] [stdout] --> src/client/handlers/channel_state.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | server: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/client/handlers/channel_state.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | sender: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/client/handlers/channel_state.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | msg: ChannelState, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `server` [INFO] [stdout] --> src/client/handlers/crypt_setup.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | server: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/client/handlers/crypt_setup.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | sender: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/client/handlers/crypt_setup.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | msg: CryptSetup, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `server` [INFO] [stdout] --> src/client/handlers/permission_query.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | server: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/client/handlers/permission_query.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | sender: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/client/handlers/permission_query.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | msg: PermissionQuery, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `server` [INFO] [stdout] --> src/client/handlers/user_state.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | server: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/client/handlers/user_state.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | sender: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/client/handlers/user_state.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | msg: UserState, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `server` [INFO] [stdout] --> src/client/handlers/version.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | server: &Arc>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/client/handlers/mod.rs:55:36 [INFO] [stdout] | [INFO] [stdout] 55 | Message::UDPTunnel(items) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_remove` [INFO] [stdout] --> src/client/handlers/mod.rs:75:37 [INFO] [stdout] | [INFO] [stdout] 75 | Message::UserRemove(user_remove) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_remove` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ban_list` [INFO] [stdout] --> src/client/handlers/mod.rs:84:34 [INFO] [stdout] | [INFO] [stdout] 84 | Message::BanList(ban_list) => todo!(), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ban_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text_message` [INFO] [stdout] --> src/client/handlers/mod.rs:85:38 [INFO] [stdout] | [INFO] [stdout] 85 | Message::TextMessage(text_message) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `acl` [INFO] [stdout] --> src/client/handlers/mod.rs:87:30 [INFO] [stdout] | [INFO] [stdout] 87 | Message::ACL(acl) => todo!(), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_acl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `query_users` [INFO] [stdout] --> src/client/handlers/mod.rs:88:37 [INFO] [stdout] | [INFO] [stdout] 88 | Message::QueryUsers(query_users) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_query_users` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context_action_modify` [INFO] [stdout] --> src/client/handlers/mod.rs:92:46 [INFO] [stdout] | [INFO] [stdout] 92 | Message::ContextActionModify(context_action_modify) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_action_modify` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context_action` [INFO] [stdout] --> src/client/handlers/mod.rs:93:40 [INFO] [stdout] | [INFO] [stdout] 93 | Message::ContextAction(context_action) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_action` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_list` [INFO] [stdout] --> src/client/handlers/mod.rs:94:35 [INFO] [stdout] | [INFO] [stdout] 94 | Message::UserList(user_list) => todo!(), [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `voice_target` [INFO] [stdout] --> src/client/handlers/mod.rs:95:38 [INFO] [stdout] | [INFO] [stdout] 95 | Message::VoiceTarget(voice_target) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_voice_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_stats` [INFO] [stdout] --> src/client/handlers/mod.rs:100:36 [INFO] [stdout] | [INFO] [stdout] 100 | Message::UserStats(user_stats) => todo!(), [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_stats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request_blob` [INFO] [stdout] --> src/client/handlers/mod.rs:101:38 [INFO] [stdout] | [INFO] [stdout] 101 | Message::RequestBlob(request_blob) => todo!(), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_blob` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `suggest_config` [INFO] [stdout] --> src/client/handlers/mod.rs:103:40 [INFO] [stdout] | [INFO] [stdout] 103 | Message::SuggestConfig(suggest_config) => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_suggest_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end_entity` [INFO] [stdout] --> src/client_certificate_verifier.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | end_entity: &CertificateDer<'_>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `intermediates` [INFO] [stdout] --> src/client_certificate_verifier.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | intermediates: &[CertificateDer<'_>], [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intermediates` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/client_certificate_verifier.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | now: UnixTime, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/client_certificate_verifier.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | message: &[u8], [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cert` [INFO] [stdout] --> src/client_certificate_verifier.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | cert: &CertificateDer<'_>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cert` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dss` [INFO] [stdout] --> src/client_certificate_verifier.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | dss: &DigitallySignedStruct, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_dss` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/client_certificate_verifier.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | message: &[u8], [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cert` [INFO] [stdout] --> src/client_certificate_verifier.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | cert: &CertificateDer<'_>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cert` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dss` [INFO] [stdout] --> src/client_certificate_verifier.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | dss: &DigitallySignedStruct, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_dss` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/main.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let config = Config::load(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ACL` is never constructed [INFO] [stdout] --> src/acl.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ACL { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ACLPermissions` is never used [INFO] [stdout] --> src/acl.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum ACLPermissions { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `is_user_acl`, `is_channel_acl`, `match_user`, and `match_group` are never used [INFO] [stdout] --> src/acl.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl ACL { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 43 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn is_user_acl(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn is_channel_acl(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn match_user(&self, user_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn match_group( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Channel` is never constructed [INFO] [stdout] --> src/channels.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Channel { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Channels` is never constructed [INFO] [stdout] --> src/channels.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Channels { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `has_description`, `is_temporary`, and `is_root` are never used [INFO] [stdout] --> src/channels.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Channel { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 19 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn has_description(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn is_temporary(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn is_root(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_channel`, `get_parent`, and `get_children` are never used [INFO] [stdout] --> src/channels.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl Channels { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 59 | pub fn get_channel(&self, channel_id: u32) -> Option<&Channel> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn get_parent(&self, channel: &Channel) -> Option<&Channel> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn get_children(&self, channel: &Channel) -> Vec<&Channel> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientStats` is never constructed [INFO] [stdout] --> src/client/client_stats.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct ClientStats { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_from_ping_message` is never used [INFO] [stdout] --> src/client/client_stats.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl ClientStats { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 37 | pub fn update_from_ping_message(&mut self, ping_message: &Ping) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientOptions` is never constructed [INFO] [stdout] --> src/client/options.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct ClientOptions { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `block_group_shouts`, `set_block_group_shouts`, `promiscuous_mode`, and `set_promiscuous_mode` are never used [INFO] [stdout] --> src/client/options.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl ClientOptions { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn block_group_shouts(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn set_block_group_shouts(&mut self, value: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn promiscuous_mode(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn set_promiscuous_mode(&mut self, value: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Client` is never constructed [INFO] [stdout] --> src/client/client.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Client { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/client/client.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl Client { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 60 | pub fn new_local( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub async fn is_registered(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn has_certificate(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub async fn get_groups_clone(&self) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub async fn has_group(&self, group: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn get_certificate_hash(&self) -> Option<&[u8]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn get_session_id(&self) -> ClientSessionIdentifier { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn get_node_id(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn get_local_session_id(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub async fn get_tokens_clone(&self) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub async fn has_token(&self, token: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub async fn get_current_channel_id(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub async fn set_current_channel_id(&self, channel_id: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub async fn get_user_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | pub fn get_tcp_address(&self) -> SocketAddr { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn get_udp_address(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn get_real_ip_address(&self) -> IpAddr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub async fn is_verified(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn disconnect(&self) {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 198 | [INFO] [stdout] 199 | pub async fn read_proto_message(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub async fn write_proto_message( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | pub async fn set_tokens(&self, tokens: HashSet) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub async fn get_last_ping(&self) -> DateTime { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub async fn reset_last_ping(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub async fn crypt_state(&self) -> MutexGuard<'_, Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub async fn write_stats(&self) -> RwLockWriteGuard<'_, ClientStats> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | pub async fn is_authenticated(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub async fn set_protocol_version(&self, version: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | pub async fn set_release(&self, release: Option) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub async fn set_os(&self, os: Option) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub async fn set_os_version(&self, os_version: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | pub async fn read_global_state(&self) -> tokio::sync::RwLockReadGuard<'_, ClientGlobalState> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub async fn write_global_state(&self) -> RwLockWriteGuard<'_, ClientGlobalState> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub async fn write_user_info(&self) -> RwLockWriteGuard<'_, UserInfo> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub async fn user_info_extended(&self) -> MappedMutexGuard<'_, UserInfoExtended> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UdpState` is never constructed [INFO] [stdout] --> src/client/udp_state.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct UdpState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VoiceTarget` is never constructed [INFO] [stdout] --> src/client/voice_target.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct VoiceTarget { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VoiceTargetChannel` is never constructed [INFO] [stdout] --> src/client/voice_target.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct VoiceTargetChannel { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_session`, `add_channel`, and `is_empty` are never used [INFO] [stdout] --> src/client/voice_target.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl VoiceTarget { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 15 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn add_session(&mut self, session: u32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn add_channel(&mut self, channel: VoiceTargetChannel) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserInfo` is never constructed [INFO] [stdout] --> src/client/user_info.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct UserInfo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Credential` is never constructed [INFO] [stdout] --> src/client/user_info.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Credential { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserInfoExtended` is never constructed [INFO] [stdout] --> src/client/user_info.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct UserInfoExtended { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/client/user_info.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl UserInfo { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 24 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn get_user_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn set_user_id(&mut self, user_id: Option) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn is_registered(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn get_groups(&self) -> &HashSet { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn get_groups_mut(&mut self) -> &mut HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn has_group(&self, group: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn add_group(&mut self, group: String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn del_group(&mut self, group: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn set_groups(&mut self, groups: HashSet) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn get_tokens(&self) -> &HashSet { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn add_token(&mut self, token: String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn del_token(&mut self, token: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn set_tokens(&mut self, tokens: HashSet) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn has_token(&self, token: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn get_display_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn set_display_name(&mut self, display_name: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_credential`, `get_credential`, and `clear_credential` are never used [INFO] [stdout] --> src/client/user_info.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 116 | impl UserInfoExtended { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 117 | pub fn set_credential(&mut self, credential: Credential) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn get_credential(&self) -> &Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn clear_credential(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/client/user_info.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 136 | impl Credential { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 137 | pub fn new(username: String, password: Option) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserVersion` is never constructed [INFO] [stdout] --> src/client/user_version.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct UserVersion { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionStates` is never constructed [INFO] [stdout] --> src/client/session_states.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct SessionStates { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IPMaskType` is never used [INFO] [stdout] --> src/client/group.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | enum IPMaskType<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenMatchType` is never used [INFO] [stdout] --> src/client/group.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | enum TokenMatchType<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MatchType` is never used [INFO] [stdout] --> src/client/group.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | enum MatchType<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientMembershipQuery` is never constructed [INFO] [stdout] --> src/client/group.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct ClientMembershipQuery<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_member_in_group` is never used [INFO] [stdout] --> src/client/group.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn is_member_in_group( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate_group_string_match_type` is never used [INFO] [stdout] --> src/client/group.rs:123:4 [INFO] [stdout] | [INFO] [stdout] 123 | fn evaluate_group_string_match_type<'a>(group: &'a str) -> (Option>, bool, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientGlobalState` is never constructed [INFO] [stdout] --> src/client/client_global_state.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ClientGlobalState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/client/client_global_state.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ClientGlobalState { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn set_current_channel_id(&mut self, channel_id: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get_current_channel_id(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn get_listening_channel_id(&self) -> &HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn listen_channel(&mut self, channel_id: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn unlisten_channel(&mut self, channel_id: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn is_listening_channel(&self, channel_id: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn get_protocol_version(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn set_protocol_version(&mut self, version: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn get_release(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn set_release(&mut self, release: Option) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn get_os_name(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn set_os(&mut self, os: Option) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn get_os_version(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn set_os_version(&mut self, os_version: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsyncMessageHandlerExt` is never used [INFO] [stdout] --> src/client/handlers/mod.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | pub trait AsyncMessageHandlerExt { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_acl` is never used [INFO] [stdout] --> src/client/handlers/acl.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn handle_acl(message: Acl) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_authenticate` is never used [INFO] [stdout] --> src/client/handlers/authenticate.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn handle_authenticate( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_channel_remove` is never used [INFO] [stdout] --> src/client/handlers/channel_remove.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn handle_channel_remove( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_channel_state` is never used [INFO] [stdout] --> src/client/handlers/channel_state.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn handle_channel_state( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_crypt_setup` is never used [INFO] [stdout] --> src/client/handlers/crypt_setup.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn handle_crypt_setup( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_permission_query` is never used [INFO] [stdout] --> src/client/handlers/permission_query.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn handle_permission_query( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_ping` is never used [INFO] [stdout] --> src/client/handlers/ping.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | pub async fn handle_ping( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_user_state` is never used [INFO] [stdout] --> src/client/handlers/user_state.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn handle_user_state( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_version` is never used [INFO] [stdout] --> src/client/handlers/version.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn handle_version( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientLocalState` is never constructed [INFO] [stdout] --> src/client/client_local_state.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ClientLocalState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `is_authenticated` are never used [INFO] [stdout] --> src/client/client_local_state.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl ClientLocalState { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 13 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn is_authenticated(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DECRYPT_HISTORY_SIZE` is never used [INFO] [stdout] --> src/client/crypt/crypt_state.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const DECRYPT_HISTORY_SIZE: usize = 0x100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CryptState` is never constructed [INFO] [stdout] --> src/client/crypt/crypt_state.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct CryptState { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `supported_modes`, `generate`, `from_key`, `update_from_ping_message`, and `create_ping_response` are never used [INFO] [stdout] --> src/client/crypt/crypt_state.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl CryptState { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 31 | pub fn supported_modes() -> &'static [&'static str] { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn generate(mode: &str, rng: &dyn SecureRandom) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn from_key( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn update_from_ping_message(&mut self, ping_message: &Ping) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn create_ping_response(&self, ping_message: &Ping) -> Ping { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `key_size` is never used [INFO] [stdout] --> src/client/crypt/crypto_mode.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub trait CryptoMode: Send + Sync { [INFO] [stdout] | ---------- method in this trait [INFO] [stdout] 4 | fn nonce_size(&self) -> usize; [INFO] [stdout] 5 | fn key_size(&self) -> usize; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/client/crypt/ocb2.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Ocb2 { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn new(rng: &dyn SecureRandom) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `InvalidKeySize` is never constructed [INFO] [stdout] --> src/client/crypt/errors.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub enum CryptError { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 8 | InvalidKeySize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CryptError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientRepository` is never constructed [INFO] [stdout] --> src/client_repository.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct ClientRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `allocate_local_client`, `add_remote_client`, `remove_client`, `clear_clients_from_node`, and `get_client` are never used [INFO] [stdout] --> src/client_repository.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl ClientRepository { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 31 | pub fn new(local_node_id: u16) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub async fn allocate_local_client( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub async fn add_remote_client(&self, id: ClientSessionIdentifier, client: Arc>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub async fn remove_client(&self, id: ClientSessionIdentifier) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub async fn clear_clients_from_node(&self, node_id: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub async fn get_client(&self, id: ClientSessionIdentifier) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodecInfo` is never constructed [INFO] [stdout] --> src/codec_info.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct CodecInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/config.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 8 | pub node_id: u16, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 9 | pub listen: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 10 | pub opus_threshold: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub register_name: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub cert_path: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | pub key_path: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 14 | pub send_version: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 15 | pub send_build_info: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | pub send_os_info: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 17 | pub allowed_proxies: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Config` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MTU` is never used [INFO] [stdout] --> src/constants.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const MTU: usize = 1600; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `APP_NAME_FROM_ENV` is never used [INFO] [stdout] --> src/constants.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const APP_NAME_FROM_ENV: Option<&str> = option_env!("APP_NAME"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `APP_VERSION_FROM_ENV` is never used [INFO] [stdout] --> src/constants.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const APP_VERSION_FROM_ENV: Option<&str> = option_env!("APP_VERSION"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `APP_PROTO_VER` is never used [INFO] [stdout] --> src/constants.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const APP_PROTO_VER: ProtocolVersion = ProtocolVersion { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUILD_DATE` is never used [INFO] [stdout] --> src/constants.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const BUILD_DATE: &str = env!("BUILD_DATE"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COMMIT_HASH` is never used [INFO] [stdout] --> src/constants.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const COMMIT_HASH: &str = env!("COMMIT_HASH"); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COMMIT_DATE` is never used [INFO] [stdout] --> src/constants.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub const COMMIT_DATE: &str = env!("COMMIT_DATE"); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `app_name` is never used [INFO] [stdout] --> src/constants.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn app_name() -> &'static str { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `app_version` is never used [INFO] [stdout] --> src/constants.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn app_version() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `release` is never used [INFO] [stdout] --> src/constants.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn release() -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Config` is never constructed [INFO] [stdout] --> src/geoip.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Message` is never used [INFO] [stdout] --> src/messages/message.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum Message { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ReadMessageExt` is never used [INFO] [stdout] --> src/messages/message_reader.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait ReadMessageExt { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `WriteMessageExt` is never used [INFO] [stdout] --> src/messages/message_writer.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub trait WriteMessageExt { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MessageProtocolError` is never used [INFO] [stdout] --> src/messages/errors/mod.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum MessageProtocolError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PingProtocolError` is never used [INFO] [stdout] --> src/messages/errors/ping.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum PingProtocolError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UserStateProtocolError` is never used [INFO] [stdout] --> src/messages/errors/user_state.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum UserStateProtocolError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Version` is never constructed [INFO] [stdout] --> src/messages/encoder/version.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Version { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `for_server` is never used [INFO] [stdout] --> src/messages/encoder/version.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl Version { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 28 | pub fn for_server(send_version: bool, send_build_info: bool, send_os_info: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ping` is never constructed [INFO] [stdout] --> src/messages/encoder/ping.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Ping { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `default_from_timestamp`, `default_from_self`, and `default_from_message` are never used [INFO] [stdout] --> src/messages/encoder/ping.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Ping { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 40 | pub fn default_from_timestamp(timestamp: u64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn default_from_self(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn default_from_message(message: &crate::mumble_proto::Ping) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ClientType` is never used [INFO] [stdout] --> src/messages/encoder/authenticate.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ClientType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Authenticate` is never constructed [INFO] [stdout] --> src/messages/encoder/authenticate.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct Authenticate { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CryptSetup` is never constructed [INFO] [stdout] --> src/messages/encoder/crypt_setup.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct CryptSetup { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_client_request_resync` is never used [INFO] [stdout] --> src/messages/encoder/crypt_setup.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl CryptSetup { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 21 | pub fn is_client_request_resync(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VolumeAdjustment` is never constructed [INFO] [stdout] --> src/messages/encoder/user_state.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct VolumeAdjustment { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserState` is never constructed [INFO] [stdout] --> src/messages/encoder/user_state.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct UserState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Server` is never constructed [INFO] [stdout] --> src/server.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct Server { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `run`, `handle_incoming_connection`, `reload`, `get_authenticator`, and `get_clients` are never used [INFO] [stdout] --> src/server.rs:46:18 [INFO] [stdout] | [INFO] [stdout] 45 | impl Server { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 46 | pub async fn new(config: Config, authenticator: A) -> Result>, Box> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub async fn run(self: &Arc>) -> Result<(), Box> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub async fn handle_incoming_connection( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub async fn reload(&mut self) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn get_authenticator(&self) -> &dyn Authenticator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn get_clients(&self) -> &ClientRepository { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `CryptoProvider` is never used [INFO] [stdout] --> src/voice_crypto/mod.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait CryptoProvider : Send + Sync { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientCertificateVerifier` is never constructed [INFO] [stdout] --> src/client_certificate_verifier.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ClientCertificateVerifier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/client_certificate_verifier.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl ClientCertificateVerifier { [INFO] [stdout] | ------------------------------ associated function in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_v1_addresses_to_ipaddr` is never used [INFO] [stdout] --> src/proxy_protocol.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn convert_v1_addresses_to_ipaddr(addresses: ppp::v1::Addresses) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_v2_addresses_to_ipaddr` is never used [INFO] [stdout] --> src/proxy_protocol.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn convert_v2_addresses_to_ipaddr(addresses: ppp::v2::Addresses) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GetProxyProtocolRealIpError` is never used [INFO] [stdout] --> src/proxy_protocol.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum GetProxyProtocolRealIpError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_proxy_protocol_real_ip` is never used [INFO] [stdout] --> src/proxy_protocol.rs:53:14 [INFO] [stdout] | [INFO] [stdout] 53 | pub async fn get_proxy_protocol_real_ip( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProxyProtocolHeaderTooLargeError` is never constructed [INFO] [stdout] --> src/errors/proxy_protocol_header_too_large.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct ProxyProtocolHeaderTooLargeError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/errors/proxy_protocol_header_too_large.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl ProxyProtocolHeaderTooLargeError { [INFO] [stdout] | ------------------------------------- associated function in this implementation [INFO] [stdout] 16 | pub fn new(expected_size: usize, actual_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MessageLengthExceededError` is never constructed [INFO] [stdout] --> src/errors/message_length_exceeded.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct MessageLengthExceededError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/errors/message_length_exceeded.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl MessageLengthExceededError { [INFO] [stdout] | ------------------------------- associated function in this implementation [INFO] [stdout] 8 | pub fn new(expected_size: usize, actual_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnknownMessageTypeError` is never constructed [INFO] [stdout] --> src/errors/unknown_message_type.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct UnknownMessageTypeError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/errors/unknown_message_type.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl UnknownMessageTypeError { [INFO] [stdout] | ---------------------------- associated function in this implementation [INFO] [stdout] 15 | pub fn new(message_type: u16) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ReadProtoMessageError` is never used [INFO] [stdout] --> src/errors/read_proto_message_error.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ReadProtoMessageError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `WriteProtoMessageError` is never used [INFO] [stdout] --> src/errors/write_proto_message_error.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum WriteProtoMessageError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FromProtoToMessageError` is never used [INFO] [stdout] --> src/errors/from_proto_to_message_error.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum FromProtoToMessageError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `HandleIncomingConnectionError` is never used [INFO] [stdout] --> src/errors/handle_incoming_connection_error.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum HandleIncomingConnectionError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AuthRejection` is never constructed [INFO] [stdout] --> src/errors/auth_rejection.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct AuthRejection { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `because`, and `reason` are never used [INFO] [stdout] --> src/errors/auth_rejection.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl AuthRejection { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 10 | pub fn new(rejection_type: RejectType) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn because(mut self, reason: String) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn reason(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MessageHandlerError` is never used [INFO] [stdout] --> src/errors/message_handler_error.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum MessageHandlerError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MessageTypeNotForIncoming` is never constructed [INFO] [stdout] --> src/errors/message_type_not_for_incoming.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct MessageTypeNotForIncoming { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/errors/message_type_not_for_incoming.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl MessageTypeNotForIncoming { [INFO] [stdout] | ------------------------------ associated function in this implementation [INFO] [stdout] 17 | pub fn new(message: Message) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AuthenticationRejection` is never used [INFO] [stdout] --> src/api/authenticator.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum AuthenticationRejection { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AuthenticateResult` is never constructed [INFO] [stdout] --> src/api/authenticator.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct AuthenticateResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AuthenticateAuxiliaryData` is never constructed [INFO] [stdout] --> src/api/authenticator.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct AuthenticateAuxiliaryData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Authenticator` is never used [INFO] [stdout] --> src/api/authenticator.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | pub trait Authenticator: Send + Sync + 'static { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UdpTunnel` is never constructed [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_proto.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct UdpTunnel { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChannelRemove` is never constructed [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_proto.rs:196:12 [INFO] [stdout] | [INFO] [stdout] 196 | pub struct ChannelRemove { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `QueryUsers` is never constructed [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_proto.rs:611:12 [INFO] [stdout] | [INFO] [stdout] 611 | pub struct QueryUsers { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserList` is never constructed [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_proto.rs:751:12 [INFO] [stdout] | [INFO] [stdout] 751 | pub struct UserList { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RequestBlob` is never constructed [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_proto.rs:942:12 [INFO] [stdout] | [INFO] [stdout] 942 | pub struct RequestBlob { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Audio` is never constructed [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_udp.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Audio { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ping` is never constructed [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_udp.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct Ping { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Header` is never used [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_udp.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | pub enum Header { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/main.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let config = Config::load(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ACL` is never constructed [INFO] [stdout] --> src/acl.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ACL { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ACLPermissions` is never used [INFO] [stdout] --> src/acl.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum ACLPermissions { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `is_user_acl`, `is_channel_acl`, `match_user`, and `match_group` are never used [INFO] [stdout] --> src/acl.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl ACL { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 43 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn is_user_acl(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn is_channel_acl(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn match_user(&self, user_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn match_group( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Channel` is never constructed [INFO] [stdout] --> src/channels.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Channel { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Channels` is never constructed [INFO] [stdout] --> src/channels.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Channels { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `has_description`, `is_temporary`, and `is_root` are never used [INFO] [stdout] --> src/channels.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Channel { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 19 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn has_description(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn is_temporary(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn is_root(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_channel`, `get_parent`, and `get_children` are never used [INFO] [stdout] --> src/channels.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl Channels { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 59 | pub fn get_channel(&self, channel_id: u32) -> Option<&Channel> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn get_parent(&self, channel: &Channel) -> Option<&Channel> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn get_children(&self, channel: &Channel) -> Vec<&Channel> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientStats` is never constructed [INFO] [stdout] --> src/client/client_stats.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct ClientStats { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_from_ping_message` is never used [INFO] [stdout] --> src/client/client_stats.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl ClientStats { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 37 | pub fn update_from_ping_message(&mut self, ping_message: &Ping) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientOptions` is never constructed [INFO] [stdout] --> src/client/options.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct ClientOptions { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `block_group_shouts`, `set_block_group_shouts`, `promiscuous_mode`, and `set_promiscuous_mode` are never used [INFO] [stdout] --> src/client/options.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl ClientOptions { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn block_group_shouts(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn set_block_group_shouts(&mut self, value: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn promiscuous_mode(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn set_promiscuous_mode(&mut self, value: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Client` is never constructed [INFO] [stdout] --> src/client/client.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Client { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/client/client.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl Client { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 60 | pub fn new_local( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub async fn is_registered(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn has_certificate(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub async fn get_groups_clone(&self) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub async fn has_group(&self, group: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn get_certificate_hash(&self) -> Option<&[u8]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn get_session_id(&self) -> ClientSessionIdentifier { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn get_node_id(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn get_local_session_id(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub async fn get_tokens_clone(&self) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub async fn has_token(&self, token: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub async fn get_current_channel_id(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub async fn set_current_channel_id(&self, channel_id: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub async fn get_user_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | pub fn get_tcp_address(&self) -> SocketAddr { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn get_udp_address(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn get_real_ip_address(&self) -> IpAddr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub async fn is_verified(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn disconnect(&self) {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 198 | [INFO] [stdout] 199 | pub async fn read_proto_message(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub async fn write_proto_message( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | pub async fn set_tokens(&self, tokens: HashSet) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub async fn get_last_ping(&self) -> DateTime { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub async fn reset_last_ping(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub async fn crypt_state(&self) -> MutexGuard<'_, Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub async fn write_stats(&self) -> RwLockWriteGuard<'_, ClientStats> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | pub async fn is_authenticated(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub async fn set_protocol_version(&self, version: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | pub async fn set_release(&self, release: Option) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub async fn set_os(&self, os: Option) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub async fn set_os_version(&self, os_version: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | pub async fn read_global_state(&self) -> tokio::sync::RwLockReadGuard<'_, ClientGlobalState> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub async fn write_global_state(&self) -> RwLockWriteGuard<'_, ClientGlobalState> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub async fn write_user_info(&self) -> RwLockWriteGuard<'_, UserInfo> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub async fn user_info_extended(&self) -> MappedMutexGuard<'_, UserInfoExtended> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UdpState` is never constructed [INFO] [stdout] --> src/client/udp_state.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct UdpState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VoiceTarget` is never constructed [INFO] [stdout] --> src/client/voice_target.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct VoiceTarget { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VoiceTargetChannel` is never constructed [INFO] [stdout] --> src/client/voice_target.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct VoiceTargetChannel { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_session`, `add_channel`, and `is_empty` are never used [INFO] [stdout] --> src/client/voice_target.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl VoiceTarget { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 15 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn add_session(&mut self, session: u32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn add_channel(&mut self, channel: VoiceTargetChannel) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserInfo` is never constructed [INFO] [stdout] --> src/client/user_info.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct UserInfo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Credential` is never constructed [INFO] [stdout] --> src/client/user_info.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Credential { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserInfoExtended` is never constructed [INFO] [stdout] --> src/client/user_info.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct UserInfoExtended { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/client/user_info.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl UserInfo { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 24 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn get_user_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn set_user_id(&mut self, user_id: Option) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn is_registered(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn get_groups(&self) -> &HashSet { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn get_groups_mut(&mut self) -> &mut HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn has_group(&self, group: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn add_group(&mut self, group: String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn del_group(&mut self, group: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn set_groups(&mut self, groups: HashSet) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn get_tokens(&self) -> &HashSet { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn add_token(&mut self, token: String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn del_token(&mut self, token: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn set_tokens(&mut self, tokens: HashSet) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn has_token(&self, token: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn get_display_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn set_display_name(&mut self, display_name: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_credential`, `get_credential`, and `clear_credential` are never used [INFO] [stdout] --> src/client/user_info.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 116 | impl UserInfoExtended { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 117 | pub fn set_credential(&mut self, credential: Credential) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn get_credential(&self) -> &Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn clear_credential(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/client/user_info.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 136 | impl Credential { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 137 | pub fn new(username: String, password: Option) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserVersion` is never constructed [INFO] [stdout] --> src/client/user_version.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct UserVersion { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionStates` is never constructed [INFO] [stdout] --> src/client/session_states.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct SessionStates { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IPMaskType` is never used [INFO] [stdout] --> src/client/group.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | enum IPMaskType<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenMatchType` is never used [INFO] [stdout] --> src/client/group.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | enum TokenMatchType<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MatchType` is never used [INFO] [stdout] --> src/client/group.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | enum MatchType<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientMembershipQuery` is never constructed [INFO] [stdout] --> src/client/group.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct ClientMembershipQuery<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_member_in_group` is never used [INFO] [stdout] --> src/client/group.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn is_member_in_group( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate_group_string_match_type` is never used [INFO] [stdout] --> src/client/group.rs:123:4 [INFO] [stdout] | [INFO] [stdout] 123 | fn evaluate_group_string_match_type<'a>(group: &'a str) -> (Option>, bool, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientGlobalState` is never constructed [INFO] [stdout] --> src/client/client_global_state.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ClientGlobalState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/client/client_global_state.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ClientGlobalState { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn set_current_channel_id(&mut self, channel_id: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get_current_channel_id(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn get_listening_channel_id(&self) -> &HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn listen_channel(&mut self, channel_id: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn unlisten_channel(&mut self, channel_id: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn is_listening_channel(&self, channel_id: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn get_protocol_version(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn set_protocol_version(&mut self, version: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn get_release(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn set_release(&mut self, release: Option) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn get_os_name(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn set_os(&mut self, os: Option) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn get_os_version(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn set_os_version(&mut self, os_version: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsyncMessageHandlerExt` is never used [INFO] [stdout] --> src/client/handlers/mod.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | pub trait AsyncMessageHandlerExt { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_acl` is never used [INFO] [stdout] --> src/client/handlers/acl.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn handle_acl(message: Acl) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_authenticate` is never used [INFO] [stdout] --> src/client/handlers/authenticate.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn handle_authenticate( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_channel_remove` is never used [INFO] [stdout] --> src/client/handlers/channel_remove.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn handle_channel_remove( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_channel_state` is never used [INFO] [stdout] --> src/client/handlers/channel_state.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn handle_channel_state( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_crypt_setup` is never used [INFO] [stdout] --> src/client/handlers/crypt_setup.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn handle_crypt_setup( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_permission_query` is never used [INFO] [stdout] --> src/client/handlers/permission_query.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn handle_permission_query( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_ping` is never used [INFO] [stdout] --> src/client/handlers/ping.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | pub async fn handle_ping( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_user_state` is never used [INFO] [stdout] --> src/client/handlers/user_state.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn handle_user_state( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_version` is never used [INFO] [stdout] --> src/client/handlers/version.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn handle_version( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientLocalState` is never constructed [INFO] [stdout] --> src/client/client_local_state.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ClientLocalState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `is_authenticated` are never used [INFO] [stdout] --> src/client/client_local_state.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl ClientLocalState { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 13 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn is_authenticated(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DECRYPT_HISTORY_SIZE` is never used [INFO] [stdout] --> src/client/crypt/crypt_state.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const DECRYPT_HISTORY_SIZE: usize = 0x100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CryptState` is never constructed [INFO] [stdout] --> src/client/crypt/crypt_state.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct CryptState { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `supported_modes`, `generate`, `from_key`, `update_from_ping_message`, and `create_ping_response` are never used [INFO] [stdout] --> src/client/crypt/crypt_state.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl CryptState { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 31 | pub fn supported_modes() -> &'static [&'static str] { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn generate(mode: &str, rng: &dyn SecureRandom) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn from_key( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn update_from_ping_message(&mut self, ping_message: &Ping) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn create_ping_response(&self, ping_message: &Ping) -> Ping { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `CryptoMode` is never used [INFO] [stdout] --> src/client/crypt/crypto_mode.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub trait CryptoMode: Send + Sync { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLOCK_SIZE` is never used [INFO] [stdout] --> src/client/crypt/ocb2.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const BLOCK_SIZE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ocb2` is never constructed [INFO] [stdout] --> src/client/crypt/ocb2.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Ocb2 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `from_key` and `new` are never used [INFO] [stdout] --> src/client/crypt/ocb2.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Ocb2 { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 13 | pub fn from_key(key: [u8; BLOCK_SIZE]) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn new(rng: &dyn SecureRandom) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `consttime_eq` is never used [INFO] [stdout] --> src/client/crypt/ocb2.rs:208:4 [INFO] [stdout] | [INFO] [stdout] 208 | fn consttime_eq(a: &[u8], b: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `xor` is never used [INFO] [stdout] --> src/client/crypt/ocb2.rs:219:4 [INFO] [stdout] | [INFO] [stdout] 219 | fn xor(d: &mut [u8], s: &[u8]) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `xor_into` is never used [INFO] [stdout] --> src/client/crypt/ocb2.rs:223:4 [INFO] [stdout] | [INFO] [stdout] 223 | fn xor_into(dst: &mut [u8], a: &[u8], b: &[u8]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `times2` is never used [INFO] [stdout] --> src/client/crypt/ocb2.rs:261:4 [INFO] [stdout] | [INFO] [stdout] 261 | fn times2(d: &mut [u8]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `times3` is never used [INFO] [stdout] --> src/client/crypt/ocb2.rs:274:4 [INFO] [stdout] | [INFO] [stdout] 274 | fn times3(d: &mut [u8]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CryptError` is never used [INFO] [stdout] --> src/client/crypt/errors.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | pub enum CryptError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientRepository` is never constructed [INFO] [stdout] --> src/client_repository.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct ClientRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `allocate_local_client`, `add_remote_client`, `remove_client`, `clear_clients_from_node`, and `get_client` are never used [INFO] [stdout] --> src/client_repository.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl ClientRepository { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 31 | pub fn new(local_node_id: u16) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub async fn allocate_local_client( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub async fn add_remote_client(&self, id: ClientSessionIdentifier, client: Arc>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub async fn remove_client(&self, id: ClientSessionIdentifier) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub async fn clear_clients_from_node(&self, node_id: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub async fn get_client(&self, id: ClientSessionIdentifier) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodecInfo` is never constructed [INFO] [stdout] --> src/codec_info.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct CodecInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/config.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 8 | pub node_id: u16, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 9 | pub listen: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 10 | pub opus_threshold: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub register_name: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub cert_path: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | pub key_path: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 14 | pub send_version: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 15 | pub send_build_info: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | pub send_os_info: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 17 | pub allowed_proxies: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Config` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MTU` is never used [INFO] [stdout] --> src/constants.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const MTU: usize = 1600; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `APP_NAME_FROM_ENV` is never used [INFO] [stdout] --> src/constants.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const APP_NAME_FROM_ENV: Option<&str> = option_env!("APP_NAME"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `APP_VERSION_FROM_ENV` is never used [INFO] [stdout] --> src/constants.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const APP_VERSION_FROM_ENV: Option<&str> = option_env!("APP_VERSION"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `APP_PROTO_VER` is never used [INFO] [stdout] --> src/constants.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const APP_PROTO_VER: ProtocolVersion = ProtocolVersion { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BUILD_DATE` is never used [INFO] [stdout] --> src/constants.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const BUILD_DATE: &str = env!("BUILD_DATE"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COMMIT_HASH` is never used [INFO] [stdout] --> src/constants.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const COMMIT_HASH: &str = env!("COMMIT_HASH"); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COMMIT_DATE` is never used [INFO] [stdout] --> src/constants.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub const COMMIT_DATE: &str = env!("COMMIT_DATE"); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `app_name` is never used [INFO] [stdout] --> src/constants.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn app_name() -> &'static str { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `app_version` is never used [INFO] [stdout] --> src/constants.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn app_version() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `release` is never used [INFO] [stdout] --> src/constants.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn release() -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Config` is never constructed [INFO] [stdout] --> src/geoip.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Message` is never used [INFO] [stdout] --> src/messages/message.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum Message { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ReadMessageExt` is never used [INFO] [stdout] --> src/messages/message_reader.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait ReadMessageExt { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `WriteMessageExt` is never used [INFO] [stdout] --> src/messages/message_writer.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub trait WriteMessageExt { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MessageProtocolError` is never used [INFO] [stdout] --> src/messages/errors/mod.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum MessageProtocolError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PingProtocolError` is never used [INFO] [stdout] --> src/messages/errors/ping.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum PingProtocolError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UserStateProtocolError` is never used [INFO] [stdout] --> src/messages/errors/user_state.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum UserStateProtocolError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Version` is never constructed [INFO] [stdout] --> src/messages/encoder/version.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Version { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `for_server` is never used [INFO] [stdout] --> src/messages/encoder/version.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl Version { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 28 | pub fn for_server(send_version: bool, send_build_info: bool, send_os_info: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ping` is never constructed [INFO] [stdout] --> src/messages/encoder/ping.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Ping { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `default_from_timestamp`, `default_from_self`, and `default_from_message` are never used [INFO] [stdout] --> src/messages/encoder/ping.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Ping { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 40 | pub fn default_from_timestamp(timestamp: u64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn default_from_self(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn default_from_message(message: &crate::mumble_proto::Ping) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ClientType` is never used [INFO] [stdout] --> src/messages/encoder/authenticate.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ClientType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Authenticate` is never constructed [INFO] [stdout] --> src/messages/encoder/authenticate.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct Authenticate { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CryptSetup` is never constructed [INFO] [stdout] --> src/messages/encoder/crypt_setup.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct CryptSetup { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_client_request_resync` is never used [INFO] [stdout] --> src/messages/encoder/crypt_setup.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl CryptSetup { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 21 | pub fn is_client_request_resync(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VolumeAdjustment` is never constructed [INFO] [stdout] --> src/messages/encoder/user_state.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct VolumeAdjustment { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserState` is never constructed [INFO] [stdout] --> src/messages/encoder/user_state.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct UserState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Server` is never constructed [INFO] [stdout] --> src/server.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct Server { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `run`, `handle_incoming_connection`, `reload`, `get_authenticator`, and `get_clients` are never used [INFO] [stdout] --> src/server.rs:46:18 [INFO] [stdout] | [INFO] [stdout] 45 | impl Server { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 46 | pub async fn new(config: Config, authenticator: A) -> Result>, Box> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub async fn run(self: &Arc>) -> Result<(), Box> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub async fn handle_incoming_connection( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub async fn reload(&mut self) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn get_authenticator(&self) -> &dyn Authenticator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn get_clients(&self) -> &ClientRepository { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `CryptoProvider` is never used [INFO] [stdout] --> src/voice_crypto/mod.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait CryptoProvider : Send + Sync { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientCertificateVerifier` is never constructed [INFO] [stdout] --> src/client_certificate_verifier.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ClientCertificateVerifier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/client_certificate_verifier.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl ClientCertificateVerifier { [INFO] [stdout] | ------------------------------ associated function in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_v1_addresses_to_ipaddr` is never used [INFO] [stdout] --> src/proxy_protocol.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn convert_v1_addresses_to_ipaddr(addresses: ppp::v1::Addresses) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_v2_addresses_to_ipaddr` is never used [INFO] [stdout] --> src/proxy_protocol.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn convert_v2_addresses_to_ipaddr(addresses: ppp::v2::Addresses) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GetProxyProtocolRealIpError` is never used [INFO] [stdout] --> src/proxy_protocol.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum GetProxyProtocolRealIpError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_proxy_protocol_real_ip` is never used [INFO] [stdout] --> src/proxy_protocol.rs:53:14 [INFO] [stdout] | [INFO] [stdout] 53 | pub async fn get_proxy_protocol_real_ip( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProxyProtocolHeaderTooLargeError` is never constructed [INFO] [stdout] --> src/errors/proxy_protocol_header_too_large.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct ProxyProtocolHeaderTooLargeError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/errors/proxy_protocol_header_too_large.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl ProxyProtocolHeaderTooLargeError { [INFO] [stdout] | ------------------------------------- associated function in this implementation [INFO] [stdout] 16 | pub fn new(expected_size: usize, actual_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MessageLengthExceededError` is never constructed [INFO] [stdout] --> src/errors/message_length_exceeded.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct MessageLengthExceededError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/errors/message_length_exceeded.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl MessageLengthExceededError { [INFO] [stdout] | ------------------------------- associated function in this implementation [INFO] [stdout] 8 | pub fn new(expected_size: usize, actual_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnknownMessageTypeError` is never constructed [INFO] [stdout] --> src/errors/unknown_message_type.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct UnknownMessageTypeError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/errors/unknown_message_type.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl UnknownMessageTypeError { [INFO] [stdout] | ---------------------------- associated function in this implementation [INFO] [stdout] 15 | pub fn new(message_type: u16) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ReadProtoMessageError` is never used [INFO] [stdout] --> src/errors/read_proto_message_error.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ReadProtoMessageError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `WriteProtoMessageError` is never used [INFO] [stdout] --> src/errors/write_proto_message_error.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum WriteProtoMessageError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FromProtoToMessageError` is never used [INFO] [stdout] --> src/errors/from_proto_to_message_error.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum FromProtoToMessageError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `HandleIncomingConnectionError` is never used [INFO] [stdout] --> src/errors/handle_incoming_connection_error.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum HandleIncomingConnectionError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AuthRejection` is never constructed [INFO] [stdout] --> src/errors/auth_rejection.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct AuthRejection { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `because`, and `reason` are never used [INFO] [stdout] --> src/errors/auth_rejection.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl AuthRejection { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 10 | pub fn new(rejection_type: RejectType) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn because(mut self, reason: String) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn reason(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MessageHandlerError` is never used [INFO] [stdout] --> src/errors/message_handler_error.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum MessageHandlerError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MessageTypeNotForIncoming` is never constructed [INFO] [stdout] --> src/errors/message_type_not_for_incoming.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct MessageTypeNotForIncoming { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/errors/message_type_not_for_incoming.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl MessageTypeNotForIncoming { [INFO] [stdout] | ------------------------------ associated function in this implementation [INFO] [stdout] 17 | pub fn new(message: Message) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AuthenticationRejection` is never used [INFO] [stdout] --> src/api/authenticator.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum AuthenticationRejection { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AuthenticateResult` is never constructed [INFO] [stdout] --> src/api/authenticator.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct AuthenticateResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AuthenticateAuxiliaryData` is never constructed [INFO] [stdout] --> src/api/authenticator.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct AuthenticateAuxiliaryData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Authenticator` is never used [INFO] [stdout] --> src/api/authenticator.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | pub trait Authenticator: Send + Sync + 'static { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UdpTunnel` is never constructed [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_proto.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct UdpTunnel { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChannelRemove` is never constructed [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_proto.rs:196:12 [INFO] [stdout] | [INFO] [stdout] 196 | pub struct ChannelRemove { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `QueryUsers` is never constructed [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_proto.rs:611:12 [INFO] [stdout] | [INFO] [stdout] 611 | pub struct QueryUsers { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserList` is never constructed [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_proto.rs:751:12 [INFO] [stdout] | [INFO] [stdout] 751 | pub struct UserList { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RequestBlob` is never constructed [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_proto.rs:942:12 [INFO] [stdout] | [INFO] [stdout] 942 | pub struct RequestBlob { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Audio` is never constructed [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_udp.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Audio { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ping` is never constructed [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_udp.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct Ping { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Header` is never used [INFO] [stdout] --> /opt/rustwide/target/debug/build/shitspeak-rs-f6cf63e7dead76cb/out/mumble_udp.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | pub enum Header { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 09s [INFO] running `Command { std: "docker" "inspect" "c598301b863d7872ca7c220a9aa0084047cd3c473eaf85bec35bca9d840bac39", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c598301b863d7872ca7c220a9aa0084047cd3c473eaf85bec35bca9d840bac39", kill_on_drop: false }` [INFO] [stdout] c598301b863d7872ca7c220a9aa0084047cd3c473eaf85bec35bca9d840bac39