[INFO] cloning repository https://github.com/lukitaz-r/rustlink [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lukitaz-r/rustlink" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flukitaz-r%2Frustlink", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flukitaz-r%2Frustlink'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7175f6c309c59913fe47b4f778efd292fafa60f6 [INFO] testing lukitaz-r/rustlink against 1.97.0-beta.6 for beta-1.98-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flukitaz-r%2Frustlink" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/lukitaz-r/rustlink [INFO] finished tweaking git repo https://github.com/lukitaz-r/rustlink [INFO] tweaked toml for git repo https://github.com/lukitaz-r/rustlink written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/lukitaz-r/rustlink on toolchain 1.97.0-beta.6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/lukitaz-r/rustlink 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" "+1.97.0-beta.6" "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 utf-8 v0.7.6 [INFO] [stderr] Downloaded tungstenite v0.21.0 [INFO] [stderr] Downloaded proc-macro2 v1.0.104 [INFO] [stderr] Downloaded alloc-stdlib v0.2.2 [INFO] [stderr] Downloaded tokio-tungstenite v0.21.0 [INFO] [stderr] Downloaded compression-core v0.4.31 [INFO] [stderr] Downloaded compression-codecs v0.4.35 [INFO] [stderr] Downloaded zmij v1.0.3 [INFO] [stderr] Downloaded tempfile v3.24.0 [INFO] [stderr] Downloaded axum-core v0.5.6 [INFO] [stderr] Downloaded simdutf8 v0.1.5 [INFO] [stderr] Downloaded serde_path_to_error v0.1.20 [INFO] [stderr] Downloaded async-trait v0.1.89 [INFO] [stderr] Downloaded data-encoding v2.9.0 [INFO] [stderr] Downloaded fastwebsockets v0.6.0 [INFO] [stderr] Downloaded flate2 v1.1.5 [INFO] [stderr] Downloaded zerocopy-derive v0.8.31 [INFO] [stderr] Downloaded async-compression v0.4.36 [INFO] [stderr] Downloaded indexmap v2.12.1 [INFO] [stderr] Downloaded ntapi v0.4.2 [INFO] [stderr] Downloaded sysinfo v0.26.9 [INFO] [stderr] Downloaded serde_json v1.0.148 [INFO] [stderr] Downloaded brotli-decompressor v5.0.0 [INFO] [stderr] Downloaded axum v0.8.8 [INFO] [stderr] Downloaded webpki-roots v1.0.4 [INFO] [stderr] Downloaded zerocopy v0.8.31 [INFO] [stderr] Downloaded rustix v1.1.3 [INFO] [stderr] Downloaded brotli v8.0.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 6a670e17dd7c987b752a607a2b6e7e1f13caf5ab56411d51403ff740d309c87c [INFO] running `Command { std: "docker" "start" "6a670e17dd7c987b752a607a2b6e7e1f13caf5ab56411d51403ff740d309c87c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6a670e17dd7c987b752a607a2b6e7e1f13caf5ab56411d51403ff740d309c87c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6a670e17dd7c987b752a607a2b6e7e1f13caf5ab56411d51403ff740d309c87c" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6a670e17dd7c987b752a607a2b6e7e1f13caf5ab56411d51403ff740d309c87c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6a670e17dd7c987b752a607a2b6e7e1f13caf5ab56411d51403ff740d309c87c" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.104 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Compiling libc v0.2.178 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling bytes v1.11.0 [INFO] [stderr] Compiling find-msvc-tools v0.1.6 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling slab v0.4.11 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling cc v1.2.51 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling zerocopy v0.8.31 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling alloc-no-stdlib v2.0.4 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling alloc-stdlib v0.2.2 [INFO] [stderr] Compiling rustls-pki-types v1.13.2 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling brotli-decompressor v5.0.0 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling indexmap v2.12.1 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling rustls v0.23.35 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling zmij v1.0.3 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling ipnet v2.11.0 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling serde_json v1.0.148 [INFO] [stderr] Compiling compression-core v0.4.31 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling flate2 v1.1.5 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling ryu v1.0.22 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling webpki-roots v1.0.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling data-encoding v2.9.0 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling brotli v8.0.2 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling iana-time-zone v0.1.64 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling simdutf8 v0.1.5 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling sysinfo v0.26.9 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling compression-codecs v0.4.35 [INFO] [stderr] Compiling rustls-webpki v0.103.8 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling tungstenite v0.21.0 [INFO] [stderr] Compiling tokio-util v0.7.17 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling async-compression v0.4.36 [INFO] [stderr] Compiling fastwebsockets v0.6.0 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling tokio-tungstenite v0.21.0 [INFO] [stderr] Compiling h2 v0.4.12 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.19 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling rustlink v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `decode_track` [INFO] [stdout] --> src/api/players.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::utils::{decode_track, send_response}; [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: `crate::managers::player_manager::PlayerManager` [INFO] [stdout] --> src/api/players.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::managers::player_manager::PlayerManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/api/players.rs:6:22 [INFO] [stdout] | [INFO] [stdout] 6 | extract::{State, Path}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Utc` [INFO] [stdout] --> src/api/sessions.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use chrono::Utc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/managers/connection_manager.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::time::interval` [INFO] [stdout] --> src/managers/connection_manager.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::time::interval; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::stats::RustlinkMock` [INFO] [stdout] --> src/managers/connection_manager.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::types::stats::RustlinkMock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/managers/rate_limit_manager.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::PI` [INFO] [stdout] --> src/playback/filters/chorus.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::f32::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::stats::RustlinkMock` [INFO] [stdout] --> src/playback/player.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::types::stats::RustlinkMock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `json` [INFO] [stdout] --> src/sources/youtube/common.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use serde_json::{json, Value}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `logger` [INFO] [stdout] --> src/sources/youtube/common.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::utils::{encode_track, logger}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `logger` [INFO] [stdout] --> src/sources/youtube/clients/android.rs:2:34 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::utils::{make_request, logger}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `YoutubeUrlType` and `check_url_type` [INFO] [stdout] --> src/sources/youtube/clients/android.rs:4:52 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::sources::youtube::common::{build_track, check_url_type, YoutubeUrlType}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::logger` [INFO] [stdout] --> src/sources/youtube/clients/android_vr.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::utils::logger; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `logger` and `make_request` [INFO] [stdout] --> src/sources/youtube/youtube.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::{make_request, logger}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RequestOptions` [INFO] [stdout] --> src/sources/youtube/youtube.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::types::http::{RequestOptions, NodelinkMock}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Value` and `json` [INFO] [stdout] --> src/sources/youtube/cipher_manager.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use serde_json::{json, Value}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `logger` and `make_request` [INFO] [stdout] --> src/sources/youtube/cipher_manager.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::utils::{make_request, logger}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RequestOptions` [INFO] [stdout] --> src/sources/youtube/cipher_manager.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::types::http::{RequestOptions, NodelinkMock}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Value` and `json` [INFO] [stdout] --> src/sources/youtube/oauth.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use serde_json::{json, Value}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `logger` and `make_request` [INFO] [stdout] --> src/sources/youtube/oauth.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::utils::{make_request, logger}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RequestOptions` [INFO] [stdout] --> src/sources/youtube/oauth.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::types::http::{RequestOptions, NodelinkMock}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `client::*` [INFO] [stdout] --> src/types/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use client::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http::*` [INFO] [stdout] --> src/types/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use http::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `logger::*` [INFO] [stdout] --> src/types/mod.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub use logger::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stats::*` [INFO] [stdout] --> src/types/mod.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub use stats::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tracks::*` [INFO] [stdout] --> src/types/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub use tracks::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `versions::*` [INFO] [stdout] --> src/types/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use versions::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `json` [INFO] [stdout] --> src/utils/makeRequest.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use serde_json::{json, Value}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StatusCode` [INFO] [stdout] --> src/utils/makeRequest.rs:6:34 [INFO] [stdout] | [INFO] [stdout] 6 | use reqwest::{header::*, Method, StatusCode, Client}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `check_for_updates::check_for_updates` [INFO] [stdout] --> src/utils/mod.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | pub use check_for_updates::check_for_updates; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `generate_random_letters::generate_random_letters` [INFO] [stdout] --> src/utils/mod.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | pub use generate_random_letters::generate_random_letters; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http1_make_request::http1_make_request` [INFO] [stdout] --> src/utils/mod.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | pub use http1_make_request::http1_make_request; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `internal_logger::init_logger` [INFO] [stdout] --> src/utils/mod.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | pub use internal_logger::init_logger; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `load_hls::load_hls` [INFO] [stdout] --> src/utils/mod.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | pub use load_hls::load_hls; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `load_hls_playlist::load_hls_playlist` [INFO] [stdout] --> src/utils/mod.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | pub use load_hls_playlist::load_hls_playlist; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse_client::parse_client` [INFO] [stdout] --> src/utils/mod.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | pub use parse_client::parse_client; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse_semver::parse_semver` [INFO] [stdout] --> src/utils/mod.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | pub use parse_semver::parse_semver; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `send_error_response::send_error_response` [INFO] [stdout] --> src/utils/mod.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | pub use send_error_response::send_error_response; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `validate_property::validate_property` [INFO] [stdout] --> src/utils/mod.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | pub use validate_property::validate_property; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `verify_discord_id::verify_discord_id` [INFO] [stdout] --> src/utils/mod.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | pub use verify_discord_id::verify_discord_id; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `verify_method::verify_method` [INFO] [stdout] --> src/utils/mod.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub use verify_method::verify_method; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `version::VersionResult` [INFO] [stdout] --> src/utils/mod.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | pub use version::VersionResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session` [INFO] [stdout] --> src/api/sessions.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 28 | if let Some(session) = rustlink_write.sessions.get_mut(&session_id) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_time` [INFO] [stdout] --> src/managers/connection_manager.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | let start_time = Instant::now(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/playback/filters/chorus.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let mut lfos = [ [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/playback/filters/phaser.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let mut left_lfo = Lfo::new(Waveform::Sine, 0.0, 1.0); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/playback/filters/phaser.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | let mut right_lfo = Lfo::new(Waveform::Sine, 0.0, 1.0); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sources/youtube/common.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let mut title = String::from("Unknown Title"); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sources/youtube/common.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | let mut author = String::from("Unknown Author"); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sources/youtube/common.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | let mut length_ms = 0; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sources/youtube/common.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let mut is_stream = true; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sources/youtube/common.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | let mut artwork_url = None; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `full_api_response` [INFO] [stdout] --> src/sources/youtube/common.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | full_api_response: Option<&Value>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_api_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `uri` is never read [INFO] [stdout] --> src/sources/youtube/common.rs:48:19 [INFO] [stdout] | [INFO] [stdout] 48 | let mut uri = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 78 | uri = if is_yt_music { format!("https://music.youtube.com/watch?v={}", vid) } else { format!("https://www.youtube.com/watch?v={}... [INFO] [stdout] | --- `uri` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/utils/getStats.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut frame_stats = if players > 0 { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_FILE_URL` is never used [INFO] [stdout] --> src/managers/connection_manager.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const TEST_FILE_URL: &str = "http://cachefly.cachefly.net/10mb.test"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `status`, `metrics`, and `is_checking` are never read [INFO] [stdout] --> src/managers/connection_manager.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ConnectionManager { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | status: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 14 | metrics: serde_json::Value, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | is_checking: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `check_connection` is never used [INFO] [stdout] --> src/managers/connection_manager.rs:36:18 [INFO] [stdout] | [INFO] [stdout] 18 | impl ConnectionManager { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | pub async fn check_connection(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IpData` is never constructed [INFO] [stdout] --> src/managers/dos_protection_manager.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct IpData { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DosProtectionManager` is never constructed [INFO] [stdout] --> src/managers/dos_protection_manager.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct DosProtectionManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `check` are never used [INFO] [stdout] --> src/managers/dos_protection_manager.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl DosProtectionManager { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn check(&mut self, remote_address: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `lyrics_sources` is never read [INFO] [stdout] --> src/managers/lyrics_manager.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct LyricsManager { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 7 | lyrics_sources: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `session_id` is never read [INFO] [stdout] --> src/managers/player_manager.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct PlayerManager { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 7 | sender: mpsc::Sender, [INFO] [stdout] 8 | session_id: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/managers/player_manager.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl PlayerManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 12 | pub fn new(sender: mpsc::Sender, session_id: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub async fn create(&self, guild_id: String, user_id: String, voice: Option) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub async fn play(&self, guild_id: String, track_payload: Value) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub async fn stop(&self, guild_id: String) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub async fn pause(&self, guild_id: String, should_pause: bool) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub async fn seek(&self, guild_id: String, position: i64) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub async fn set_volume(&self, guild_id: String, level: u64) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub async fn set_voice(&self, guild_id: String, session_id: String, token: String, endpoint: String) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RateLimitEntry` is never constructed [INFO] [stdout] --> src/managers/rate_limit_manager.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct RateLimitEntry { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RateLimitManager` is never constructed [INFO] [stdout] --> src/managers/rate_limit_manager.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct RateLimitManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `check` are never used [INFO] [stdout] --> src/managers/rate_limit_manager.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl RateLimitManager { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 14 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn check(&mut self, _identifier: &str) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `ip_blocks` and `banned_ips` are never read [INFO] [stdout] --> src/managers/route_planner_manager.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct RoutePlannerManager { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 4 | ip_blocks: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 5 | banned_ips: HashMap, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_ip`, `ban_ip`, and `free_ip` are never used [INFO] [stdout] --> src/managers/route_planner_manager.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl RoutePlannerManager { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn get_ip(&self) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn ban_ip(&mut self, ip: String) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn free_ip(&mut self, ip: &str) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `user_id`, and `client_info` are never read [INFO] [stdout] --> src/managers/session_manager.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Session { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 9 | pub id: String, [INFO] [stdout] | ^^ [INFO] [stdout] 10 | pub user_id: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 11 | pub client_info: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `audio_engine_sender` is never read [INFO] [stdout] --> src/managers/session_manager.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct SessionManager { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 16 | pub sessions: HashMap, [INFO] [stdout] 17 | audio_engine_sender: mpsc::Sender, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `create` and `delete` are never used [INFO] [stdout] --> src/managers/session_manager.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl SessionManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn create(&mut self, _request: &Value, _client_info: Option) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn delete(&mut self, session_id: &str) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `stats` is never read [INFO] [stdout] --> src/managers/stats_manager.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct StatsManager { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 6 | stats: Arc>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StatsManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_snapshot` is never used [INFO] [stdout] --> src/managers/stats_manager.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl StatsManager { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn get_snapshot(&self) -> serde_json::Value { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x1`, `y1`, and `a` are never read [INFO] [stdout] --> src/playback/filters/dsp/allpass.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct Allpass { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 2 | x1: f32, [INFO] [stdout] | ^^ [INFO] [stdout] 3 | y1: f32, [INFO] [stdout] | ^^ [INFO] [stdout] 4 | a: f32, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_coefficient` and `process` are never used [INFO] [stdout] --> src/playback/filters/dsp/allpass.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Allpass { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn set_coefficient(&mut self, a: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn process(&mut self, sample: f32) -> f32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clamp_16_bit` is never used [INFO] [stdout] --> src/playback/filters/dsp/clamp_16_bit.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn clamp_16_bit(sample: f32) -> i16 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `buffer`, `size`, and `write_index` are never read [INFO] [stdout] --> src/playback/filters/dsp/delay.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct DelayLine { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 2 | buffer: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 3 | size: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 4 | write_index: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `write`, `read`, and `clear` are never used [INFO] [stdout] --> src/playback/filters/dsp/delay.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl DelayLine { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn write(&mut self, sample: i16) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn read(&self, delay_in_samples: f32) -> i16 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SAMPLE_RATE` is never used [INFO] [stdout] --> src/playback/filters/dsp/lfo.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const SAMPLE_RATE: f32 = 48000.0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `phase` and `waveform` are never read [INFO] [stdout] --> src/playback/filters/dsp/lfo.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Lfo { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 7 | phase: f32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | waveform: Waveform, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_waveform`, `get_value`, and `process` are never used [INFO] [stdout] --> src/playback/filters/dsp/lfo.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Lfo { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn set_waveform(&mut self, waveform: Waveform) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn get_value(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn process(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Square`, `Sawtooth`, and `Triangle` are never constructed [INFO] [stdout] --> src/playback/filters/dsp/waves.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Waveform { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 7 | Square, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | Sawtooth, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 9 | Triangle, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Waveform` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `apply` is never used [INFO] [stdout] --> src/playback/filters/dsp/waves.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Waveform { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 13 | pub fn apply(&self, phase: f32) -> f32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/channel_mix.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct ChannelMix { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 4 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/channel_mix.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl ChannelMix { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn process(&self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `priority` and `delays` are never read [INFO] [stdout] --> src/playback/filters/chorus.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Chorus { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 11 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 12 | lfos: [Lfo; 4], [INFO] [stdout] 13 | delays: Vec, // Using Vec because DelayLine size is dynamic or unknown at compile time? No, but to store multiple. [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/chorus.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Chorus { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `linear_to_db` is never used [INFO] [stdout] --> src/playback/filters/compressor.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn linear_to_db(linear: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `priority` and `envelope` are never read [INFO] [stdout] --> src/playback/filters/compressor.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Compressor { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 17 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | envelope: f32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/compressor.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Compressor { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_INT_16` is never used [INFO] [stdout] --> src/playback/filters/distortion.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const MAX_INT_16: f32 = 32767.0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/distortion.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Distortion { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 7 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/distortion.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Distortion { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn process(&self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `priority`, `left_delay`, and `right_delay` are never read [INFO] [stdout] --> src/playback/filters/echo.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Echo { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 8 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | left_delay: DelayLine, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 14 | right_delay: DelayLine, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/echo.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Echo { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/playback/filters/equalizer.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | struct FilterState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 15 | xl1: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 16 | xl2: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 17 | yl1: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 18 | yl2: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 19 | xr1: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 20 | xr2: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 21 | yr1: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | yr2: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FilterState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `b0`, `b1`, `b2`, `a1`, and `a2` are never read [INFO] [stdout] --> src/playback/filters/equalizer.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | struct FilterCoefficients { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 27 | b0: f32, [INFO] [stdout] | ^^ [INFO] [stdout] 28 | b1: f32, [INFO] [stdout] | ^^ [INFO] [stdout] 29 | b2: f32, [INFO] [stdout] | ^^ [INFO] [stdout] 30 | a1: f32, [INFO] [stdout] | ^^ [INFO] [stdout] 31 | a2: f32, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `FilterCoefficients` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/equalizer.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct Equalizer { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 35 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/equalizer.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Equalizer { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/highpass.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Highpass { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 4 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/highpass.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Highpass { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/karaoke.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Karaoke { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 6 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/karaoke.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl Karaoke { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/lowpass.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Lowpass { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 4 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/lowpass.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Lowpass { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `priority`, `left_filters`, `right_filters`, `last_left_feedback`, and `last_right_feedback` are never read [INFO] [stdout] --> src/playback/filters/phaser.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Phaser { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 11 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | left_filters: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 22 | right_filters: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 23 | last_left_feedback: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | last_right_feedback: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/phaser.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl Phaser { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/rotation.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Rotation { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 6 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/rotation.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Rotation { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cubic_interpolate` is never used [INFO] [stdout] --> src/playback/filters/timescale.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn cubic_interpolate(p0: f32, p1: f32, p2: f32, p3: f32, t: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `priority` and `input_buffer` are never read [INFO] [stdout] --> src/playback/filters/timescale.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Timescale { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 14 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | input_buffer: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/timescale.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl Timescale { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn process(&mut self, chunk: &[i16]) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/tremolo.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Tremolo { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 6 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/tremolo.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Tremolo { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `priority`, `left_delay`, and `right_delay` are never read [INFO] [stdout] --> src/playback/filters/vibrato.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Vibrato { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 10 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | lfo: Lfo, [INFO] [stdout] 12 | left_delay: DelayLine, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 13 | right_delay: DelayLine, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/vibrato.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Vibrato { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters_manager.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl FiltersManager { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn process(&mut self, chunk: &[i16]) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `filters_manager` is never read [INFO] [stdout] --> src/playback/player.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Player { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | filters_manager: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stats_manager` and `route_planner` are never read [INFO] [stdout] --> src/playback/audio_engine.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct AudioEngine { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 14 | players: HashMap, [INFO] [stdout] 15 | stats_manager: StatsManager, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | route_planner: RoutePlannerManager, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `YoutubeUrlType` is never used [INFO] [stdout] --> src/sources/youtube/common.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum YoutubeUrlType { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_url_type` is never used [INFO] [stdout] --> src/sources/youtube/common.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn check_url_type(url: &str, is_yt_music: bool) -> YoutubeUrlType { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_client_context` and `search` are never used [INFO] [stdout] --> src/sources/youtube/clients/android_vr.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl AndroidVRClient { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 10 | pub fn get_client_context(&self, hl: &str, gl: &str, visitor_data: Option<&str>) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub async fn search(&self, _query: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_client_context` and `search` are never used [INFO] [stdout] --> src/sources/youtube/clients/ios.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl IosClient { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 9 | pub fn get_client_context(&self, hl: &str, gl: &str, visitor_data: Option<&str>) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub async fn search(&self, _query: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_client_context` and `search` are never used [INFO] [stdout] --> src/sources/youtube/clients/music.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl MusicClient { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 9 | pub fn get_client_context(&self, hl: &str, gl: &str) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub async fn search(&self, _query: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_client_context` and `resolve` are never used [INFO] [stdout] --> src/sources/youtube/clients/tv.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl TvClient { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 9 | pub fn get_client_context(&self, hl: &str, gl: &str) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub async fn resolve(&self, _url: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_client_context` and `resolve` are never used [INFO] [stdout] --> src/sources/youtube/clients/tv_embedded.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl TvEmbeddedClient { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 9 | pub fn get_client_context(&self, hl: &str, gl: &str) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub async fn resolve(&self, _url: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_client_context` and `search` are never used [INFO] [stdout] --> src/sources/youtube/clients/web.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl WebClient { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 9 | pub fn get_client_context(&self, hl: &str, gl: &str) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub async fn search(&self, _query: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/sources/youtube/youtube.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct YoutubeSource { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 17 | cipher_manager: CipherManager, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 18 | oauth: OAuth, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 19 | android: AndroidClient, [INFO] [stdout] 20 | android_vr: AndroidVRClient, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 21 | ios: IosClient, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | music: MusicClient, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | tv: TvClient, [INFO] [stdout] | ^^ [INFO] [stdout] 24 | tv_embedded: TvEmbeddedClient, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 25 | web: WebClient, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `setup` is never used [INFO] [stdout] --> src/sources/youtube/youtube.rs:43:18 [INFO] [stdout] | [INFO] [stdout] 28 | impl YoutubeSource { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub async fn setup(&mut self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_timestamp` and `resolve_url` are never used [INFO] [stdout] --> src/sources/youtube/cipher_manager.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 9 | impl CipherManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 12 | pub async fn get_timestamp(&self, _player_url: &str, _nodelink: &NodelinkMock) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub async fn resolve_url(&self, stream_url: &str, _nodelink: &NodelinkMock) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `refresh_token` and `access_token` are never read [INFO] [stdout] --> src/sources/youtube/oauth.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct OAuth { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 6 | refresh_token: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 7 | access_token: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_access_token` is never used [INFO] [stdout] --> src/sources/youtube/oauth.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 10 | impl OAuth { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub async fn get_access_token(&mut self, _nodelink: &NodelinkMock) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeezerSource` is never constructed [INFO] [stdout] --> src/sources/deezer.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct DeezerSource; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BandcampSource` is never constructed [INFO] [stdout] --> src/sources/bandcamp.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct BandcampSource; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HttpSource` is never constructed [INFO] [stdout] --> src/sources/http.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct HttpSource; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LocalSource` is never constructed [INFO] [stdout] --> src/sources/local.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct LocalSource; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TwitchSource` is never constructed [INFO] [stdout] --> src/sources/twitch.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TwitchSource; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NicovideoSource` is never constructed [INFO] [stdout] --> src/sources/nicovideo.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct NicovideoSource; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RedditSource` is never constructed [INFO] [stdout] --> src/sources/reddit.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct RedditSource; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InstagramSource` is never constructed [INFO] [stdout] --> src/sources/instagram.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct InstagramSource; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KwaiSource` is never constructed [INFO] [stdout] --> src/sources/kwai.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct KwaiSource; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LastfmSource` is never constructed [INFO] [stdout] --> src/sources/lastfm.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct LastfmSource; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GoogleTtsSource` is never constructed [INFO] [stdout] --> src/sources/google_tts.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GoogleTtsSource; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TidalSource` is never constructed [INFO] [stdout] --> src/sources/tidal.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TidalSource; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientInfo` is never constructed [INFO] [stdout] --> src/types/client.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct ClientInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `status`, `headers`, and `raw_body` are never read [INFO] [stdout] --> src/types/http.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct ResponseResult { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 34 | pub status: StatusCode, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 35 | pub headers: HeaderMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 36 | pub body: Option, [INFO] [stdout] 37 | pub raw_body: Option>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileConfig` is never constructed [INFO] [stdout] --> src/types/logger.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct FileConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LoggingConfig` is never constructed [INFO] [stdout] --> src/types/logger.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct LoggingConfig { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Config` is never constructed [INFO] [stdout] --> src/types/logger.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `CreatePlayer`, `LoadTracks`, `LoadLyrics`, and `GetSources` are never constructed [INFO] [stdout] --> src/types/audio_engine.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum AudioEngineCommand { [INFO] [stdout] | ------------------ variants in this enum [INFO] [stdout] 6 | CreatePlayer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | LoadTracks { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | LoadLyrics { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | GetSources { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AudioEngineCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_file_logger` is never used [INFO] [stdout] --> src/utils/initLogger.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn init_file_logger(config: &LoggingConfig) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_logger` is never used [INFO] [stdout] --> src/utils/initLogger.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn init_logger(config: Config) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_property` is never used [INFO] [stdout] --> src/utils/validateProperty.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn validate_property(property: T, validator: F, error_message: &str) -> Result<(), String> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_for_updates` is never used [INFO] [stdout] --> src/utils/checkForUpdates.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | pub async fn check_for_updates() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `index` is never used [INFO] [stdout] --> src/utils/logger.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 17 | impl LogLevel { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | fn index(&self) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `SEMVER_REGEX` is never used [INFO] [stdout] --> src/utils/parseSemver.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | static SEMVER_REGEX: Lazy = Lazy::new(|| { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Semver` is never constructed [INFO] [stdout] --> src/utils/parseSemver.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Semver { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_semver` is never used [INFO] [stdout] --> src/utils/parseSemver.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn parse_semver(version: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_client` is never used [INFO] [stdout] --> src/utils/parseClient.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn parse_client(agent: Option<&str>) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_random_letters` is never used [INFO] [stdout] --> src/utils/generateRandomLetters.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn generate_random_letters(l: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DISCORD_ID_REGEX` is never used [INFO] [stdout] --> src/utils/verifyDiscordID.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | static DISCORD_ID_REGEX: Lazy = Lazy::new(|| Regex::new(r"^\d{18,19}$").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_discord_id` is never used [INFO] [stdout] --> src/utils/verifyDiscordID.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn verify_discord_id(id: impl ToString) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_method` is never used [INFO] [stdout] --> src/utils/verifyMethod.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn verify_method( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_error_response` is never used [INFO] [stdout] --> src/utils/sendErrorResponse.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn send_error_response( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_hls` is never used [INFO] [stdout] --> src/utils/loadHLS.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | pub async fn load_hls(url: &str, _stream: &mut Vec /* Mocked stream */, _once_ended: bool, _should_end: bool) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_hls_playlist` is never used [INFO] [stdout] --> src/utils/loadHLSPlaylist.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn load_hls_playlist(url: &str, stream: &mut Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 25s [INFO] running `Command { std: "docker" "inspect" "6a670e17dd7c987b752a607a2b6e7e1f13caf5ab56411d51403ff740d309c87c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6a670e17dd7c987b752a607a2b6e7e1f13caf5ab56411d51403ff740d309c87c" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling rustlink v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `decode_track` [INFO] [stdout] --> src/api/players.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::utils::{decode_track, send_response}; [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: `crate::managers::player_manager::PlayerManager` [INFO] [stdout] --> src/api/players.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::managers::player_manager::PlayerManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/api/players.rs:6:22 [INFO] [stdout] | [INFO] [stdout] 6 | extract::{State, Path}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Utc` [INFO] [stdout] --> src/api/sessions.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use chrono::Utc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/managers/connection_manager.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::time::interval` [INFO] [stdout] --> src/managers/connection_manager.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::time::interval; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::stats::RustlinkMock` [INFO] [stdout] --> src/managers/connection_manager.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::types::stats::RustlinkMock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/managers/rate_limit_manager.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::PI` [INFO] [stdout] --> src/playback/filters/chorus.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::f32::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::stats::RustlinkMock` [INFO] [stdout] --> src/playback/player.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::types::stats::RustlinkMock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `json` [INFO] [stdout] --> src/sources/youtube/common.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use serde_json::{json, Value}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `logger` [INFO] [stdout] --> src/sources/youtube/common.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::utils::{encode_track, logger}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `logger` [INFO] [stdout] --> src/sources/youtube/clients/android.rs:2:34 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::utils::{make_request, logger}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `YoutubeUrlType` and `check_url_type` [INFO] [stdout] --> src/sources/youtube/clients/android.rs:4:52 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::sources::youtube::common::{build_track, check_url_type, YoutubeUrlType}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::logger` [INFO] [stdout] --> src/sources/youtube/clients/android_vr.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::utils::logger; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `logger` and `make_request` [INFO] [stdout] --> src/sources/youtube/youtube.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::{make_request, logger}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RequestOptions` [INFO] [stdout] --> src/sources/youtube/youtube.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::types::http::{RequestOptions, NodelinkMock}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Value` and `json` [INFO] [stdout] --> src/sources/youtube/cipher_manager.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use serde_json::{json, Value}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `logger` and `make_request` [INFO] [stdout] --> src/sources/youtube/cipher_manager.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::utils::{make_request, logger}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RequestOptions` [INFO] [stdout] --> src/sources/youtube/cipher_manager.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::types::http::{RequestOptions, NodelinkMock}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Value` and `json` [INFO] [stdout] --> src/sources/youtube/oauth.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use serde_json::{json, Value}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `logger` and `make_request` [INFO] [stdout] --> src/sources/youtube/oauth.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::utils::{make_request, logger}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RequestOptions` [INFO] [stdout] --> src/sources/youtube/oauth.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::types::http::{RequestOptions, NodelinkMock}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `client::*` [INFO] [stdout] --> src/types/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use client::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http::*` [INFO] [stdout] --> src/types/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use http::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `logger::*` [INFO] [stdout] --> src/types/mod.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub use logger::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stats::*` [INFO] [stdout] --> src/types/mod.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub use stats::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tracks::*` [INFO] [stdout] --> src/types/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub use tracks::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `versions::*` [INFO] [stdout] --> src/types/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use versions::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `json` [INFO] [stdout] --> src/utils/makeRequest.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use serde_json::{json, Value}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StatusCode` [INFO] [stdout] --> src/utils/makeRequest.rs:6:34 [INFO] [stdout] | [INFO] [stdout] 6 | use reqwest::{header::*, Method, StatusCode, Client}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `check_for_updates::check_for_updates` [INFO] [stdout] --> src/utils/mod.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | pub use check_for_updates::check_for_updates; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `generate_random_letters::generate_random_letters` [INFO] [stdout] --> src/utils/mod.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | pub use generate_random_letters::generate_random_letters; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http1_make_request::http1_make_request` [INFO] [stdout] --> src/utils/mod.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | pub use http1_make_request::http1_make_request; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `internal_logger::init_logger` [INFO] [stdout] --> src/utils/mod.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | pub use internal_logger::init_logger; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `load_hls::load_hls` [INFO] [stdout] --> src/utils/mod.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | pub use load_hls::load_hls; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `load_hls_playlist::load_hls_playlist` [INFO] [stdout] --> src/utils/mod.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | pub use load_hls_playlist::load_hls_playlist; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse_client::parse_client` [INFO] [stdout] --> src/utils/mod.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | pub use parse_client::parse_client; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse_semver::parse_semver` [INFO] [stdout] --> src/utils/mod.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | pub use parse_semver::parse_semver; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `send_error_response::send_error_response` [INFO] [stdout] --> src/utils/mod.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | pub use send_error_response::send_error_response; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `validate_property::validate_property` [INFO] [stdout] --> src/utils/mod.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | pub use validate_property::validate_property; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `verify_discord_id::verify_discord_id` [INFO] [stdout] --> src/utils/mod.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | pub use verify_discord_id::verify_discord_id; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `verify_method::verify_method` [INFO] [stdout] --> src/utils/mod.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub use verify_method::verify_method; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `version::VersionResult` [INFO] [stdout] --> src/utils/mod.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | pub use version::VersionResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session` [INFO] [stdout] --> src/api/sessions.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 28 | if let Some(session) = rustlink_write.sessions.get_mut(&session_id) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_time` [INFO] [stdout] --> src/managers/connection_manager.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | let start_time = Instant::now(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/playback/filters/chorus.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let mut lfos = [ [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/playback/filters/phaser.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let mut left_lfo = Lfo::new(Waveform::Sine, 0.0, 1.0); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/playback/filters/phaser.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | let mut right_lfo = Lfo::new(Waveform::Sine, 0.0, 1.0); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sources/youtube/common.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let mut title = String::from("Unknown Title"); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sources/youtube/common.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | let mut author = String::from("Unknown Author"); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sources/youtube/common.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | let mut length_ms = 0; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sources/youtube/common.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let mut is_stream = true; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sources/youtube/common.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | let mut artwork_url = None; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `full_api_response` [INFO] [stdout] --> src/sources/youtube/common.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | full_api_response: Option<&Value>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_api_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `uri` is never read [INFO] [stdout] --> src/sources/youtube/common.rs:48:19 [INFO] [stdout] | [INFO] [stdout] 48 | let mut uri = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 78 | uri = if is_yt_music { format!("https://music.youtube.com/watch?v={}", vid) } else { format!("https://www.youtube.com/watch?v={}... [INFO] [stdout] | --- `uri` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/utils/getStats.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut frame_stats = if players > 0 { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_FILE_URL` is never used [INFO] [stdout] --> src/managers/connection_manager.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const TEST_FILE_URL: &str = "http://cachefly.cachefly.net/10mb.test"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `status`, `metrics`, and `is_checking` are never read [INFO] [stdout] --> src/managers/connection_manager.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ConnectionManager { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | status: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 14 | metrics: serde_json::Value, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | is_checking: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `check_connection` is never used [INFO] [stdout] --> src/managers/connection_manager.rs:36:18 [INFO] [stdout] | [INFO] [stdout] 18 | impl ConnectionManager { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | pub async fn check_connection(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IpData` is never constructed [INFO] [stdout] --> src/managers/dos_protection_manager.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct IpData { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DosProtectionManager` is never constructed [INFO] [stdout] --> src/managers/dos_protection_manager.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct DosProtectionManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `check` are never used [INFO] [stdout] --> src/managers/dos_protection_manager.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl DosProtectionManager { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn check(&mut self, remote_address: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `lyrics_sources` is never read [INFO] [stdout] --> src/managers/lyrics_manager.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct LyricsManager { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 7 | lyrics_sources: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `session_id` is never read [INFO] [stdout] --> src/managers/player_manager.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct PlayerManager { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 7 | sender: mpsc::Sender, [INFO] [stdout] 8 | session_id: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/managers/player_manager.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl PlayerManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 12 | pub fn new(sender: mpsc::Sender, session_id: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub async fn create(&self, guild_id: String, user_id: String, voice: Option) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub async fn play(&self, guild_id: String, track_payload: Value) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub async fn stop(&self, guild_id: String) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub async fn pause(&self, guild_id: String, should_pause: bool) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub async fn seek(&self, guild_id: String, position: i64) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub async fn set_volume(&self, guild_id: String, level: u64) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub async fn set_voice(&self, guild_id: String, session_id: String, token: String, endpoint: String) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RateLimitEntry` is never constructed [INFO] [stdout] --> src/managers/rate_limit_manager.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct RateLimitEntry { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RateLimitManager` is never constructed [INFO] [stdout] --> src/managers/rate_limit_manager.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct RateLimitManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `check` are never used [INFO] [stdout] --> src/managers/rate_limit_manager.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl RateLimitManager { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 14 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn check(&mut self, _identifier: &str) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `ip_blocks` and `banned_ips` are never read [INFO] [stdout] --> src/managers/route_planner_manager.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct RoutePlannerManager { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 4 | ip_blocks: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 5 | banned_ips: HashMap, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_ip`, `ban_ip`, and `free_ip` are never used [INFO] [stdout] --> src/managers/route_planner_manager.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl RoutePlannerManager { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn get_ip(&self) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn ban_ip(&mut self, ip: String) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn free_ip(&mut self, ip: &str) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `user_id`, and `client_info` are never read [INFO] [stdout] --> src/managers/session_manager.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Session { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 9 | pub id: String, [INFO] [stdout] | ^^ [INFO] [stdout] 10 | pub user_id: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 11 | pub client_info: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `audio_engine_sender` is never read [INFO] [stdout] --> src/managers/session_manager.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct SessionManager { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 16 | pub sessions: HashMap, [INFO] [stdout] 17 | audio_engine_sender: mpsc::Sender, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `create` and `delete` are never used [INFO] [stdout] --> src/managers/session_manager.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl SessionManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn create(&mut self, _request: &Value, _client_info: Option) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn delete(&mut self, session_id: &str) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `stats` is never read [INFO] [stdout] --> src/managers/stats_manager.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct StatsManager { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 6 | stats: Arc>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StatsManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_snapshot` is never used [INFO] [stdout] --> src/managers/stats_manager.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl StatsManager { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn get_snapshot(&self) -> serde_json::Value { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x1`, `y1`, and `a` are never read [INFO] [stdout] --> src/playback/filters/dsp/allpass.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct Allpass { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 2 | x1: f32, [INFO] [stdout] | ^^ [INFO] [stdout] 3 | y1: f32, [INFO] [stdout] | ^^ [INFO] [stdout] 4 | a: f32, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_coefficient` and `process` are never used [INFO] [stdout] --> src/playback/filters/dsp/allpass.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Allpass { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn set_coefficient(&mut self, a: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn process(&mut self, sample: f32) -> f32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clamp_16_bit` is never used [INFO] [stdout] --> src/playback/filters/dsp/clamp_16_bit.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn clamp_16_bit(sample: f32) -> i16 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `buffer`, `size`, and `write_index` are never read [INFO] [stdout] --> src/playback/filters/dsp/delay.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct DelayLine { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 2 | buffer: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 3 | size: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 4 | write_index: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `write`, `read`, and `clear` are never used [INFO] [stdout] --> src/playback/filters/dsp/delay.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl DelayLine { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn write(&mut self, sample: i16) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn read(&self, delay_in_samples: f32) -> i16 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SAMPLE_RATE` is never used [INFO] [stdout] --> src/playback/filters/dsp/lfo.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const SAMPLE_RATE: f32 = 48000.0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `phase` and `waveform` are never read [INFO] [stdout] --> src/playback/filters/dsp/lfo.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Lfo { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 7 | phase: f32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | waveform: Waveform, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_waveform`, `get_value`, and `process` are never used [INFO] [stdout] --> src/playback/filters/dsp/lfo.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Lfo { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn set_waveform(&mut self, waveform: Waveform) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn get_value(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn process(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Square`, `Sawtooth`, and `Triangle` are never constructed [INFO] [stdout] --> src/playback/filters/dsp/waves.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Waveform { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 7 | Square, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | Sawtooth, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 9 | Triangle, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Waveform` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `apply` is never used [INFO] [stdout] --> src/playback/filters/dsp/waves.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Waveform { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 13 | pub fn apply(&self, phase: f32) -> f32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/channel_mix.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct ChannelMix { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 4 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/channel_mix.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl ChannelMix { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn process(&self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `priority` and `delays` are never read [INFO] [stdout] --> src/playback/filters/chorus.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Chorus { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 11 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 12 | lfos: [Lfo; 4], [INFO] [stdout] 13 | delays: Vec, // Using Vec because DelayLine size is dynamic or unknown at compile time? No, but to store multiple. [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/chorus.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Chorus { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `linear_to_db` is never used [INFO] [stdout] --> src/playback/filters/compressor.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn linear_to_db(linear: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `priority` and `envelope` are never read [INFO] [stdout] --> src/playback/filters/compressor.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Compressor { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 17 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | envelope: f32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/compressor.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Compressor { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_INT_16` is never used [INFO] [stdout] --> src/playback/filters/distortion.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const MAX_INT_16: f32 = 32767.0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/distortion.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Distortion { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 7 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/distortion.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Distortion { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn process(&self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `priority`, `left_delay`, and `right_delay` are never read [INFO] [stdout] --> src/playback/filters/echo.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Echo { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 8 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | left_delay: DelayLine, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 14 | right_delay: DelayLine, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/echo.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Echo { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/playback/filters/equalizer.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | struct FilterState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 15 | xl1: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 16 | xl2: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 17 | yl1: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 18 | yl2: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 19 | xr1: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 20 | xr2: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 21 | yr1: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | yr2: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FilterState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `b0`, `b1`, `b2`, `a1`, and `a2` are never read [INFO] [stdout] --> src/playback/filters/equalizer.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | struct FilterCoefficients { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 27 | b0: f32, [INFO] [stdout] | ^^ [INFO] [stdout] 28 | b1: f32, [INFO] [stdout] | ^^ [INFO] [stdout] 29 | b2: f32, [INFO] [stdout] | ^^ [INFO] [stdout] 30 | a1: f32, [INFO] [stdout] | ^^ [INFO] [stdout] 31 | a2: f32, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `FilterCoefficients` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/equalizer.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct Equalizer { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 35 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/equalizer.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Equalizer { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/highpass.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Highpass { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 4 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/highpass.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Highpass { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/karaoke.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Karaoke { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 6 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/karaoke.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl Karaoke { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/lowpass.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Lowpass { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 4 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/lowpass.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Lowpass { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `priority`, `left_filters`, `right_filters`, `last_left_feedback`, and `last_right_feedback` are never read [INFO] [stdout] --> src/playback/filters/phaser.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Phaser { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 11 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | left_filters: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 22 | right_filters: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 23 | last_left_feedback: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | last_right_feedback: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/phaser.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl Phaser { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/rotation.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Rotation { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 6 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/rotation.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Rotation { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cubic_interpolate` is never used [INFO] [stdout] --> src/playback/filters/timescale.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn cubic_interpolate(p0: f32, p1: f32, p2: f32, p3: f32, t: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `priority` and `input_buffer` are never read [INFO] [stdout] --> src/playback/filters/timescale.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Timescale { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 14 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | input_buffer: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/timescale.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl Timescale { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn process(&mut self, chunk: &[i16]) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `priority` is never read [INFO] [stdout] --> src/playback/filters/tremolo.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Tremolo { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 6 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/tremolo.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Tremolo { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `priority`, `left_delay`, and `right_delay` are never read [INFO] [stdout] --> src/playback/filters/vibrato.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Vibrato { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 10 | pub priority: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | lfo: Lfo, [INFO] [stdout] 12 | left_delay: DelayLine, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 13 | right_delay: DelayLine, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters/vibrato.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Vibrato { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `process` is never used [INFO] [stdout] --> src/playback/filters_manager.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl FiltersManager { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn process(&mut self, chunk: &[i16]) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `filters_manager` is never read [INFO] [stdout] --> src/playback/player.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Player { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | filters_manager: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stats_manager` and `route_planner` are never read [INFO] [stdout] --> src/playback/audio_engine.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct AudioEngine { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 14 | players: HashMap, [INFO] [stdout] 15 | stats_manager: StatsManager, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | route_planner: RoutePlannerManager, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `YoutubeUrlType` is never used [INFO] [stdout] --> src/sources/youtube/common.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum YoutubeUrlType { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_url_type` is never used [INFO] [stdout] --> src/sources/youtube/common.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn check_url_type(url: &str, is_yt_music: bool) -> YoutubeUrlType { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_client_context` and `search` are never used [INFO] [stdout] --> src/sources/youtube/clients/android_vr.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl AndroidVRClient { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 10 | pub fn get_client_context(&self, hl: &str, gl: &str, visitor_data: Option<&str>) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub async fn search(&self, _query: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_client_context` and `search` are never used [INFO] [stdout] --> src/sources/youtube/clients/ios.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl IosClient { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 9 | pub fn get_client_context(&self, hl: &str, gl: &str, visitor_data: Option<&str>) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub async fn search(&self, _query: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_client_context` and `search` are never used [INFO] [stdout] --> src/sources/youtube/clients/music.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl MusicClient { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 9 | pub fn get_client_context(&self, hl: &str, gl: &str) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub async fn search(&self, _query: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_client_context` and `resolve` are never used [INFO] [stdout] --> src/sources/youtube/clients/tv.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl TvClient { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 9 | pub fn get_client_context(&self, hl: &str, gl: &str) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub async fn resolve(&self, _url: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_client_context` and `resolve` are never used [INFO] [stdout] --> src/sources/youtube/clients/tv_embedded.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl TvEmbeddedClient { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 9 | pub fn get_client_context(&self, hl: &str, gl: &str) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub async fn resolve(&self, _url: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_client_context` and `search` are never used [INFO] [stdout] --> src/sources/youtube/clients/web.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl WebClient { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 9 | pub fn get_client_context(&self, hl: &str, gl: &str) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub async fn search(&self, _query: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/sources/youtube/youtube.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct YoutubeSource { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 17 | cipher_manager: CipherManager, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 18 | oauth: OAuth, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 19 | android: AndroidClient, [INFO] [stdout] 20 | android_vr: AndroidVRClient, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 21 | ios: IosClient, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | music: MusicClient, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | tv: TvClient, [INFO] [stdout] | ^^ [INFO] [stdout] 24 | tv_embedded: TvEmbeddedClient, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 25 | web: WebClient, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `setup` is never used [INFO] [stdout] --> src/sources/youtube/youtube.rs:43:18 [INFO] [stdout] | [INFO] [stdout] 28 | impl YoutubeSource { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub async fn setup(&mut self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_timestamp` and `resolve_url` are never used [INFO] [stdout] --> src/sources/youtube/cipher_manager.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 9 | impl CipherManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 12 | pub async fn get_timestamp(&self, _player_url: &str, _nodelink: &NodelinkMock) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub async fn resolve_url(&self, stream_url: &str, _nodelink: &NodelinkMock) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `refresh_token` and `access_token` are never read [INFO] [stdout] --> src/sources/youtube/oauth.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct OAuth { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 6 | refresh_token: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 7 | access_token: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_access_token` is never used [INFO] [stdout] --> src/sources/youtube/oauth.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 10 | impl OAuth { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub async fn get_access_token(&mut self, _nodelink: &NodelinkMock) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeezerSource` is never constructed [INFO] [stdout] --> src/sources/deezer.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct DeezerSource; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BandcampSource` is never constructed [INFO] [stdout] --> src/sources/bandcamp.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct BandcampSource; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HttpSource` is never constructed [INFO] [stdout] --> src/sources/http.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct HttpSource; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LocalSource` is never constructed [INFO] [stdout] --> src/sources/local.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct LocalSource; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TwitchSource` is never constructed [INFO] [stdout] --> src/sources/twitch.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TwitchSource; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NicovideoSource` is never constructed [INFO] [stdout] --> src/sources/nicovideo.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct NicovideoSource; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RedditSource` is never constructed [INFO] [stdout] --> src/sources/reddit.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct RedditSource; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InstagramSource` is never constructed [INFO] [stdout] --> src/sources/instagram.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct InstagramSource; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KwaiSource` is never constructed [INFO] [stdout] --> src/sources/kwai.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct KwaiSource; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LastfmSource` is never constructed [INFO] [stdout] --> src/sources/lastfm.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct LastfmSource; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GoogleTtsSource` is never constructed [INFO] [stdout] --> src/sources/google_tts.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GoogleTtsSource; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TidalSource` is never constructed [INFO] [stdout] --> src/sources/tidal.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TidalSource; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientInfo` is never constructed [INFO] [stdout] --> src/types/client.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct ClientInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `status`, `headers`, and `raw_body` are never read [INFO] [stdout] --> src/types/http.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct ResponseResult { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 34 | pub status: StatusCode, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 35 | pub headers: HeaderMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 36 | pub body: Option, [INFO] [stdout] 37 | pub raw_body: Option>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileConfig` is never constructed [INFO] [stdout] --> src/types/logger.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct FileConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LoggingConfig` is never constructed [INFO] [stdout] --> src/types/logger.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct LoggingConfig { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Config` is never constructed [INFO] [stdout] --> src/types/logger.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `CreatePlayer`, `LoadTracks`, `LoadLyrics`, and `GetSources` are never constructed [INFO] [stdout] --> src/types/audio_engine.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum AudioEngineCommand { [INFO] [stdout] | ------------------ variants in this enum [INFO] [stdout] 6 | CreatePlayer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | LoadTracks { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | LoadLyrics { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | GetSources { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AudioEngineCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_file_logger` is never used [INFO] [stdout] --> src/utils/initLogger.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn init_file_logger(config: &LoggingConfig) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_logger` is never used [INFO] [stdout] --> src/utils/initLogger.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn init_logger(config: Config) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_property` is never used [INFO] [stdout] --> src/utils/validateProperty.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn validate_property(property: T, validator: F, error_message: &str) -> Result<(), String> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_for_updates` is never used [INFO] [stdout] --> src/utils/checkForUpdates.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | pub async fn check_for_updates() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `index` is never used [INFO] [stdout] --> src/utils/logger.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 17 | impl LogLevel { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | fn index(&self) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `SEMVER_REGEX` is never used [INFO] [stdout] --> src/utils/parseSemver.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | static SEMVER_REGEX: Lazy = Lazy::new(|| { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Semver` is never constructed [INFO] [stdout] --> src/utils/parseSemver.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Semver { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_semver` is never used [INFO] [stdout] --> src/utils/parseSemver.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn parse_semver(version: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_client` is never used [INFO] [stdout] --> src/utils/parseClient.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn parse_client(agent: Option<&str>) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_random_letters` is never used [INFO] [stdout] --> src/utils/generateRandomLetters.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn generate_random_letters(l: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DISCORD_ID_REGEX` is never used [INFO] [stdout] --> src/utils/verifyDiscordID.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | static DISCORD_ID_REGEX: Lazy = Lazy::new(|| Regex::new(r"^\d{18,19}$").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_discord_id` is never used [INFO] [stdout] --> src/utils/verifyDiscordID.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn verify_discord_id(id: impl ToString) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_method` is never used [INFO] [stdout] --> src/utils/verifyMethod.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn verify_method( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_error_response` is never used [INFO] [stdout] --> src/utils/sendErrorResponse.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn send_error_response( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_hls` is never used [INFO] [stdout] --> src/utils/loadHLS.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | pub async fn load_hls(url: &str, _stream: &mut Vec /* Mocked stream */, _once_ended: bool, _should_end: bool) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_hls_playlist` is never used [INFO] [stdout] --> src/utils/loadHLSPlaylist.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn load_hls_playlist(url: &str, stream: &mut Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.17s [INFO] running `Command { std: "docker" "inspect" "6a670e17dd7c987b752a607a2b6e7e1f13caf5ab56411d51403ff740d309c87c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6a670e17dd7c987b752a607a2b6e7e1f13caf5ab56411d51403ff740d309c87c" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `decode_track` [INFO] [stderr] --> src/api/players.rs:2:20 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::utils::{decode_track, send_response}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::managers::player_manager::PlayerManager` [INFO] [stderr] --> src/api/players.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::managers::player_manager::PlayerManager; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/api/players.rs:6:22 [INFO] [stderr] | [INFO] [stderr] 6 | extract::{State, Path}, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::Utc` [INFO] [stderr] --> src/api/sessions.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use chrono::Utc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Duration` [INFO] [stderr] --> src/managers/connection_manager.rs:2:17 [INFO] [stderr] | [INFO] [stderr] 2 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `tokio::time::interval` [INFO] [stderr] --> src/managers/connection_manager.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use tokio::time::interval; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::types::stats::RustlinkMock` [INFO] [stderr] --> src/managers/connection_manager.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::types::stats::RustlinkMock; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stderr] --> src/managers/rate_limit_manager.rs:2:17 [INFO] [stderr] | [INFO] [stderr] 2 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f32::consts::PI` [INFO] [stderr] --> src/playback/filters/chorus.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::f32::consts::PI; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::types::stats::RustlinkMock` [INFO] [stderr] --> src/playback/player.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::types::stats::RustlinkMock; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `json` [INFO] [stderr] --> src/sources/youtube/common.rs:1:18 [INFO] [stderr] | [INFO] [stderr] 1 | use serde_json::{json, Value}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `logger` [INFO] [stderr] --> src/sources/youtube/common.rs:5:34 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::utils::{encode_track, logger}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `logger` [INFO] [stderr] --> src/sources/youtube/clients/android.rs:2:34 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::utils::{make_request, logger}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `YoutubeUrlType` and `check_url_type` [INFO] [stderr] --> src/sources/youtube/clients/android.rs:4:52 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::sources::youtube::common::{build_track, check_url_type, YoutubeUrlType}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::utils::logger` [INFO] [stderr] --> src/sources/youtube/clients/android_vr.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::utils::logger; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `logger` and `make_request` [INFO] [stderr] --> src/sources/youtube/youtube.rs:3:20 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::utils::{make_request, logger}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `RequestOptions` [INFO] [stderr] --> src/sources/youtube/youtube.rs:4:26 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::types::http::{RequestOptions, NodelinkMock}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Value` and `json` [INFO] [stderr] --> src/sources/youtube/cipher_manager.rs:1:18 [INFO] [stderr] | [INFO] [stderr] 1 | use serde_json::{json, Value}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `logger` and `make_request` [INFO] [stderr] --> src/sources/youtube/cipher_manager.rs:2:20 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::utils::{make_request, logger}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `RequestOptions` [INFO] [stderr] --> src/sources/youtube/cipher_manager.rs:3:26 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::types::http::{RequestOptions, NodelinkMock}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Value` and `json` [INFO] [stderr] --> src/sources/youtube/oauth.rs:1:18 [INFO] [stderr] | [INFO] [stderr] 1 | use serde_json::{json, Value}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `logger` and `make_request` [INFO] [stderr] --> src/sources/youtube/oauth.rs:2:20 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::utils::{make_request, logger}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `RequestOptions` [INFO] [stderr] --> src/sources/youtube/oauth.rs:3:26 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::types::http::{RequestOptions, NodelinkMock}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `client::*` [INFO] [stderr] --> src/types/mod.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | pub use client::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `http::*` [INFO] [stderr] --> src/types/mod.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | pub use http::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `logger::*` [INFO] [stderr] --> src/types/mod.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | pub use logger::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `stats::*` [INFO] [stderr] --> src/types/mod.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | pub use stats::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `tracks::*` [INFO] [stderr] --> src/types/mod.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | pub use tracks::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `versions::*` [INFO] [stderr] --> src/types/mod.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | pub use versions::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `json` [INFO] [stderr] --> src/utils/makeRequest.rs:5:18 [INFO] [stderr] | [INFO] [stderr] 5 | use serde_json::{json, Value}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `StatusCode` [INFO] [stderr] --> src/utils/makeRequest.rs:6:34 [INFO] [stderr] | [INFO] [stderr] 6 | use reqwest::{header::*, Method, StatusCode, Client}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `check_for_updates::check_for_updates` [INFO] [stderr] --> src/utils/mod.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | pub use check_for_updates::check_for_updates; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `generate_random_letters::generate_random_letters` [INFO] [stderr] --> src/utils/mod.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | pub use generate_random_letters::generate_random_letters; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `http1_make_request::http1_make_request` [INFO] [stderr] --> src/utils/mod.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | pub use http1_make_request::http1_make_request; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `internal_logger::init_logger` [INFO] [stderr] --> src/utils/mod.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | pub use internal_logger::init_logger; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `load_hls::load_hls` [INFO] [stderr] --> src/utils/mod.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | pub use load_hls::load_hls; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `load_hls_playlist::load_hls_playlist` [INFO] [stderr] --> src/utils/mod.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | pub use load_hls_playlist::load_hls_playlist; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `parse_client::parse_client` [INFO] [stderr] --> src/utils/mod.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | pub use parse_client::parse_client; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `parse_semver::parse_semver` [INFO] [stderr] --> src/utils/mod.rs:75:9 [INFO] [stderr] | [INFO] [stderr] 75 | pub use parse_semver::parse_semver; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `send_error_response::send_error_response` [INFO] [stderr] --> src/utils/mod.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | pub use send_error_response::send_error_response; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `validate_property::validate_property` [INFO] [stderr] --> src/utils/mod.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | pub use validate_property::validate_property; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `verify_discord_id::verify_discord_id` [INFO] [stderr] --> src/utils/mod.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | pub use verify_discord_id::verify_discord_id; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `verify_method::verify_method` [INFO] [stderr] --> src/utils/mod.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 80 | pub use verify_method::verify_method; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `version::VersionResult` [INFO] [stderr] --> src/utils/mod.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | pub use version::VersionResult; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `session` [INFO] [stderr] --> src/api/sessions.rs:28:17 [INFO] [stderr] | [INFO] [stderr] 28 | if let Some(session) = rustlink_write.sessions.get_mut(&session_id) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start_time` [INFO] [stderr] --> src/managers/connection_manager.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | let start_time = Instant::now(); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/playback/filters/chorus.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | let mut lfos = [ [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/playback/filters/phaser.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let mut left_lfo = Lfo::new(Waveform::Sine, 0.0, 1.0); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/playback/filters/phaser.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | let mut right_lfo = Lfo::new(Waveform::Sine, 0.0, 1.0); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/sources/youtube/common.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | let mut title = String::from("Unknown Title"); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/sources/youtube/common.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | let mut author = String::from("Unknown Author"); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/sources/youtube/common.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | let mut length_ms = 0; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/sources/youtube/common.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | let mut is_stream = true; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/sources/youtube/common.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | let mut artwork_url = None; [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `full_api_response` [INFO] [stderr] --> src/sources/youtube/common.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | full_api_response: Option<&Value>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_api_response` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `uri` is never read [INFO] [stderr] --> src/sources/youtube/common.rs:48:19 [INFO] [stderr] | [INFO] [stderr] 48 | let mut uri = String::new(); [INFO] [stderr] | ^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stderr] ... [INFO] [stderr] 78 | uri = if is_yt_music { format!("https://music.youtube.com/watch?v={}", vid) } else { format!("https://www.youtube.com/watch?v={}... [INFO] [stderr] | --- `uri` is overwritten here before the previous value is read [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/utils/getStats.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | let mut frame_stats = if players > 0 { [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: constant `TEST_FILE_URL` is never used [INFO] [stderr] --> src/managers/connection_manager.rs:8:7 [INFO] [stderr] | [INFO] [stderr] 8 | const TEST_FILE_URL: &str = "http://cachefly.cachefly.net/10mb.test"; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `status`, `metrics`, and `is_checking` are never read [INFO] [stderr] --> src/managers/connection_manager.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct ConnectionManager { [INFO] [stderr] | ----------------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 13 | status: String, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 14 | metrics: serde_json::Value, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 15 | is_checking: bool, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `check_connection` is never used [INFO] [stderr] --> src/managers/connection_manager.rs:36:18 [INFO] [stderr] | [INFO] [stderr] 18 | impl ConnectionManager { [INFO] [stderr] | ---------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 36 | pub async fn check_connection(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `IpData` is never constructed [INFO] [stderr] --> src/managers/dos_protection_manager.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | struct IpData { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DosProtectionManager` is never constructed [INFO] [stderr] --> src/managers/dos_protection_manager.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct DosProtectionManager { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new` and `check` are never used [INFO] [stderr] --> src/managers/dos_protection_manager.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 15 | impl DosProtectionManager { [INFO] [stderr] | ------------------------- associated items in this implementation [INFO] [stderr] 16 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 23 | pub fn check(&mut self, remote_address: &str) -> Result<(), String> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `lyrics_sources` is never read [INFO] [stderr] --> src/managers/lyrics_manager.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct LyricsManager { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] 7 | lyrics_sources: HashMap, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `session_id` is never read [INFO] [stderr] --> src/managers/player_manager.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct PlayerManager { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] 7 | sender: mpsc::Sender, [INFO] [stderr] 8 | session_id: String, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PlayerManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/managers/player_manager.rs:12:12 [INFO] [stderr] | [INFO] [stderr] 11 | impl PlayerManager { [INFO] [stderr] | ------------------ associated items in this implementation [INFO] [stderr] 12 | pub fn new(sender: mpsc::Sender, session_id: String) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 19 | pub async fn create(&self, guild_id: String, user_id: String, voice: Option) -> Result { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 48 | pub async fn play(&self, guild_id: String, track_payload: Value) -> Result { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 52 | pub async fn stop(&self, guild_id: String) -> Result { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 56 | pub async fn pause(&self, guild_id: String, should_pause: bool) -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 60 | pub async fn seek(&self, guild_id: String, position: i64) -> Result { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 64 | pub async fn set_volume(&self, guild_id: String, level: u64) -> Result { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 72 | pub async fn set_voice(&self, guild_id: String, session_id: String, token: String, endpoint: String) -> Result { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `RateLimitEntry` is never constructed [INFO] [stderr] --> src/managers/rate_limit_manager.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | struct RateLimitEntry { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `RateLimitManager` is never constructed [INFO] [stderr] --> src/managers/rate_limit_manager.rs:8:12 [INFO] [stderr] | [INFO] [stderr] 8 | pub struct RateLimitManager { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new` and `check` are never used [INFO] [stderr] --> src/managers/rate_limit_manager.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 13 | impl RateLimitManager { [INFO] [stderr] | --------------------- associated items in this implementation [INFO] [stderr] 14 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 21 | pub fn check(&mut self, _identifier: &str) -> bool { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `ip_blocks` and `banned_ips` are never read [INFO] [stderr] --> src/managers/route_planner_manager.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct RoutePlannerManager { [INFO] [stderr] | ------------------- fields in this struct [INFO] [stderr] 4 | ip_blocks: Vec, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 5 | banned_ips: HashMap, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_ip`, `ban_ip`, and `free_ip` are never used [INFO] [stderr] --> src/managers/route_planner_manager.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 8 | impl RoutePlannerManager { [INFO] [stderr] | ------------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 16 | pub fn get_ip(&self) -> Option { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 21 | pub fn ban_ip(&mut self, ip: String) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 26 | pub fn free_ip(&mut self, ip: &str) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `id`, `user_id`, and `client_info` are never read [INFO] [stderr] --> src/managers/session_manager.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 8 | pub struct Session { [INFO] [stderr] | ------- fields in this struct [INFO] [stderr] 9 | pub id: String, [INFO] [stderr] | ^^ [INFO] [stderr] 10 | pub user_id: Option, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 11 | pub client_info: Option, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `audio_engine_sender` is never read [INFO] [stderr] --> src/managers/session_manager.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 15 | pub struct SessionManager { [INFO] [stderr] | -------------- field in this struct [INFO] [stderr] 16 | pub sessions: HashMap, [INFO] [stderr] 17 | audio_engine_sender: mpsc::Sender, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `create` and `delete` are never used [INFO] [stderr] --> src/managers/session_manager.rs:28:12 [INFO] [stderr] | [INFO] [stderr] 20 | impl SessionManager { [INFO] [stderr] | ------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 28 | pub fn create(&mut self, _request: &Value, _client_info: Option) -> String { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 50 | pub fn delete(&mut self, session_id: &str) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `stats` is never read [INFO] [stderr] --> src/managers/stats_manager.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct StatsManager { [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] 6 | stats: Arc>, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `StatsManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `get_snapshot` is never used [INFO] [stderr] --> src/managers/stats_manager.rs:27:12 [INFO] [stderr] | [INFO] [stderr] 9 | impl StatsManager { [INFO] [stderr] | ----------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 27 | pub fn get_snapshot(&self) -> serde_json::Value { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `x1`, `y1`, and `a` are never read [INFO] [stderr] --> src/playback/filters/dsp/allpass.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 1 | pub struct Allpass { [INFO] [stderr] | ------- fields in this struct [INFO] [stderr] 2 | x1: f32, [INFO] [stderr] | ^^ [INFO] [stderr] 3 | y1: f32, [INFO] [stderr] | ^^ [INFO] [stderr] 4 | a: f32, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: methods `set_coefficient` and `process` are never used [INFO] [stderr] --> src/playback/filters/dsp/allpass.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 7 | impl Allpass { [INFO] [stderr] | ------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 16 | pub fn set_coefficient(&mut self, a: f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 20 | pub fn process(&mut self, sample: f32) -> f32 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `clamp_16_bit` is never used [INFO] [stderr] --> src/playback/filters/dsp/clamp_16_bit.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn clamp_16_bit(sample: f32) -> i16 { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `buffer`, `size`, and `write_index` are never read [INFO] [stderr] --> src/playback/filters/dsp/delay.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 1 | pub struct DelayLine { [INFO] [stderr] | --------- fields in this struct [INFO] [stderr] 2 | buffer: Vec, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 3 | size: usize, [INFO] [stderr] | ^^^^ [INFO] [stderr] 4 | write_index: usize, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `write`, `read`, and `clear` are never used [INFO] [stderr] --> src/playback/filters/dsp/delay.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 7 | impl DelayLine { [INFO] [stderr] | -------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 16 | pub fn write(&mut self, sample: i16) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 21 | pub fn read(&self, delay_in_samples: f32) -> i16 { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 31 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SAMPLE_RATE` is never used [INFO] [stderr] --> src/playback/filters/dsp/lfo.rs:4:7 [INFO] [stderr] | [INFO] [stderr] 4 | const SAMPLE_RATE: f32 = 48000.0; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `phase` and `waveform` are never read [INFO] [stderr] --> src/playback/filters/dsp/lfo.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct Lfo { [INFO] [stderr] | --- fields in this struct [INFO] [stderr] 7 | phase: f32, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 8 | waveform: Waveform, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `set_waveform`, `get_value`, and `process` are never used [INFO] [stderr] --> src/playback/filters/dsp/lfo.rs:23:12 [INFO] [stderr] | [INFO] [stderr] 13 | impl Lfo { [INFO] [stderr] | -------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 23 | pub fn set_waveform(&mut self, waveform: Waveform) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 32 | pub fn get_value(&mut self) -> f32 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 44 | pub fn process(&mut self) -> f32 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Square`, `Sawtooth`, and `Triangle` are never constructed [INFO] [stderr] --> src/playback/filters/dsp/waves.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 4 | pub enum Waveform { [INFO] [stderr] | -------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 7 | Square, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 8 | Sawtooth, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 9 | Triangle, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Waveform` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `apply` is never used [INFO] [stderr] --> src/playback/filters/dsp/waves.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 12 | impl Waveform { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] 13 | pub fn apply(&self, phase: f32) -> f32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `priority` is never read [INFO] [stderr] --> src/playback/filters/channel_mix.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct ChannelMix { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] 4 | pub priority: u32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `process` is never used [INFO] [stderr] --> src/playback/filters/channel_mix.rs:35:12 [INFO] [stderr] | [INFO] [stderr] 11 | impl ChannelMix { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 35 | pub fn process(&self, chunk: &mut [i16]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `priority` and `delays` are never read [INFO] [stderr] --> src/playback/filters/chorus.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Chorus { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] 11 | pub priority: u32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 12 | lfos: [Lfo; 4], [INFO] [stderr] 13 | delays: Vec, // Using Vec because DelayLine size is dynamic or unknown at compile time? No, but to store multiple. [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `process` is never used [INFO] [stderr] --> src/playback/filters/chorus.rs:79:12 [INFO] [stderr] | [INFO] [stderr] 21 | impl Chorus { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 79 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `linear_to_db` is never used [INFO] [stderr] --> src/playback/filters/compressor.rs:8:4 [INFO] [stderr] | [INFO] [stderr] 8 | fn linear_to_db(linear: f32) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `priority` and `envelope` are never read [INFO] [stderr] --> src/playback/filters/compressor.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 16 | pub struct Compressor { [INFO] [stderr] | ---------- fields in this struct [INFO] [stderr] 17 | pub priority: u32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 26 | envelope: f32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `process` is never used [INFO] [stderr] --> src/playback/filters/compressor.rs:74:12 [INFO] [stderr] | [INFO] [stderr] 29 | impl Compressor { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 74 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_INT_16` is never used [INFO] [stderr] --> src/playback/filters/distortion.rs:4:7 [INFO] [stderr] | [INFO] [stderr] 4 | const MAX_INT_16: f32 = 32767.0; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `priority` is never read [INFO] [stderr] --> src/playback/filters/distortion.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct Distortion { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] 7 | pub priority: u32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `process` is never used [INFO] [stderr] --> src/playback/filters/distortion.rs:54:12 [INFO] [stderr] | [INFO] [stderr] 18 | impl Distortion { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 54 | pub fn process(&self, chunk: &mut [i16]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `priority`, `left_delay`, and `right_delay` are never read [INFO] [stderr] --> src/playback/filters/echo.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct Echo { [INFO] [stderr] | ---- fields in this struct [INFO] [stderr] 8 | pub priority: u32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 13 | left_delay: DelayLine, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 14 | right_delay: DelayLine, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `process` is never used [INFO] [stderr] --> src/playback/filters/echo.rs:39:12 [INFO] [stderr] | [INFO] [stderr] 17 | impl Echo { [INFO] [stderr] | --------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 39 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> src/playback/filters/equalizer.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 14 | struct FilterState { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 15 | xl1: f32, [INFO] [stderr] | ^^^ [INFO] [stderr] 16 | xl2: f32, [INFO] [stderr] | ^^^ [INFO] [stderr] 17 | yl1: f32, [INFO] [stderr] | ^^^ [INFO] [stderr] 18 | yl2: f32, [INFO] [stderr] | ^^^ [INFO] [stderr] 19 | xr1: f32, [INFO] [stderr] | ^^^ [INFO] [stderr] 20 | xr2: f32, [INFO] [stderr] | ^^^ [INFO] [stderr] 21 | yr1: f32, [INFO] [stderr] | ^^^ [INFO] [stderr] 22 | yr2: f32, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `FilterState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `b0`, `b1`, `b2`, `a1`, and `a2` are never read [INFO] [stderr] --> src/playback/filters/equalizer.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 26 | struct FilterCoefficients { [INFO] [stderr] | ------------------ fields in this struct [INFO] [stderr] 27 | b0: f32, [INFO] [stderr] | ^^ [INFO] [stderr] 28 | b1: f32, [INFO] [stderr] | ^^ [INFO] [stderr] 29 | b2: f32, [INFO] [stderr] | ^^ [INFO] [stderr] 30 | a1: f32, [INFO] [stderr] | ^^ [INFO] [stderr] 31 | a2: f32, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `FilterCoefficients` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `priority` is never read [INFO] [stderr] --> src/playback/filters/equalizer.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 34 | pub struct Equalizer { [INFO] [stderr] | --------- field in this struct [INFO] [stderr] 35 | pub priority: u32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `process` is never used [INFO] [stderr] --> src/playback/filters/equalizer.rs:117:12 [INFO] [stderr] | [INFO] [stderr] 40 | impl Equalizer { [INFO] [stderr] | -------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 117 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `priority` is never read [INFO] [stderr] --> src/playback/filters/highpass.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct Highpass { [INFO] [stderr] | -------- field in this struct [INFO] [stderr] 4 | pub priority: u32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `process` is never used [INFO] [stderr] --> src/playback/filters/highpass.rs:41:12 [INFO] [stderr] | [INFO] [stderr] 13 | impl Highpass { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 41 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `priority` is never read [INFO] [stderr] --> src/playback/filters/karaoke.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Karaoke { [INFO] [stderr] | ------- field in this struct [INFO] [stderr] 6 | pub priority: u32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `process` is never used [INFO] [stderr] --> src/playback/filters/karaoke.rs:111:12 [INFO] [stderr] | [INFO] [stderr] 27 | impl Karaoke { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 111 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `priority` is never read [INFO] [stderr] --> src/playback/filters/lowpass.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct Lowpass { [INFO] [stderr] | ------- field in this struct [INFO] [stderr] 4 | pub priority: u32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `process` is never used [INFO] [stderr] --> src/playback/filters/lowpass.rs:35:12 [INFO] [stderr] | [INFO] [stderr] 11 | impl Lowpass { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 35 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `priority`, `left_filters`, `right_filters`, `last_left_feedback`, and `last_right_feedback` are never read [INFO] [stderr] --> src/playback/filters/phaser.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Phaser { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] 11 | pub priority: u32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 21 | left_filters: Vec, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 22 | right_filters: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 23 | last_left_feedback: f32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 24 | last_right_feedback: f32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `process` is never used [INFO] [stderr] --> src/playback/filters/phaser.rs:83:12 [INFO] [stderr] | [INFO] [stderr] 27 | impl Phaser { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 83 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `priority` is never read [INFO] [stderr] --> src/playback/filters/rotation.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Rotation { [INFO] [stderr] | -------- field in this struct [INFO] [stderr] 6 | pub priority: u32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `process` is never used [INFO] [stderr] --> src/playback/filters/rotation.rs:23:12 [INFO] [stderr] | [INFO] [stderr] 10 | impl Rotation { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 23 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `cubic_interpolate` is never used [INFO] [stderr] --> src/playback/filters/timescale.rs:3:4 [INFO] [stderr] | [INFO] [stderr] 3 | fn cubic_interpolate(p0: f32, p1: f32, p2: f32, p3: f32, t: f32) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `priority` and `input_buffer` are never read [INFO] [stderr] --> src/playback/filters/timescale.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 13 | pub struct Timescale { [INFO] [stderr] | --------- fields in this struct [INFO] [stderr] 14 | pub priority: u32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 19 | input_buffer: Vec, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `process` is never used [INFO] [stderr] --> src/playback/filters/timescale.rs:43:12 [INFO] [stderr] | [INFO] [stderr] 22 | impl Timescale { [INFO] [stderr] | -------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 43 | pub fn process(&mut self, chunk: &[i16]) -> Vec { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `priority` is never read [INFO] [stderr] --> src/playback/filters/tremolo.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Tremolo { [INFO] [stderr] | ------- field in this struct [INFO] [stderr] 6 | pub priority: u32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `process` is never used [INFO] [stderr] --> src/playback/filters/tremolo.rs:25:12 [INFO] [stderr] | [INFO] [stderr] 10 | impl Tremolo { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 25 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `priority`, `left_delay`, and `right_delay` are never read [INFO] [stderr] --> src/playback/filters/vibrato.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct Vibrato { [INFO] [stderr] | ------- fields in this struct [INFO] [stderr] 10 | pub priority: u32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 11 | lfo: Lfo, [INFO] [stderr] 12 | left_delay: DelayLine, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 13 | right_delay: DelayLine, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `process` is never used [INFO] [stderr] --> src/playback/filters/vibrato.rs:37:12 [INFO] [stderr] | [INFO] [stderr] 17 | impl Vibrato { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 37 | pub fn process(&mut self, chunk: &mut [i16]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `process` is never used [INFO] [stderr] --> src/playback/filters_manager.rs:194:12 [INFO] [stderr] | [INFO] [stderr] 36 | impl FiltersManager { [INFO] [stderr] | ------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 194 | pub fn process(&mut self, chunk: &[i16]) -> Vec { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `filters_manager` is never read [INFO] [stderr] --> src/playback/player.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct Player { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 21 | filters_manager: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `stats_manager` and `route_planner` are never read [INFO] [stderr] --> src/playback/audio_engine.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 13 | pub struct AudioEngine { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 14 | players: HashMap, [INFO] [stderr] 15 | stats_manager: StatsManager, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 18 | route_planner: RoutePlannerManager, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `YoutubeUrlType` is never used [INFO] [stderr] --> src/sources/youtube/common.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | pub enum YoutubeUrlType { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `check_url_type` is never used [INFO] [stderr] --> src/sources/youtube/common.rs:14:8 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn check_url_type(url: &str, is_yt_music: bool) -> YoutubeUrlType { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_client_context` and `search` are never used [INFO] [stderr] --> src/sources/youtube/clients/android_vr.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 7 | impl AndroidVRClient { [INFO] [stderr] | -------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 10 | pub fn get_client_context(&self, hl: &str, gl: &str, visitor_data: Option<&str>) -> Value { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 28 | pub async fn search(&self, _query: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_client_context` and `search` are never used [INFO] [stderr] --> src/sources/youtube/clients/ios.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 6 | impl IosClient { [INFO] [stderr] | -------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 9 | pub fn get_client_context(&self, hl: &str, gl: &str, visitor_data: Option<&str>) -> Value { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 28 | pub async fn search(&self, _query: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_client_context` and `search` are never used [INFO] [stderr] --> src/sources/youtube/clients/music.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 6 | impl MusicClient { [INFO] [stderr] | ---------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 9 | pub fn get_client_context(&self, hl: &str, gl: &str) -> Value { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 25 | pub async fn search(&self, _query: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_client_context` and `resolve` are never used [INFO] [stderr] --> src/sources/youtube/clients/tv.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 6 | impl TvClient { [INFO] [stderr] | ------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 9 | pub fn get_client_context(&self, hl: &str, gl: &str) -> Value { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 23 | pub async fn resolve(&self, _url: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_client_context` and `resolve` are never used [INFO] [stderr] --> src/sources/youtube/clients/tv_embedded.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 6 | impl TvEmbeddedClient { [INFO] [stderr] | --------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 9 | pub fn get_client_context(&self, hl: &str, gl: &str) -> Value { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 24 | pub async fn resolve(&self, _url: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_client_context` and `search` are never used [INFO] [stderr] --> src/sources/youtube/clients/web.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 6 | impl WebClient { [INFO] [stderr] | -------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 9 | pub fn get_client_context(&self, hl: &str, gl: &str) -> Value { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 24 | pub async fn search(&self, _query: &str, _nodelink: &NodelinkMock) -> Value { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> src/sources/youtube/youtube.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 16 | pub struct YoutubeSource { [INFO] [stderr] | ------------- fields in this struct [INFO] [stderr] 17 | cipher_manager: CipherManager, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 18 | oauth: OAuth, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 19 | android: AndroidClient, [INFO] [stderr] 20 | android_vr: AndroidVRClient, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 21 | ios: IosClient, [INFO] [stderr] | ^^^ [INFO] [stderr] 22 | music: MusicClient, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 23 | tv: TvClient, [INFO] [stderr] | ^^ [INFO] [stderr] 24 | tv_embedded: TvEmbeddedClient, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 25 | web: WebClient, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: method `setup` is never used [INFO] [stderr] --> src/sources/youtube/youtube.rs:43:18 [INFO] [stderr] | [INFO] [stderr] 28 | impl YoutubeSource { [INFO] [stderr] | ------------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 43 | pub async fn setup(&mut self) -> bool { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_timestamp` and `resolve_url` are never used [INFO] [stderr] --> src/sources/youtube/cipher_manager.rs:12:18 [INFO] [stderr] | [INFO] [stderr] 9 | impl CipherManager { [INFO] [stderr] | ------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 12 | pub async fn get_timestamp(&self, _player_url: &str, _nodelink: &NodelinkMock) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 17 | pub async fn resolve_url(&self, stream_url: &str, _nodelink: &NodelinkMock) -> Result { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `refresh_token` and `access_token` are never read [INFO] [stderr] --> src/sources/youtube/oauth.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct OAuth { [INFO] [stderr] | ----- fields in this struct [INFO] [stderr] 6 | refresh_token: Option, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 7 | access_token: Option, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_access_token` is never used [INFO] [stderr] --> src/sources/youtube/oauth.rs:18:18 [INFO] [stderr] | [INFO] [stderr] 10 | impl OAuth { [INFO] [stderr] | ---------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 18 | pub async fn get_access_token(&mut self, _nodelink: &NodelinkMock) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DeezerSource` is never constructed [INFO] [stderr] --> src/sources/deezer.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct DeezerSource; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `BandcampSource` is never constructed [INFO] [stderr] --> src/sources/bandcamp.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct BandcampSource; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `HttpSource` is never constructed [INFO] [stderr] --> src/sources/http.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct HttpSource; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `LocalSource` is never constructed [INFO] [stderr] --> src/sources/local.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct LocalSource; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `TwitchSource` is never constructed [INFO] [stderr] --> src/sources/twitch.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct TwitchSource; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `NicovideoSource` is never constructed [INFO] [stderr] --> src/sources/nicovideo.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct NicovideoSource; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `RedditSource` is never constructed [INFO] [stderr] --> src/sources/reddit.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct RedditSource; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `InstagramSource` is never constructed [INFO] [stderr] --> src/sources/instagram.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct InstagramSource; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `KwaiSource` is never constructed [INFO] [stderr] --> src/sources/kwai.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct KwaiSource; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `LastfmSource` is never constructed [INFO] [stderr] --> src/sources/lastfm.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct LastfmSource; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `GoogleTtsSource` is never constructed [INFO] [stderr] --> src/sources/google_tts.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct GoogleTtsSource; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `TidalSource` is never constructed [INFO] [stderr] --> src/sources/tidal.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct TidalSource; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ClientInfo` is never constructed [INFO] [stderr] --> src/types/client.rs:2:12 [INFO] [stderr] | [INFO] [stderr] 2 | pub struct ClientInfo { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `status`, `headers`, and `raw_body` are never read [INFO] [stderr] --> src/types/http.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 33 | pub struct ResponseResult { [INFO] [stderr] | -------------- fields in this struct [INFO] [stderr] 34 | pub status: StatusCode, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 35 | pub headers: HeaderMap, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 36 | pub body: Option, [INFO] [stderr] 37 | pub raw_body: Option>, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `FileConfig` is never constructed [INFO] [stderr] --> src/types/logger.rs:1:12 [INFO] [stderr] | [INFO] [stderr] 1 | pub struct FileConfig { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `LoggingConfig` is never constructed [INFO] [stderr] --> src/types/logger.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct LoggingConfig { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Config` is never constructed [INFO] [stderr] --> src/types/logger.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Config { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `CreatePlayer`, `LoadTracks`, `LoadLyrics`, and `GetSources` are never constructed [INFO] [stderr] --> src/types/audio_engine.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub enum AudioEngineCommand { [INFO] [stderr] | ------------------ variants in this enum [INFO] [stderr] 6 | CreatePlayer { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 23 | LoadTracks { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 27 | LoadLyrics { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 31 | GetSources { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AudioEngineCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: function `init_file_logger` is never used [INFO] [stderr] --> src/utils/initLogger.rs:9:8 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn init_file_logger(config: &LoggingConfig) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `init_logger` is never used [INFO] [stderr] --> src/utils/initLogger.rs:48:8 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn init_logger(config: Config) -> Option { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `validate_property` is never used [INFO] [stderr] --> src/utils/validateProperty.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn validate_property(property: T, validator: F, error_message: &str) -> Result<(), String> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `check_for_updates` is never used [INFO] [stderr] --> src/utils/checkForUpdates.rs:4:14 [INFO] [stderr] | [INFO] [stderr] 4 | pub async fn check_for_updates() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `index` is never used [INFO] [stderr] --> src/utils/logger.rs:41:8 [INFO] [stderr] | [INFO] [stderr] 17 | impl LogLevel { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 41 | fn index(&self) -> u8 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `SEMVER_REGEX` is never used [INFO] [stderr] --> src/utils/parseSemver.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | static SEMVER_REGEX: Lazy = Lazy::new(|| { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Semver` is never constructed [INFO] [stderr] --> src/utils/parseSemver.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct Semver { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_semver` is never used [INFO] [stderr] --> src/utils/parseSemver.rs:17:8 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn parse_semver(version: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_client` is never used [INFO] [stderr] --> src/utils/parseClient.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn parse_client(agent: Option<&str>) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `generate_random_letters` is never used [INFO] [stderr] --> src/utils/generateRandomLetters.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn generate_random_letters(l: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `DISCORD_ID_REGEX` is never used [INFO] [stderr] --> src/utils/verifyDiscordID.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | static DISCORD_ID_REGEX: Lazy = Lazy::new(|| Regex::new(r"^\d{18,19}$").unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `verify_discord_id` is never used [INFO] [stderr] --> src/utils/verifyDiscordID.rs:6:8 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn verify_discord_id(id: impl ToString) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `verify_method` is never used [INFO] [stderr] --> src/utils/verifyMethod.rs:9:8 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn verify_method( [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `send_error_response` is never used [INFO] [stderr] --> src/utils/sendErrorResponse.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn send_error_response( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `load_hls` is never used [INFO] [stderr] --> src/utils/loadHLS.rs:6:14 [INFO] [stderr] | [INFO] [stderr] 6 | pub async fn load_hls(url: &str, _stream: &mut Vec /* Mocked stream */, _once_ended: bool, _should_end: bool) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `load_hls_playlist` is never used [INFO] [stderr] --> src/utils/loadHLSPlaylist.rs:7:14 [INFO] [stderr] | [INFO] [stderr] 7 | pub async fn load_hls_playlist(url: &str, stream: &mut Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rustlink` (bin "rustlink" test) generated 169 warnings (run `cargo fix --bin "rustlink" -p rustlink --tests` to apply 56 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.37s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rustlink-a48d42a7638fcfeb) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "6a670e17dd7c987b752a607a2b6e7e1f13caf5ab56411d51403ff740d309c87c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a670e17dd7c987b752a607a2b6e7e1f13caf5ab56411d51403ff740d309c87c", kill_on_drop: false }` [INFO] [stdout] 6a670e17dd7c987b752a607a2b6e7e1f13caf5ab56411d51403ff740d309c87c