[INFO] cloning repository https://github.com/qdev0/rustream
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/qdev0/rustream" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqdev0%2Frustream", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqdev0%2Frustream'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e12ba0070b22bc78266ebc9f0d2740dc40df08d4
[INFO] checking qdev0/rustream against try#943e2200e35c3825486c4671b6cab0107a07f8c1 for pr-148952
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqdev0%2Frustream" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/qdev0/rustream
[INFO] finished tweaking git repo https://github.com/qdev0/rustream
[INFO] tweaked toml for git repo https://github.com/qdev0/rustream written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/qdev0/rustream on toolchain 943e2200e35c3825486c4671b6cab0107a07f8c1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/qdev0/rustream 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" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 20e1367a3ac52a6d5194e50344ee232fb1da65d8a9540bb9682dae3ec3323302
[INFO] running `Command { std: "docker" "start" "-a" "20e1367a3ac52a6d5194e50344ee232fb1da65d8a9540bb9682dae3ec3323302", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "20e1367a3ac52a6d5194e50344ee232fb1da65d8a9540bb9682dae3ec3323302", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "20e1367a3ac52a6d5194e50344ee232fb1da65d8a9540bb9682dae3ec3323302", kill_on_drop: false }`
[INFO] [stdout] 20e1367a3ac52a6d5194e50344ee232fb1da65d8a9540bb9682dae3ec3323302
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7162bfbe11c0ab732b2e03d78daf7a53c847cce306dde17c2721f86734074acb
[INFO] running `Command { std: "docker" "start" "-a" "7162bfbe11c0ab732b2e03d78daf7a53c847cce306dde17c2721f86734074acb", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]    Compiling xml-rs v0.8.26
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling toml_datetime v0.6.9
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]     Checking futures-lite v2.6.0
[INFO] [stderr]    Compiling rustix v0.37.28
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]    Compiling cc v1.2.22
[INFO] [stderr]    Compiling icu_properties_data v2.0.0
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.1
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking accesskit v0.12.3
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]     Checking async-executor v1.13.2
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling wayland-sys v0.30.1
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking hashbrown v0.15.3
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking async-fs v1.6.0
[INFO] [stderr]    Compiling ogg-sys v0.0.9
[INFO] [stderr]    Compiling vorbis-sys v0.0.8
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking accesskit_consumer v0.16.1
[INFO] [stderr]    Compiling audiopus_sys v0.1.8
[INFO] [stderr]    Compiling openssl-sys v0.9.108
[INFO] [stderr]     Checking async-once-cell v0.5.4
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]     Checking dlv-list v0.3.0
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]    Compiling glutin_glx_sys v0.4.0
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking io-lifetimes v1.0.11
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking polling v2.8.0
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]     Checking xdg-home v1.3.0
[INFO] [stderr]     Checking nix v0.25.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling winit v0.28.7
[INFO] [stderr]    Compiling openssl v0.10.72
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling glutin_egl_sys v0.5.1
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking ahash v0.7.8
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking extended v0.1.0
[INFO] [stderr]    Compiling vorbis-encoder v0.1.4
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking audiopus v0.2.0
[INFO] [stderr]     Checking async-io v1.13.0
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]     Checking ordered-multimap v0.4.3
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking lame v0.1.3
[INFO] [stderr]     Checking half v2.6.0
[INFO] [stderr]     Checking rust-ini v0.18.0
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking clap_builder v4.5.37
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking predicates v3.1.3
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking cpal v0.15.3
[INFO] [stderr]    Compiling zvariant_utils v1.0.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking arboard v3.5.0
[INFO] [stderr]     Checking clap v4.5.37
[INFO] [stderr]    Compiling zvariant_derive v3.15.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling zbus_macros v3.15.2
[INFO] [stderr]    Compiling bytemuck_derive v1.9.3
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling enumflags2_derive v0.7.11
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking glutin v0.30.10
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]    Compiling mockall_derive v0.12.1
[INFO] [stderr]     Checking bytemuck v1.23.0
[INFO] [stderr]     Checking symphonia-core v0.5.4
[INFO] [stderr]     Checking tiny-skia-path v0.8.4
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking tokio v1.45.0
[INFO] [stderr]     Checking ecolor v0.24.1
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking emath v0.24.1
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking zerovec v0.11.2
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tiny-skia v0.8.4
[INFO] [stderr]     Checking calloop v0.10.6
[INFO] [stderr]     Checking ogg-opus v0.1.2
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling pest v2.8.0
[INFO] [stderr]     Checking epaint v0.24.1
[INFO] [stderr]     Checking symphonia-metadata v0.5.4
[INFO] [stderr]     Checking symphonia-codec-adpcm v0.5.4
[INFO] [stderr]     Checking symphonia-codec-pcm v0.5.4
[INFO] [stderr]     Checking egui v0.24.1
[INFO] [stderr]     Checking symphonia-utils-xiph v0.5.4
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.4
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking symphonia-format-mkv v0.5.4
[INFO] [stderr]     Checking symphonia-format-ogg v0.5.4
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking symphonia-codec-vorbis v0.5.4
[INFO] [stderr]     Checking symphonia-bundle-flac v0.5.4
[INFO] [stderr]     Checking symphonia-format-riff v0.5.4
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]    Compiling pest_meta v2.8.0
[INFO] [stderr]     Checking symphonia v0.5.4
[INFO] [stderr]     Checking rodio v0.17.3
[INFO] [stderr]     Checking mockall v0.12.1
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.0
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]    Compiling pest_generator v2.8.0
[INFO] [stderr]    Compiling pest_derive v2.8.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking egui_glow v0.24.1
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking webbrowser v0.8.15
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking enumflags2 v0.7.11
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]     Checking ron v0.7.1
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking zvariant v3.15.2
[INFO] [stderr]     Checking config v0.13.4
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking zbus_names v2.6.1
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking zbus v3.15.2
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking atspi-common v0.3.0
[INFO] [stderr]     Checking atspi-proxies v0.3.0
[INFO] [stderr]     Checking atspi-connection v0.3.0
[INFO] [stderr]     Checking atspi v0.19.0
[INFO] [stderr]     Checking accesskit_unix v0.6.2
[INFO] [stderr]     Checking sctk-adwaita v0.5.4
[INFO] [stderr]     Checking smithay-clipboard v0.6.6
[INFO] [stderr]     Checking accesskit_winit v0.15.0
[INFO] [stderr]     Checking glutin-winit v0.3.0
[INFO] [stderr]     Checking egui-winit v0.24.1
[INFO] [stderr]     Checking eframe v0.24.1
[INFO] [stderr]     Checking rustream v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `username`
[INFO] [stdout]    --> src/streaming/mod.rs:357:57
[INFO] [stdout]     |
[INFO] [stdout] 357 | ...                   mount_point: &str, username: &str, password: &str, port: u16) -> Result<(), RustreamError> {
[INFO] [stdout]     |                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_username`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `audio_system` is never read
[INFO] [stdout]   --> src/ui/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct RustreamApp {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     audio_system: AudioSystem,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `username`
[INFO] [stdout]    --> src/streaming/mod.rs:357:57
[INFO] [stdout]     |
[INFO] [stdout] 357 | ...                   mount_point: &str, username: &str, password: &str, port: u16) -> Result<(), RustreamError> {
[INFO] [stdout]     |                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_username`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `audio_system` is never read
[INFO] [stdout]   --> src/ui/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct RustreamApp {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     audio_system: AudioSystem,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `username`
[INFO] [stdout]    --> src/streaming/mod.rs:357:57
[INFO] [stdout]     |
[INFO] [stdout] 357 | ...                   mount_point: &str, username: &str, password: &str, port: u16) -> Result<(), RustreamError> {
[INFO] [stdout]     |                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_username`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `host`, `capture`, `playback`, `mixer`, `icecast_client`, and `streaming_active` are never read
[INFO] [stdout]   --> src/audio/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct AudioSystem {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 19 |     host: cpal::Host,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 20 |     devices: Vec<cpal::Device>,
[INFO] [stdout] 21 |     capture: Option<AudioCapture>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 22 |     playback: Option<AudioPlayback>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 23 |     mixer: AudioMixer,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |     icecast_client: Option<Arc<Mutex<IcecastClient>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     streaming_active: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/audio/mod.rs:67:12
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl AudioSystem {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn get_default_input_device(&self) -> Option<cpal::Device> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn get_default_output_device(&self) -> Option<cpal::Device> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn start_capture(&mut self) -> Result<Receiver<Vec<f32>>, RustreamError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn stop_capture(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn play_file(&mut self, path: PathBuf) -> Result<(), RustreamError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn stop_playback(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn set_system_volume(&mut self, volume: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn set_mic_volume(&mut self, volume: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn start_streaming(&mut self, config: IcecastConfig) -> Result<(), RustreamError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn stop_streaming(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn is_streaming(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn update_metadata(&mut self, title: &str, artist: &str) -> Result<(), RustreamError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `config`, `is_capturing`, and `sample_format` are never read
[INFO] [stdout]   --> src/audio/capture.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct AudioCapture {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 10 |     device: cpal::Device,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 11 |     config: cpal::StreamConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 12 |     is_capturing: Arc<AtomicBool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 13 |     sample_format: SampleFormat,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start_capture`, and `stop_capture` are never used
[INFO] [stdout]   --> src/audio/capture.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl AudioCapture {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(device: cpal::Device) -> Result<Self, RustreamError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn start_capture(&self) -> Result<Receiver<Vec<f32>>, RustreamError> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn stop_capture(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `config`, `is_playing`, and `sample_format` are never read
[INFO] [stdout]   --> src/audio/playback.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct AudioPlayback {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 17 |     device: cpal::Device,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     config: cpal::StreamConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 19 |     is_playing: Arc<AtomicBool>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 20 |     sample_format: SampleFormat,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `play_file`, and `stop_playback` are never used
[INFO] [stdout]    --> src/audio/playback.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl AudioPlayback {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  24 |     pub fn new(device: cpal::Device) -> Result<Self, RustreamError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  44 |     pub fn play_file(&self, path: PathBuf) -> Result<(), RustreamError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn stop_playback(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `system_volume`, `mic_volume`, `system_buffer`, and `mic_buffer` are never read
[INFO] [stdout]  --> src/audio/mixer.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct AudioMixer {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 4 |     system_volume: f32,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 5 |     mic_volume: f32,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 6 |     system_buffer: Arc<Mutex<Vec<f32>>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 7 |     mic_buffer: Arc<Mutex<Vec<f32>>>,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_system_volume`, `set_mic_volume`, and `mix` are never used
[INFO] [stdout]   --> src/audio/mixer.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl AudioMixer {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn set_system_volume(&mut self, volume: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn set_mic_volume(&mut self, volume: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn mix(&self, output: &mut [f32]) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `OggVorbis`, `Opus`, and `AAC` are never constructed
[INFO] [stdout]   --> src/streaming/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum StreamFormat {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 16 |     MP3,
[INFO] [stdout] 17 |     OggVorbis,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 18 |     Opus,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 19 |     AAC,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StreamFormat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `content_type` and `extension` are never used
[INFO] [stdout]   --> src/streaming/mod.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl StreamFormat {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 23 |     pub fn content_type(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn extension(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `audio_queue`, and `current_metadata` are never read
[INFO] [stdout]   --> src/streaming/mod.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct IcecastClient {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 78 |     config: IcecastConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     audio_queue: Arc<Mutex<Vec<Vec<f32>>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 83 |     current_metadata: Arc<Mutex<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/streaming/mod.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl IcecastClient {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  87 |     pub fn new(config: IcecastConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn connect(&mut self) -> Result<(), RustreamError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     fn start_streaming_thread(&self) -> Result<JoinHandle<()>, RustreamError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn is_connected(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn add_audio_data(&mut self, data: Vec<f32>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn update_metadata(&mut self, title: &str, artist: &str) -> Result<(), RustreamError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     fn try_alternate_metadata_update(&mut self, server_url: &str, song_text: &str, 
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AudioEncoder` is never used
[INFO] [stdout]  --> src/streaming/encoders.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait AudioEncoder: Send {
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MP3Encoder` is never constructed
[INFO] [stdout]  --> src/streaming/encoders.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct MP3Encoder {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/streaming/encoders.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl MP3Encoder {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(channels: u8, sample_rate: u32, bitrate: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VorbisEncoder` is never constructed
[INFO] [stdout]   --> src/streaming/encoders.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct VorbisEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/streaming/encoders.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl VorbisEncoder {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 66 |     pub fn new(channels: u8, sample_rate: u32, bitrate: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpusEncoder` is never constructed
[INFO] [stdout]    --> src/streaming/encoders.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct OpusEncoder {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/streaming/encoders.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl OpusEncoder {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 112 |     pub fn new(channels: u8, sample_rate: u32, bitrate: u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AACEncoder` is never constructed
[INFO] [stdout]    --> src/streaming/encoders.rs:151:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub struct AACEncoder {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/streaming/encoders.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl AACEncoder {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 158 |     pub fn new(channels: u8, sample_rate: u32, bitrate: u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `audio_system` is never read
[INFO] [stdout]   --> src/ui/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct RustreamApp {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     audio_system: AudioSystem,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Streaming`, `Playlist`, and `Metadata` are never constructed
[INFO] [stdout]   --> src/error/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum RustreamError {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 14 |     Streaming(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 15 |     Playlist(String),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 16 |     Metadata(String),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RustreamError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlaylistItem` is never constructed
[INFO] [stdout]  --> src/playlist/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct PlaylistItem {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Playlist` is never constructed
[INFO] [stdout]   --> src/playlist/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Playlist {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/playlist/mod.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Playlist {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 20 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn add_item(&mut self, item: PlaylistItem) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn remove_item(&mut self, index: usize) -> Option<PlaylistItem> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn next(&mut self) -> Option<&PlaylistItem> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn previous(&mut self) -> Option<&PlaylistItem> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn set_shuffle(&mut self, shuffle: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn set_repeat(&mut self, repeat: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn current(&self) -> Option<&PlaylistItem> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Metadata` is never constructed
[INFO] [stdout]  --> src/metadata/mod.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Metadata {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_file` are never used
[INFO] [stdout]   --> src/metadata/mod.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Metadata {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 20 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn from_file(path: &PathBuf) -> Result<Self, crate::error::RustreamError> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `username`
[INFO] [stdout]    --> src/streaming/mod.rs:357:57
[INFO] [stdout]     |
[INFO] [stdout] 357 | ...                   mount_point: &str, username: &str, password: &str, port: u16) -> Result<(), RustreamError> {
[INFO] [stdout]     |                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_username`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `host`, `capture`, `playback`, `mixer`, `icecast_client`, and `streaming_active` are never read
[INFO] [stdout]   --> src/audio/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct AudioSystem {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 19 |     host: cpal::Host,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 20 |     devices: Vec<cpal::Device>,
[INFO] [stdout] 21 |     capture: Option<AudioCapture>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 22 |     playback: Option<AudioPlayback>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 23 |     mixer: AudioMixer,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |     icecast_client: Option<Arc<Mutex<IcecastClient>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     streaming_active: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/audio/mod.rs:67:12
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl AudioSystem {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn get_default_input_device(&self) -> Option<cpal::Device> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn get_default_output_device(&self) -> Option<cpal::Device> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn start_capture(&mut self) -> Result<Receiver<Vec<f32>>, RustreamError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn stop_capture(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn play_file(&mut self, path: PathBuf) -> Result<(), RustreamError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn stop_playback(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn set_system_volume(&mut self, volume: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn set_mic_volume(&mut self, volume: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn start_streaming(&mut self, config: IcecastConfig) -> Result<(), RustreamError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn stop_streaming(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn is_streaming(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn update_metadata(&mut self, title: &str, artist: &str) -> Result<(), RustreamError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `config`, `is_capturing`, and `sample_format` are never read
[INFO] [stdout]   --> src/audio/capture.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct AudioCapture {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 10 |     device: cpal::Device,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 11 |     config: cpal::StreamConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 12 |     is_capturing: Arc<AtomicBool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 13 |     sample_format: SampleFormat,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start_capture`, and `stop_capture` are never used
[INFO] [stdout]   --> src/audio/capture.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl AudioCapture {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(device: cpal::Device) -> Result<Self, RustreamError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn start_capture(&self) -> Result<Receiver<Vec<f32>>, RustreamError> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn stop_capture(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `config`, `is_playing`, and `sample_format` are never read
[INFO] [stdout]   --> src/audio/playback.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct AudioPlayback {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 17 |     device: cpal::Device,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     config: cpal::StreamConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 19 |     is_playing: Arc<AtomicBool>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 20 |     sample_format: SampleFormat,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `play_file`, and `stop_playback` are never used
[INFO] [stdout]    --> src/audio/playback.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl AudioPlayback {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  24 |     pub fn new(device: cpal::Device) -> Result<Self, RustreamError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  44 |     pub fn play_file(&self, path: PathBuf) -> Result<(), RustreamError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn stop_playback(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `system_volume`, `mic_volume`, `system_buffer`, and `mic_buffer` are never read
[INFO] [stdout]  --> src/audio/mixer.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct AudioMixer {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 4 |     system_volume: f32,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 5 |     mic_volume: f32,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 6 |     system_buffer: Arc<Mutex<Vec<f32>>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 7 |     mic_buffer: Arc<Mutex<Vec<f32>>>,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_system_volume`, `set_mic_volume`, and `mix` are never used
[INFO] [stdout]   --> src/audio/mixer.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl AudioMixer {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn set_system_volume(&mut self, volume: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn set_mic_volume(&mut self, volume: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn mix(&self, output: &mut [f32]) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `OggVorbis`, `Opus`, and `AAC` are never constructed
[INFO] [stdout]   --> src/streaming/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum StreamFormat {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 16 |     MP3,
[INFO] [stdout] 17 |     OggVorbis,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 18 |     Opus,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 19 |     AAC,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StreamFormat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `content_type` and `extension` are never used
[INFO] [stdout]   --> src/streaming/mod.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl StreamFormat {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 23 |     pub fn content_type(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn extension(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `audio_queue`, and `current_metadata` are never read
[INFO] [stdout]   --> src/streaming/mod.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct IcecastClient {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 78 |     config: IcecastConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     audio_queue: Arc<Mutex<Vec<Vec<f32>>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 83 |     current_metadata: Arc<Mutex<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/streaming/mod.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl IcecastClient {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  87 |     pub fn new(config: IcecastConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn connect(&mut self) -> Result<(), RustreamError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     fn start_streaming_thread(&self) -> Result<JoinHandle<()>, RustreamError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn is_connected(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn add_audio_data(&mut self, data: Vec<f32>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn update_metadata(&mut self, title: &str, artist: &str) -> Result<(), RustreamError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     fn try_alternate_metadata_update(&mut self, server_url: &str, song_text: &str, 
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AudioEncoder` is never used
[INFO] [stdout]  --> src/streaming/encoders.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait AudioEncoder: Send {
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MP3Encoder` is never constructed
[INFO] [stdout]  --> src/streaming/encoders.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct MP3Encoder {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/streaming/encoders.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl MP3Encoder {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(channels: u8, sample_rate: u32, bitrate: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VorbisEncoder` is never constructed
[INFO] [stdout]   --> src/streaming/encoders.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct VorbisEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/streaming/encoders.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl VorbisEncoder {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 66 |     pub fn new(channels: u8, sample_rate: u32, bitrate: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpusEncoder` is never constructed
[INFO] [stdout]    --> src/streaming/encoders.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct OpusEncoder {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/streaming/encoders.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl OpusEncoder {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 112 |     pub fn new(channels: u8, sample_rate: u32, bitrate: u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AACEncoder` is never constructed
[INFO] [stdout]    --> src/streaming/encoders.rs:151:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub struct AACEncoder {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/streaming/encoders.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl AACEncoder {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 158 |     pub fn new(channels: u8, sample_rate: u32, bitrate: u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `audio_system` is never read
[INFO] [stdout]   --> src/ui/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct RustreamApp {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     audio_system: AudioSystem,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Streaming`, `Playlist`, and `Metadata` are never constructed
[INFO] [stdout]   --> src/error/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum RustreamError {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 14 |     Streaming(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 15 |     Playlist(String),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 16 |     Metadata(String),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RustreamError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlaylistItem` is never constructed
[INFO] [stdout]  --> src/playlist/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct PlaylistItem {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Playlist` is never constructed
[INFO] [stdout]   --> src/playlist/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Playlist {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/playlist/mod.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Playlist {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 20 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn add_item(&mut self, item: PlaylistItem) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn remove_item(&mut self, index: usize) -> Option<PlaylistItem> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn next(&mut self) -> Option<&PlaylistItem> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn previous(&mut self) -> Option<&PlaylistItem> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn set_shuffle(&mut self, shuffle: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn set_repeat(&mut self, repeat: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn current(&self) -> Option<&PlaylistItem> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Metadata` is never constructed
[INFO] [stdout]  --> src/metadata/mod.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Metadata {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_file` are never used
[INFO] [stdout]   --> src/metadata/mod.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Metadata {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 20 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn from_file(path: &PathBuf) -> Result<Self, crate::error::RustreamError> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 16s
[INFO] running `Command { std: "docker" "inspect" "7162bfbe11c0ab732b2e03d78daf7a53c847cce306dde17c2721f86734074acb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7162bfbe11c0ab732b2e03d78daf7a53c847cce306dde17c2721f86734074acb", kill_on_drop: false }`
[INFO] [stdout] 7162bfbe11c0ab732b2e03d78daf7a53c847cce306dde17c2721f86734074acb
