[INFO] cloning repository https://github.com/liquid-07/mujick
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/liquid-07/mujick" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliquid-07%2Fmujick", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliquid-07%2Fmujick'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3b10446197603ad82198b39de815675b54165136
[INFO] checking liquid-07/mujick against 49a6044d37d694890450f52ceaceb66277a36b1e for pr-161154
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliquid-07%2Fmujick" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/liquid-07/mujick
[INFO] finished tweaking git repo https://github.com/liquid-07/mujick
[INFO] tweaked toml for git repo https://github.com/liquid-07/mujick written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/liquid-07/mujick on toolchain 49a6044d37d694890450f52ceaceb66277a36b1e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+49a6044d37d694890450f52ceaceb66277a36b1e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/liquid-07/mujick 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" "+49a6044d37d694890450f52ceaceb66277a36b1e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] fd70475ce406be29a2d94eb6c0645da38341de60e6e418e4fe87f6f87a2cac75
[INFO] running `Command { std: "docker" "start" "fd70475ce406be29a2d94eb6c0645da38341de60e6e418e4fe87f6f87a2cac75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fd70475ce406be29a2d94eb6c0645da38341de60e6e418e4fe87f6f87a2cac75", 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" "fd70475ce406be29a2d94eb6c0645da38341de60e6e418e4fe87f6f87a2cac75" "/opt/rustwide/cargo-home/bin/cargo" "+49a6044d37d694890450f52ceaceb66277a36b1e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fd70475ce406be29a2d94eb6c0645da38341de60e6e418e4fe87f6f87a2cac75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fd70475ce406be29a2d94eb6c0645da38341de60e6e418e4fe87f6f87a2cac75" "/opt/rustwide/cargo-home/bin/cargo" "+49a6044d37d694890450f52ceaceb66277a36b1e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling cc v1.2.34
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]     Checking symphonia-core v0.5.5
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking hashbrown v0.15.4
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling rustversion v1.0.21
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling crc v3.3.0
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]     Checking symphonia-metadata v0.5.5
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]     Checking symphonia-utils-xiph v0.5.5
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling indexmap v2.11.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling owo-colors v4.2.1
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling convert_case v0.7.1
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]    Compiling cpal v0.16.0
[INFO] [stderr]     Checking extended v0.1.0
[INFO] [stderr]    Compiling color-spantrace v0.3.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]     Checking gimli v0.31.1
[INFO] [stderr]     Checking symphonia-format-riff v0.5.5
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking crc32fast v1.5.0
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]     Checking symphonia-format-ogg v0.5.5
[INFO] [stderr]     Checking symphonia-codec-vorbis v0.5.5
[INFO] [stderr]     Checking symphonia-format-isomp4 v0.5.5
[INFO] [stderr]     Checking symphonia-bundle-flac v0.5.5
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]     Checking symphonia-codec-pcm v0.5.5
[INFO] [stderr]     Checking symphonia-codec-aac v0.5.5
[INFO] [stderr]     Checking indenter v0.3.3
[INFO] [stderr]     Checking iana-time-zone v0.1.64
[INFO] [stderr]     Checking anstyle v1.0.11
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]    Compiling litrs v0.4.2
[INFO] [stderr]     Checking rustc-demangle v0.1.25
[INFO] [stderr]     Checking anstyle-query v1.1.4
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling indoc v2.0.6
[INFO] [stderr]     Checking anstream v0.6.20
[INFO] [stderr]     Checking symphonia v0.5.5
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking ogg_pager v0.7.0
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking flate2 v1.1.2
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking data-encoding v2.9.0
[INFO] [stderr]     Checking jiff v0.2.15
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking addr2line v0.24.2
[INFO] [stderr]     Checking rodio v0.21.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking backtrace v0.3.75
[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 displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling lofty_attr v0.11.1
[INFO] [stderr]     Checking derive_more v2.0.1
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]     Checking lofty v0.22.4
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking tracing-error v0.2.1
[INFO] [stderr]     Checking flexi_logger v0.31.7
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking color-eyre v0.6.5
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]    Compiling instability v0.3.7
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking sqlx-core v0.8.6
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking sqlx-sqlite v0.8.6
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking Mujick v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Duplicate`
[INFO] [stdout]  --> src/main.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use flexi_logger::{Duplicate, FileSpec};
[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 imports: `Decoder`, `OutputStreamBuilder`, `OutputStream`, `Sink`, and `Source`
[INFO] [stdout]  --> src/main.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rodio::{Decoder, OutputStream, OutputStreamBuilder, Sink, Source};
[INFO] [stdout]   |             ^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::BufReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/main.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::database::repository`
[INFO] [stdout]  --> src/audio/audio_service.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::database::repository;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/audio/audio_service.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]   --> src/audio/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use mujick_data_initializer::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]   --> src/audio/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use mujick_data_initializer::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/database/repository.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::audio::{self, AudioDetails, AudioType};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/database/repository.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/gui/control.rs:1:57
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crossterm::event::{KeyCode, KeyEvent, KeyEventKind, KeyModifiers};
[INFO] [stdout]   |                                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Alignment`
[INFO] [stdout]   --> src/gui/gui.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gui::control::handel_controls`
[INFO] [stdout]   --> src/gui/gui.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::gui::control::handel_controls;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Widget`
[INFO] [stdout]  --> src/gui/song_area.rs:6:46
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ratatui::widgets::{Block, Borders, Tabs, Widget};
[INFO] [stdout]   |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoEnumIterator`
[INFO] [stdout]   --> src/gui/song_tab.rs:15:42
[INFO] [stdout]    |
[INFO] [stdout] 15 | use strum::{Display, EnumIter, FromRepr, IntoEnumIterator};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::log`
[INFO] [stdout]  --> src/gui/song_view.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::log;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Paragraph`
[INFO] [stdout]  --> src/gui/song_view.rs:7:67
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ratatui::widgets::{Block, Borders, List, ListItem, ListState, Paragraph, StatefulWidget};
[INFO] [stdout]   |                                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/gui/song_view.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::database::repository`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::database::repository;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duplicate`
[INFO] [stdout]  --> src/main.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use flexi_logger::{Duplicate, FileSpec};
[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 imports: `Decoder`, `OutputStreamBuilder`, `OutputStream`, `Sink`, and `Source`
[INFO] [stdout]  --> src/main.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rodio::{Decoder, OutputStream, OutputStreamBuilder, Sink, Source};
[INFO] [stdout]   |             ^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::BufReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/main.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::database::repository`
[INFO] [stdout]  --> src/audio/audio_service.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::database::repository;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/audio/audio_service.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]   --> src/audio/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use mujick_data_initializer::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]   --> src/audio/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use mujick_data_initializer::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/database/repository.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::audio::{self, AudioDetails, AudioType};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/database/repository.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/gui/control.rs:1:57
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crossterm::event::{KeyCode, KeyEvent, KeyEventKind, KeyModifiers};
[INFO] [stdout]   |                                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Alignment`
[INFO] [stdout]   --> src/gui/gui.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gui::control::handel_controls`
[INFO] [stdout]   --> src/gui/gui.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::gui::control::handel_controls;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Widget`
[INFO] [stdout]  --> src/gui/song_area.rs:6:46
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ratatui::widgets::{Block, Borders, Tabs, Widget};
[INFO] [stdout]   |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoEnumIterator`
[INFO] [stdout]   --> src/gui/song_tab.rs:15:42
[INFO] [stdout]    |
[INFO] [stdout] 15 | use strum::{Display, EnumIter, FromRepr, IntoEnumIterator};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::log`
[INFO] [stdout]  --> src/gui/song_view.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::log;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Paragraph`
[INFO] [stdout]  --> src/gui/song_view.rs:7:67
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ratatui::widgets::{Block, Borders, List, ListItem, ListState, Paragraph, StatefulWidget};
[INFO] [stdout]   |                                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/gui/song_view.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::database::repository`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::database::repository;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `audio_details_list`
[INFO] [stdout]   --> src/audio/mujick_data_initializer.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let audio_details_list = repository::get_all_audios().await.unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_audio_details_list`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `audio_details_list`
[INFO] [stdout]   --> src/audio/mujick_data_initializer.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let audio_details_list = repository::get_all_audios().await.unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_audio_details_list`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paragraph`
[INFO] [stdout]    --> src/gui/gui.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 219 |     let paragraph = Paragraph::new(content)
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_paragraph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paragraph_songlist`
[INFO] [stdout]    --> src/gui/gui.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let paragraph_songlist = Paragraph::new("soemthing agas")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_paragraph_songlist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]   --> src/gui/play_area.rs:47:57
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn render_control_area(f: &mut Frame<'_>, layout: Rect, app: &AppState) {
[INFO] [stdout]    |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paragraph`
[INFO] [stdout]    --> src/gui/gui.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 219 |     let paragraph = Paragraph::new(content)
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_paragraph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paragraph_songlist`
[INFO] [stdout]    --> src/gui/gui.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let paragraph_songlist = Paragraph::new("soemthing agas")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_paragraph_songlist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]   --> src/gui/play_area.rs:47:57
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn render_control_area(f: &mut Frame<'_>, layout: Rect, app: &AppState) {
[INFO] [stdout]    |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]   --> src/gui/play_area.rs:70:56
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn render_audio_description(f: &mut Frame, area: Rect, app: &AppState) {
[INFO] [stdout]    |                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/gui/play_area.rs:118:50
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn render_progressbar(f: &mut Frame, area: Rect, app: &AppState) {
[INFO] [stdout]     |                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/gui/song_area.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     for i in 1..100 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/gui/song_area.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         for i in 1..100 {}
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]   --> src/gui/play_area.rs:70:56
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn render_audio_description(f: &mut Frame, area: Rect, app: &AppState) {
[INFO] [stdout]    |                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/gui/play_area.rs:118:50
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn render_progressbar(f: &mut Frame, area: Rect, app: &AppState) {
[INFO] [stdout]     |                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/gui/song_area.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     for i in 1..100 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_state`
[INFO] [stdout]   --> src/gui/song_tab.rs:73:60
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn render_tab1(self, area: Rect, buf: &mut Buffer, app_state: &mut AppState) {
[INFO] [stdout]    |                                                            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/gui/song_area.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         for i in 1..100 {}
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_state`
[INFO] [stdout]   --> src/gui/song_tab.rs:73:60
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn render_tab1(self, area: Rect, buf: &mut Buffer, app_state: &mut AppState) {
[INFO] [stdout]    |                                                            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init` is never used
[INFO] [stdout]   --> src/audio/audio_service.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) fn init() {}
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_audios_ref` is never used
[INFO] [stdout]   --> src/audio/audio_service.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn search_audios_ref<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_by_criteria` is never used
[INFO] [stdout]   --> src/audio/audio_service.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn filter_by_criteria(category: &CRITERIA, audio_details: &Vec<AudioDetails>) -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_by_criteria_value` is never used
[INFO] [stdout]   --> src/audio/audio_service.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn filter_by_criteria_value(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refresh` is never used
[INFO] [stdout]   --> src/audio/audio_service.rs:83:14
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub async fn refresh(audio_path_list: Vec<&PathBuf>) -> Result<Vec<AudioDetails>, AudioError> {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refresh_audio` is never used
[INFO] [stdout]   --> src/audio/mujick_data_initializer.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) async fn refresh_audio(
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `total_number_of_cpu` is never used
[INFO] [stdout]   --> src/audio/scanner.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn total_number_of_cpu() -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_path_of_audios` is never used
[INFO] [stdout]   --> src/database/repository.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | async fn get_path_of_audios() -> Result<HashSet<String>, Error> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_playing` is never read
[INFO] [stdout]   --> src/gui/gui.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct AppState {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 43 |     pub should_exit: bool,
[INFO] [stdout] 44 |     pub is_playing: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_key` is never used
[INFO] [stdout]   --> src/gui/gui.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn handle_key(key: KeyEvent, app_state: &mut AppState) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMPLETED` is never used
[INFO] [stdout]   --> src/gui/play_area.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const COMPLETED: Color = tailwind::BLUE.c800;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block` is never used
[INFO] [stdout]   --> src/gui/song_tab.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl SelectedTab {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn block(self) -> Block<'static> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init` is never used
[INFO] [stdout]   --> src/audio/audio_service.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) fn init() {}
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_audios_ref` is never used
[INFO] [stdout]   --> src/audio/audio_service.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn search_audios_ref<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_by_criteria` is never used
[INFO] [stdout]   --> src/audio/audio_service.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn filter_by_criteria(category: &CRITERIA, audio_details: &Vec<AudioDetails>) -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_by_criteria_value` is never used
[INFO] [stdout]   --> src/audio/audio_service.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn filter_by_criteria_value(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refresh` is never used
[INFO] [stdout]   --> src/audio/audio_service.rs:83:14
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub async fn refresh(audio_path_list: Vec<&PathBuf>) -> Result<Vec<AudioDetails>, AudioError> {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refresh_audio` is never used
[INFO] [stdout]   --> src/audio/mujick_data_initializer.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) async fn refresh_audio(
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `total_number_of_cpu` is never used
[INFO] [stdout]   --> src/audio/scanner.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn total_number_of_cpu() -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_path_of_audios` is never used
[INFO] [stdout]   --> src/database/repository.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | async fn get_path_of_audios() -> Result<HashSet<String>, Error> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_playing` is never read
[INFO] [stdout]   --> src/gui/gui.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct AppState {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 43 |     pub should_exit: bool,
[INFO] [stdout] 44 |     pub is_playing: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_key` is never used
[INFO] [stdout]   --> src/gui/gui.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn handle_key(key: KeyEvent, app_state: &mut AppState) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMPLETED` is never used
[INFO] [stdout]   --> src/gui/play_area.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const COMPLETED: Color = tailwind::BLUE.c800;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block` is never used
[INFO] [stdout]   --> src/gui/song_tab.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl SelectedTab {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn block(self) -> Block<'static> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 41s
[INFO] running `Command { std: "docker" "inspect" "fd70475ce406be29a2d94eb6c0645da38341de60e6e418e4fe87f6f87a2cac75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd70475ce406be29a2d94eb6c0645da38341de60e6e418e4fe87f6f87a2cac75", kill_on_drop: false }`
[INFO] [stdout] fd70475ce406be29a2d94eb6c0645da38341de60e6e418e4fe87f6f87a2cac75
