[INFO] fetching crate shukusai 0.0.0...
[INFO] testing shukusai-0.0.0 against 1.91.0 for beta-1.92-2
[INFO] extracting crate shukusai 0.0.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate shukusai 0.0.0
[INFO] finished tweaking crates.io crate shukusai 0.0.0
[INFO] tweaked toml for crates.io crate shukusai 0.0.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate shukusai 0.0.0 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 347 packages to latest compatible versions
[INFO] [stderr]       Adding block-sys v0.1.0-beta.1 (available: v0.1.0-beta.2)
[INFO] [stderr]       Adding block2 v0.2.0-alpha.6 (available: v0.2.0)
[INFO] [stderr]       Adding disk v0.0.1 (available: v0.1.21)
[INFO] [stderr]       Adding eframe v0.21.3 (available: v0.33.0)
[INFO] [stderr]       Adding egui v0.21.0 (available: v0.33.0)
[INFO] [stderr]       Adding egui_extras v0.21.0 (available: v0.33.0)
[INFO] [stderr]       Adding env_logger v0.10.2 (available: v0.11.8)
[INFO] [stderr]       Adding fast_image_resize v2.7.3 (available: v5.3.0)
[INFO] [stderr]       Adding iana-time-zone v0.1.60 (available: v0.1.64)
[INFO] [stderr]       Adding image v0.24.9 (available: v0.25.8)
[INFO] [stderr]       Adding infer v0.13.0 (available: v0.19.0)
[INFO] [stderr]       Adding js-sys v0.3.61 (available: v0.3.82)
[INFO] [stderr]       Adding lofty v0.11.0 (available: v0.22.4)
[INFO] [stderr]       Adding notify v5.2.0 (available: v8.2.0)
[INFO] [stderr]       Adding objc-sys v0.2.0-beta.2 (available: v0.2.0-beta.3)
[INFO] [stderr]       Adding objc2 v0.3.0-beta.3.patch-leaks.3 (available: v0.3.0-beta.5)
[INFO] [stderr]       Adding objc2-encode v2.0.0-pre.2 (available: v2.0.0)
[INFO] [stderr]       Adding readable v0.3.3 (available: v0.16.0)
[INFO] [stderr]       Adding strsim v0.10.0 (available: v0.11.1)
[INFO] [stderr]       Adding uuid v1.16.0 (available: v1.18.1)
[INFO] [stderr]       Adding wasm-bindgen v0.2.84 (available: v0.2.105)
[INFO] [stderr]       Adding wasm-bindgen-backend v0.2.84 (available: v0.2.104)
[INFO] [stderr]       Adding wasm-bindgen-futures v0.4.34 (available: v0.4.55)
[INFO] [stderr]       Adding wasm-bindgen-macro v0.2.84 (available: v0.2.105)
[INFO] [stderr]       Adding wasm-bindgen-macro-support v0.2.84 (available: v0.2.105)
[INFO] [stderr]       Adding wasm-bindgen-shared v0.2.84 (available: v0.2.105)
[INFO] [stderr]       Adding web-sys v0.3.61 (available: v0.3.82)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded notify v5.2.0
[INFO] [stderr]   Downloaded inotify v0.9.6
[INFO] [stderr]   Downloaded lofty_attr v0.6.0
[INFO] [stderr]   Downloaded rolock v0.1.2
[INFO] [stderr]   Downloaded egui_extras v0.21.0
[INFO] [stderr]   Downloaded ogg_pager v0.5.0
[INFO] [stderr]   Downloaded widestring v0.5.1
[INFO] [stderr]   Downloaded egui-wgpu v0.21.0
[INFO] [stderr]   Downloaded fast_image_resize v2.7.3
[INFO] [stderr]   Downloaded konst_macro_rules v0.2.19
[INFO] [stderr]   Downloaded konst v0.2.19
[INFO] [stderr]   Downloaded wgpu-types v0.15.2
[INFO] [stderr]   Downloaded webbrowser v0.8.15
[INFO] [stderr]   Downloaded lofty v0.11.0
[INFO] [stderr]   Downloaded wgpu v0.15.1
[INFO] [stderr]   Downloaded x11rb v0.13.2
[INFO] [stderr]   Downloaded wgpu-core v0.15.1
[INFO] [stderr]   Downloaded egui v0.21.0
[INFO] [stderr]   Downloaded hassle-rs v0.9.0
[INFO] [stderr]   Downloaded eframe v0.21.3
[INFO] [stderr]   Downloaded wgpu-hal v0.15.4
[INFO] [stderr]   Downloaded atomic_refcell v0.1.13
[INFO] [stderr]   Downloaded emath v0.21.0
[INFO] [stderr]   Downloaded directories v4.0.1
[INFO] [stderr]   Downloaded serde_plain v1.0.2
[INFO] [stderr]   Downloaded gethostname v1.1.0
[INFO] [stderr]   Downloaded egui-winit v0.21.1
[INFO] [stderr]   Downloaded pollster v0.3.0
[INFO] [stderr]   Downloaded naga v0.11.1
[INFO] [stderr]   Downloaded x11rb-protocol v0.13.2
[INFO] [stderr]   Downloaded ab_glyph_rasterizer v0.1.10
[INFO] [stderr]   Downloaded owned_ttf_parser v0.25.1
[INFO] [stderr]   Downloaded ecolor v0.21.0
[INFO] [stderr]   Downloaded epaint v0.21.0
[INFO] [stderr]   Downloaded disk v0.0.1
[INFO] [stderr]   Downloaded readable v0.3.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 739318c88a3ec686ee1c23959a973190a7e0f9fb56851c9070d820c5b7b55049
[INFO] running `Command { std: "docker" "start" "-a" "739318c88a3ec686ee1c23959a973190a7e0f9fb56851c9070d820c5b7b55049", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "739318c88a3ec686ee1c23959a973190a7e0f9fb56851c9070d820c5b7b55049", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "739318c88a3ec686ee1c23959a973190a7e0f9fb56851c9070d820c5b7b55049", kill_on_drop: false }`
[INFO] [stdout] 739318c88a3ec686ee1c23959a973190a7e0f9fb56851c9070d820c5b7b55049
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 855ace8f9058156f9742be7b1609c953c237196571d47ec65b1319ee50059745
[INFO] running `Command { std: "docker" "start" "-a" "855ace8f9058156f9742be7b1609c953c237196571d47ec65b1319ee50059745", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling scoped-tls v1.0.1
[INFO] [stderr]    Compiling ttf-parser v0.25.1
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling ab_glyph_rasterizer v0.1.10
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling flate2 v1.1.5
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.1
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling xcursor v0.3.10
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling strict-num v0.1.1
[INFO] [stderr]    Compiling ash v0.37.3+1.3.251
[INFO] [stderr]    Compiling tiny-skia-path v0.8.4
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling ecolor v0.21.0
[INFO] [stderr]    Compiling emath v0.21.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling gpu-descriptor-types v0.1.2
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling nix v0.25.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling memmap2 v0.5.10
[INFO] [stderr]    Compiling spirv v0.2.0+1.5.4
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling owned_ttf_parser v0.25.1
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling ab_glyph v0.2.32
[INFO] [stderr]    Compiling nohash-hasher v0.2.0
[INFO] [stderr]    Compiling winit v0.28.7
[INFO] [stderr]    Compiling naga v0.11.1
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling epaint v0.21.0
[INFO] [stderr]    Compiling calloop v0.10.6
[INFO] [stderr]    Compiling gpu-descriptor v0.2.4
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]    Compiling tiny-skia v0.8.4
[INFO] [stderr]    Compiling wgpu-types v0.15.2
[INFO] [stderr]    Compiling wayland-cursor v0.29.5
[INFO] [stderr]    Compiling glow v0.12.3
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling egui v0.21.0
[INFO] [stderr]    Compiling gethostname v1.1.0
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling konst_macro_rules v0.2.19
[INFO] [stderr]    Compiling konst v0.2.19
[INFO] [stderr]    Compiling type-map v0.5.1
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling webbrowser v0.8.15
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling dirs-sys v0.3.7
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.34
[INFO] [stderr]    Compiling x11rb v0.13.2
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling arboard v3.6.1
[INFO] [stderr]    Compiling wgpu-hal v0.15.4
[INFO] [stderr]    Compiling jpeg-decoder v0.3.2
[INFO] [stderr]    Compiling uuid v1.16.0
[INFO] [stderr]    Compiling cfb v0.7.3
[INFO] [stderr]    Compiling compact_str v0.7.1
[INFO] [stderr]    Compiling lofty_attr v0.6.0
[INFO] [stderr]    Compiling image v0.24.9
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling const_format v0.2.35
[INFO] [stderr]    Compiling directories v4.0.1
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling num-format v0.4.4
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling filetime v0.2.26
[INFO] [stderr]    Compiling ogg_pager v0.5.0
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling serde_plain v1.0.2
[INFO] [stderr]    Compiling pollster v0.3.0
[INFO] [stderr]    Compiling lofty v0.11.0
[INFO] [stderr]    Compiling wgpu-core v0.15.1
[INFO] [stderr]    Compiling readable v0.3.3
[INFO] [stderr]    Compiling egui_extras v0.21.0
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling disk v0.0.1
[INFO] [stderr]    Compiling env_logger v0.10.2
[INFO] [stderr]    Compiling notify v5.2.0
[INFO] [stderr]    Compiling infer v0.13.0
[INFO] [stderr]    Compiling fast_image_resize v2.7.3
[INFO] [stderr]    Compiling rolock v0.1.2
[INFO] [stderr]    Compiling wgpu v0.15.1
[INFO] [stderr]    Compiling sctk-adwaita v0.5.4
[INFO] [stderr]    Compiling smithay-clipboard v0.6.6
[INFO] [stderr]    Compiling egui-winit v0.21.1
[INFO] [stderr]    Compiling egui-wgpu v0.21.0
[INFO] [stderr]    Compiling eframe v0.21.3
[INFO] [stderr]    Compiling shukusai v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Keychain`
[INFO] [stdout]   --> src/audio/msg.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Keychain,
[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: `info`, `trace`, and `warn`
[INFO] [stdout]  --> src/audio/audio.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^       ^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `send`
[INFO] [stdout]   --> src/audio/audio.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 12 |     send,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlbumKey`, `ArtistKey`, `Keychain`, and `SongKey`
[INFO] [stdout]   --> src/audio/audio.rs:16:2
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Keychain,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 17 |     ArtistKey,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 18 |     AlbumKey,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 19 |     SongKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `trace`
[INFO] [stdout]  --> src/ccd/thread.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^ ^^^^^      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::NonZeroUsize`
[INFO] [stdout]  --> src/ccd/thread.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::num::NonZeroUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/ccd/msg.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `anyhow`, `bail`, and `ensure`
[INFO] [stdout]  --> src/ccd/ccd.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure};
[INFO] [stdout]   |              ^^^^^^ ^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `trace`
[INFO] [stdout]  --> src/ccd/ccd.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ok_debug`
[INFO] [stdout]   --> src/ccd/ccd.rs:10:2
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ok_debug,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlbumKey`, `Album`, `ArtistKey`, `Keychain`, and `SongKey`
[INFO] [stdout]   --> src/ccd/ccd.rs:16:2
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Album,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     Collection,
[INFO] [stdout] 18 |     Keychain,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 19 |     ArtistKey,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 20 |     AlbumKey,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     SongKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::collection::Art`
[INFO] [stdout]   --> src/ccd/ccd.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::collection::Art;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> src/ccd/ccd.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::path::{Path,PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `disk::Bincode`
[INFO] [stdout]   --> src/ccd/ccd.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use disk::Bincode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `anyhow` and `ensure`
[INFO] [stdout]  --> src/ccd/img.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure};
[INFO] [stdout]   |              ^^^^^^      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::codecs::png::PngEncoder`
[INFO] [stdout]  --> src/ccd/img.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::codecs::png::PngEncoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::codecs::jpeg::JpegEncoder`
[INFO] [stdout]  --> src/ccd/img.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use image::codecs::jpeg::JpegEncoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufWriter`
[INFO] [stdout]  --> src/ccd/img.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::BufWriter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::ImageEncoder`
[INFO] [stdout]  --> src/ccd/img.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use image::ImageEncoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::ColorType`
[INFO] [stdout]  --> src/ccd/img.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::ColorType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Resizer`
[INFO] [stdout]   --> src/ccd/img.rs:17:2
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Resizer,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KernelToCcd`
[INFO] [stdout]   --> src/ccd/convert.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 12 |     KernelToCcd,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]   --> src/ccd/convert.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crossbeam_channel::{Sender,Receiver};
[INFO] [stdout]    |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlbumKey`, `ArtistKey`, `Keychain`, and `SongKey`
[INFO] [stdout]   --> src/ccd/convert.rs:22:2
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Keychain,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 23 |     ArtistKey,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 24 |     AlbumKey,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 25 |     SongKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::*`
[INFO] [stdout]   --> src/ccd/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use convert::*;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveDate`
[INFO] [stdout]   --> src/ccd/date.rs:11:2
[INFO] [stdout]    |
[INFO] [stdout] 11 |     NaiveDate,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `date::*`
[INFO] [stdout]   --> src/ccd/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use date::*;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ensure`
[INFO] [stdout]  --> src/ccd/metadata.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `trace`
[INFO] [stdout]  --> src/ccd/metadata.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^ ^^^^^      ^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Picture` and `TaggedFile`
[INFO] [stdout]   --> src/ccd/metadata.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 12 |     TaggedFile,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Picture,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `skip_warn`
[INFO] [stdout]   --> src/ccd/metadata.rs:30:2
[INFO] [stdout]    |
[INFO] [stdout] 30 |     skip_warn,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]   --> src/ccd/metadata.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 | use std::sync::{Arc,Mutex};
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `metadata::*`
[INFO] [stdout]   --> src/ccd/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use metadata::*;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Collection`
[INFO] [stdout]   --> src/ccd/sort.rs:17:2
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Collection,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sort::*`
[INFO] [stdout]   --> src/ccd/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use sort::*;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KernelToCcd`
[INFO] [stdout]   --> src/ccd/walk.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 12 |     KernelToCcd,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]   --> src/ccd/walk.rs:15:32
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crossbeam_channel::{Sender,Receiver};
[INFO] [stdout]    |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `walk::*`
[INFO] [stdout]   --> src/ccd/mod.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use walk::*;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver` and `Sender`
[INFO] [stdout]  --> src/macros.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crossbeam_channel::{Sender,Receiver};
[INFO] [stdout]   |                         ^^^^^^ ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `RwLock`
[INFO] [stdout]  --> src/macros.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Mutex,RwLock};
[INFO] [stdout]   |                 ^^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rolock::RoLock`
[INFO] [stdout]  --> src/macros.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rolock::RoLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `skip`
[INFO] [stdout]   --> src/macros.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub use skip;
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `skip_debug`
[INFO] [stdout]    --> src/macros.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub use skip_debug;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fail`
[INFO] [stdout]    --> src/macros.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub use fail;
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `recv_or_die`
[INFO] [stdout]    --> src/macros.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub use recv_or_die;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info`, `trace`, and `warn`
[INFO] [stdout]  --> src/search/search.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^       ^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `anyhow`, `bail`, and `ensure`
[INFO] [stdout]  --> src/watch/watch.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure};
[INFO] [stdout]   |              ^^^^^^ ^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `trace`, and `warn`
[INFO] [stdout]  --> src/watch/watch.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |                      ^^^^ ^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `trace`
[INFO] [stdout]  --> src/collection/collection.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^ ^^^^^      ^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/collection/collection.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::Album`
[INFO] [stdout]   --> src/collection/art.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::Album;
[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/collection/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use art::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]  --> src/collection/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use art::*;
[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: `crate::macros::*`
[INFO] [stdout]  --> src/collection/album.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::macros::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `disk::prelude::*`
[INFO] [stdout]  --> src/collection/album.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use disk::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bincode_file`
[INFO] [stdout]  --> src/collection/album.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use disk::{Bincode,bincode_file};
[INFO] [stdout]   |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Artist`, `Collection`, and `Song`
[INFO] [stdout]   --> src/collection/album.rs:9:2
[INFO] [stdout]    |
[INFO] [stdout]  9 |     Collection,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 10 |     Artist,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 11 |     Song,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `UNKNOWN_ALBUM_BYTES` and `UNKNOWN_ALBUM`
[INFO] [stdout]   --> src/collection/album.rs:17:2
[INFO] [stdout]    |
[INFO] [stdout] 17 |     UNKNOWN_ALBUM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 18 |     UNKNOWN_ALBUM_BYTES,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Album` and `Collection`
[INFO] [stdout]  --> src/collection/artist.rs:6:2
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Album,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 7 |     AlbumKey,
[INFO] [stdout] 8 |     Collection,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Album`, `Artist`, `Collection`, and `SongKey`
[INFO] [stdout]   --> src/collection/song.rs:8:2
[INFO] [stdout]    |
[INFO] [stdout]  8 |     Artist,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]  9 |     Album,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 10 |     AlbumKey,
[INFO] [stdout] 11 |     SongKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 12 |     Collection
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Album`, `Artist`, `Collection`, and `Song`
[INFO] [stdout]  --> src/collection/key.rs:6:2
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Collection,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 7 |     Artist,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 8 |     Album,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 9 |     Song,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `disk::prelude::*`
[INFO] [stdout]  --> src/collection/slice.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use disk::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bincode_file`
[INFO] [stdout]  --> src/collection/slice.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use disk::{Bincode,bincode_file};
[INFO] [stdout]   |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error`, `anyhow`, `bail`, and `ensure`
[INFO] [stdout]  --> src/kernel/kernel.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure,Error};
[INFO] [stdout]   |              ^^^^^^ ^^^^ ^^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info`, `trace`, and `warn`
[INFO] [stdout]  --> src/kernel/kernel.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^       ^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/kernel/kernel.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Serialize,Deserialize};
[INFO] [stdout]   |             ^^^^^^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::volume::Volume`
[INFO] [stdout]   --> src/kernel/kernel.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::volume::Volume;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `anyhow`, `bail`, and `ensure`
[INFO] [stdout]  --> src/kernel/state.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure};
[INFO] [stdout]   |              ^^^^^^ ^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, `trace`, and `warn`
[INFO] [stdout]  --> src/kernel/state.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^ ^^^^^ ^^^^ ^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Song`
[INFO] [stdout]   --> src/kernel/msg.rs:14:2
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Song,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bincode`
[INFO] [stdout]  --> src/collection/slice.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use disk::{Bincode,bincode_file};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bincode`
[INFO] [stdout]  --> src/collection/album.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use disk::{Bincode,bincode_file};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f64`
[INFO] [stdout]   --> src/audio/audio.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Seek(f64)   => todo!(),
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_f64`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f64`
[INFO] [stdout]   --> src/audio/audio.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 |             Volume(f64) => todo!(),
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `queue_key`
[INFO] [stdout]    --> src/audio/audio.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 |             PlayQueueKey(queue_key) => todo!(),
[INFO] [stdout]     |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_queue_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_k`
[INFO] [stdout]   --> src/ccd/convert.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let to_k  = to_kernel.clone();
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_to_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_kernel`
[INFO] [stdout]   --> src/ccd/convert.rs:89:24
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn convert_art_worker(to_kernel: &Sender<CcdToKernel>, albums: &mut [Album]) {
[INFO] [stdout]    |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_kernel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ccd/date.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 119 |             ((Some(a), _, _), (Some(b),    _, _)) => if a > b { Ordering::Greater } else if a < b { Ordering::Less } else { Ordering::Equal },
[INFO] [stdout]     |             ------------------------------------- matches all the relevant values
[INFO] [stdout] 120 |             // Years + Months.
[INFO] [stdout] 121 |             ((Some(a1), Some(a2), _), (Some(b1), Some(b2), _)) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shukusai-039ea739b6662a53.long-type-17396174906754141115.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ccd/date.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 119 |             ((Some(a), _, _), (Some(b),    _, _)) => if a > b { Ordering::Greater } else if a < b { Ordering::Less } else { Ordering::Equal },
[INFO] [stdout]     |             ------------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 139 |             ((Some(a1), Some(a2), Some(a3)), (Some(b1), Some(b2), Some(b3))) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shukusai-039ea739b6662a53.long-type-17396174906754141115.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/ccd/date.rs:117:11
[INFO] [stdout]     |
[INFO] [stdout] 117 |             ((Some(a), _, _), (None,    _, _))    => Ordering::Greater,
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/ccd/date.rs:118:28
[INFO] [stdout]     |
[INFO] [stdout] 118 |             ((None,    _, _), (Some(b), _, _))    => Ordering::Less,
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_kernel`
[INFO] [stdout]   --> src/ccd/metadata.rs:93:3
[INFO] [stdout]    |
[INFO] [stdout] 93 |         to_kernel: &Sender<CcdToKernel>,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_kernel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/ccd/metadata.rs:160:8
[INFO] [stdout]     |
[INFO] [stdout] 160 |             Err(e) => { warn!("CCD | TaggedFile fail: {}{}", path.display(), SKIP); continue; },
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/ccd/metadata.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 |             Err(e) => { warn!("CCD | Tag fail: {}{}", path.display(), SKIP); continue; },
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/ccd/metadata.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 |             Err(e) => { warn!("CCD | Metadata fail: {}{}", path.display(), SKIP); continue; },
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track_total`
[INFO] [stdout]    --> src/ccd/metadata.rs:178:4
[INFO] [stdout]     |
[INFO] [stdout] 178 |             track_total,
[INFO] [stdout]     |             ^^^^^^^^^^^ help: try ignoring the field: `track_total: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `disc_total`
[INFO] [stdout]    --> src/ccd/metadata.rs:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 |             disc_total,
[INFO] [stdout]     |             ^^^^^^^^^^ help: try ignoring the field: `disc_total: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:125:7
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut memory:       Mutex<HashMap<String, (usize, HashMap<String, usize>)>> = Mutex::new(HashMap::new());
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:126:7
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let mut vec_artist:   Mutex<Vec<Artist>> = Mutex::new(vec![]);
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:127:7
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut vec_album:    Mutex<Vec<Album>>  = Mutex::new(vec![]);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:128:7
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut vec_song:     Mutex<Vec<Song>>   = Mutex::new(vec![]);
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:129:7
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut count_artist: Mutex<usize>       = Mutex::new(0);
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:130:7
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut count_album:  Mutex<usize>       = Mutex::new(0);
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:131:7
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let mut count_song:   Mutex<usize>       = Mutex::new(0);
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]   --> src/ccd/sort.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let first:  usize = artists[*a].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let _first:  usize = artists[*a].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ARR_LEN`
[INFO] [stdout]    |
[INFO] [stdout] 59 -             let first:  usize = artists[*a].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout] 59 +             let <kernel::state::State as disk::Bincode>::FILE_NAME::ARR_LEN:  usize = artists[*a].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `second`
[INFO] [stdout]   --> src/ccd/sort.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let second: usize = artists[*b].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let _second: usize = artists[*b].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ARR_LEN`
[INFO] [stdout]    |
[INFO] [stdout] 60 -             let second: usize = artists[*b].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout] 60 +             let <kernel::state::State as disk::Bincode>::FILE_NAME::ARR_LEN: usize = artists[*b].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sorted_albums`
[INFO] [stdout]    --> src/ccd/sort.rs:153:52
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub(super) fn sort_song_artist_lexi_album_release(sorted_albums: &[AlbumKey], albums: &[Album], songs: &[Song]) -> Vec<SongKey> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sorted_albums`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `artists`
[INFO] [stdout]    --> src/ccd/sort.rs:172:76
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub(super) fn sort_song_iterating_over_albums(sorted_albums: &[AlbumKey], artists: &[Artist], albums: &[Album]) -> Vec<SongKey> {
[INFO] [stdout]     |                                                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_artists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/ccd/walk.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     Err(err) => continue, // TODO: log error.
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_kernel`
[INFO] [stdout]   --> src/ccd/walk.rs:25:3
[INFO] [stdout]    |
[INFO] [stdout] 25 |         to_kernel: &Sender<CcdToKernel>,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_kernel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/watch/watch.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 |         if let Err(e) = Stop::create_dir() { error!("Watch | Could not create signal folder"); }
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/collection/collection.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/kernel/kernel.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 |             Err(e) => Self::init(None, None, to_frontend, from_frontend),
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string`
[INFO] [stdout]    --> src/kernel/kernel.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 Failed(string)            => (), // TODO: Forward to `GUI`.
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string`
[INFO] [stdout]    --> src/kernel/kernel.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 Update(string)            => (), // TODO: Forward to `GUI`.
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_ccd`
[INFO] [stdout]    --> src/kernel/kernel.rs:346:8
[INFO] [stdout]     |
[INFO] [stdout] 346 |         let (to_ccd,   ccd_recv) = crossbeam_channel::unbounded::<KernelToCcd>();
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_ccd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TimestampUpdate` and `PathError` are never constructed
[INFO] [stdout]   --> src/audio/msg.rs:20:2
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) enum AudioToKernel {
[INFO] [stdout]    |                 ------------- variants in this enum
[INFO] [stdout] 20 |     TimestampUpdate(f64), // We've played the current song for `x` seconds.
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     PathError(String),    // `Path` error occured when trying to play a song.
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Seek` and `NewState` are never constructed
[INFO] [stdout]   --> src/audio/msg.rs:30:2
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) enum KernelToAudio {
[INFO] [stdout]    |                 ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 30 |     Seek(f64),   // Seek to point in current song.
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     NewState(RoLock<State>),        // Here's a new `State` pointer.
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `to_kernel` is never read
[INFO] [stdout]   --> src/audio/audio.rs:34:2
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(crate) struct Audio {
[INFO] [stdout]    |                   ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     to_kernel:   Sender<AudioToKernel>,   // Channel TO `Kernel`
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AudioType` is never used
[INFO] [stdout]   --> src/ccd/mime.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(super) enum AudioType {
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Failed` and `Update` are never constructed
[INFO] [stdout]   --> src/ccd/msg.rs:17:2
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) enum CcdToKernel {
[INFO] [stdout]    |                 ----------- variants in this enum
[INFO] [stdout] 16 |     NewCollection(Collection), // Here's the new (or modified) `Collection`.
[INFO] [stdout] 17 |     Failed(anyhow::Error),     // Creating new or converting `Collection` has failed.
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     Update(String),            // This is the current `Path/Artist/Album/Song` I'm working on and the `%` of work done.
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Die` is never constructed
[INFO] [stdout]   --> src/ccd/msg.rs:22:2
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) enum KernelToCcd {
[INFO] [stdout]    |                 ----------- variant in this enum
[INFO] [stdout] 22 |     Die, // You can rest now.
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALBUM_ART_MAX_SIZE_NUM` is never used
[INFO] [stdout]   --> src/ccd/img.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub(crate) const ALBUM_ART_MAX_SIZE_NUM: NonZeroU32 = unsafe { NonZeroU32::new_unchecked(ALBUM_ART_MAX_SIZE) };
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `art_from_raw` is never used
[INFO] [stdout]   --> src/ccd/img.rs:60:15
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub(crate) fn art_from_raw(bytes: &[u8], resizer: &mut fir::Resizer) -> Result<egui_extras::RetainedImage, anyhow::Error> {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_resizer` is never used
[INFO] [stdout]   --> src/ccd/img.rs:82:15
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub(crate) fn create_resizer() -> fir::Resizer {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bytes_to_dyn_image` is never used
[INFO] [stdout]   --> src/ccd/img.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn bytes_to_dyn_image(bytes: &[u8]) -> Result<image::DynamicImage, anyhow::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resize_dyn_image` is never used
[INFO] [stdout]   --> src/ccd/img.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn resize_dyn_image(img: image::DynamicImage, resizer: &mut fir::Resizer) -> Result<fir::Image<'static>, anyhow::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `sort_song_artist_lexi_album_release` is never used
[INFO] [stdout]    --> src/ccd/sort.rs:153:16
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl super::Ccd {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub(super) fn sort_song_artist_lexi_album_release(sorted_albums: &[AlbumKey], albums: &[Album], songs: &[Song]) -> Vec<SongKey> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/collection/art.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Art {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub(crate) const fn new() -> Self {
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OK` is never used
[INFO] [stdout]   --> src/constants.rs:56:18
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub(crate) const OK: &str   = " ... \x1b[1;92mOK\x1b[0m";
[INFO] [stdout]    |                  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAIL` is never used
[INFO] [stdout]   --> src/constants.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub(crate) const FAIL: &str = " ... \x1b[1;91mFAIL\x1b[0m";
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 34s
[INFO] running `Command { std: "docker" "inspect" "855ace8f9058156f9742be7b1609c953c237196571d47ec65b1319ee50059745", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "855ace8f9058156f9742be7b1609c953c237196571d47ec65b1319ee50059745", kill_on_drop: false }`
[INFO] [stdout] 855ace8f9058156f9742be7b1609c953c237196571d47ec65b1319ee50059745
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 26cee927403482ac9fe50dcd4e55b8fb3bc5b438992e6016765c8556ef6cf4a1
[INFO] running `Command { std: "docker" "start" "-a" "26cee927403482ac9fe50dcd4e55b8fb3bc5b438992e6016765c8556ef6cf4a1", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `Keychain`
[INFO] [stdout]   --> src/audio/msg.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Keychain,
[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: `info`, `trace`, and `warn`
[INFO] [stdout]  --> src/audio/audio.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^       ^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `send`
[INFO] [stdout]   --> src/audio/audio.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 12 |     send,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlbumKey`, `ArtistKey`, `Keychain`, and `SongKey`
[INFO] [stdout]   --> src/audio/audio.rs:16:2
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Keychain,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 17 |     ArtistKey,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 18 |     AlbumKey,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 19 |     SongKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `trace`
[INFO] [stdout]  --> src/ccd/thread.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^ ^^^^^      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::NonZeroUsize`
[INFO] [stdout]  --> src/ccd/thread.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::num::NonZeroUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/ccd/msg.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `anyhow`, `bail`, and `ensure`
[INFO] [stdout]  --> src/ccd/ccd.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure};
[INFO] [stdout]   |              ^^^^^^ ^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `trace`
[INFO] [stdout]  --> src/ccd/ccd.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ok_debug`
[INFO] [stdout]   --> src/ccd/ccd.rs:10:2
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ok_debug,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlbumKey`, `Album`, `ArtistKey`, `Keychain`, and `SongKey`
[INFO] [stdout]   --> src/ccd/ccd.rs:16:2
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Album,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     Collection,
[INFO] [stdout] 18 |     Keychain,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 19 |     ArtistKey,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 20 |     AlbumKey,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     SongKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::collection::Art`
[INFO] [stdout]   --> src/ccd/ccd.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::collection::Art;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> src/ccd/ccd.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::path::{Path,PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `disk::Bincode`
[INFO] [stdout]   --> src/ccd/ccd.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use disk::Bincode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `anyhow` and `ensure`
[INFO] [stdout]  --> src/ccd/img.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure};
[INFO] [stdout]   |              ^^^^^^      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::codecs::png::PngEncoder`
[INFO] [stdout]  --> src/ccd/img.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::codecs::png::PngEncoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::codecs::jpeg::JpegEncoder`
[INFO] [stdout]  --> src/ccd/img.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use image::codecs::jpeg::JpegEncoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufWriter`
[INFO] [stdout]  --> src/ccd/img.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::BufWriter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::ImageEncoder`
[INFO] [stdout]  --> src/ccd/img.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use image::ImageEncoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::ColorType`
[INFO] [stdout]  --> src/ccd/img.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::ColorType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Resizer`
[INFO] [stdout]   --> src/ccd/img.rs:17:2
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Resizer,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KernelToCcd`
[INFO] [stdout]   --> src/ccd/convert.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 12 |     KernelToCcd,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]   --> src/ccd/convert.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crossbeam_channel::{Sender,Receiver};
[INFO] [stdout]    |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlbumKey`, `ArtistKey`, `Keychain`, and `SongKey`
[INFO] [stdout]   --> src/ccd/convert.rs:22:2
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Keychain,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 23 |     ArtistKey,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 24 |     AlbumKey,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 25 |     SongKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::*`
[INFO] [stdout]   --> src/ccd/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use convert::*;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveDate`
[INFO] [stdout]   --> src/ccd/date.rs:11:2
[INFO] [stdout]    |
[INFO] [stdout] 11 |     NaiveDate,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `date::*`
[INFO] [stdout]   --> src/ccd/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use date::*;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ensure`
[INFO] [stdout]  --> src/ccd/metadata.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `trace`
[INFO] [stdout]  --> src/ccd/metadata.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^ ^^^^^      ^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Picture` and `TaggedFile`
[INFO] [stdout]   --> src/ccd/metadata.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 12 |     TaggedFile,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Picture,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `skip_warn`
[INFO] [stdout]   --> src/ccd/metadata.rs:30:2
[INFO] [stdout]    |
[INFO] [stdout] 30 |     skip_warn,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]   --> src/ccd/metadata.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 | use std::sync::{Arc,Mutex};
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `metadata::*`
[INFO] [stdout]   --> src/ccd/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use metadata::*;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Collection`
[INFO] [stdout]   --> src/ccd/sort.rs:17:2
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Collection,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sort::*`
[INFO] [stdout]   --> src/ccd/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use sort::*;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KernelToCcd`
[INFO] [stdout]   --> src/ccd/walk.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 12 |     KernelToCcd,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]   --> src/ccd/walk.rs:15:32
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crossbeam_channel::{Sender,Receiver};
[INFO] [stdout]    |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `walk::*`
[INFO] [stdout]   --> src/ccd/mod.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use walk::*;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver` and `Sender`
[INFO] [stdout]  --> src/macros.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crossbeam_channel::{Sender,Receiver};
[INFO] [stdout]   |                         ^^^^^^ ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `RwLock`
[INFO] [stdout]  --> src/macros.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Mutex,RwLock};
[INFO] [stdout]   |                 ^^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rolock::RoLock`
[INFO] [stdout]  --> src/macros.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rolock::RoLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `skip`
[INFO] [stdout]   --> src/macros.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub use skip;
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `skip_debug`
[INFO] [stdout]    --> src/macros.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub use skip_debug;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fail`
[INFO] [stdout]    --> src/macros.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub use fail;
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `recv_or_die`
[INFO] [stdout]    --> src/macros.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub use recv_or_die;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info`, `trace`, and `warn`
[INFO] [stdout]  --> src/search/search.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^       ^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `anyhow`, `bail`, and `ensure`
[INFO] [stdout]  --> src/watch/watch.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure};
[INFO] [stdout]   |              ^^^^^^ ^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `trace`, and `warn`
[INFO] [stdout]  --> src/watch/watch.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |                      ^^^^ ^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `trace`
[INFO] [stdout]  --> src/collection/collection.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^ ^^^^^      ^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/collection/collection.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::Album`
[INFO] [stdout]   --> src/collection/art.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::Album;
[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/collection/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use art::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]  --> src/collection/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use art::*;
[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: `crate::macros::*`
[INFO] [stdout]  --> src/collection/album.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::macros::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `disk::prelude::*`
[INFO] [stdout]  --> src/collection/album.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use disk::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bincode_file`
[INFO] [stdout]  --> src/collection/album.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use disk::{Bincode,bincode_file};
[INFO] [stdout]   |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Artist`, `Collection`, and `Song`
[INFO] [stdout]   --> src/collection/album.rs:9:2
[INFO] [stdout]    |
[INFO] [stdout]  9 |     Collection,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 10 |     Artist,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 11 |     Song,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `UNKNOWN_ALBUM_BYTES` and `UNKNOWN_ALBUM`
[INFO] [stdout]   --> src/collection/album.rs:17:2
[INFO] [stdout]    |
[INFO] [stdout] 17 |     UNKNOWN_ALBUM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 18 |     UNKNOWN_ALBUM_BYTES,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Album` and `Collection`
[INFO] [stdout]  --> src/collection/artist.rs:6:2
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Album,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 7 |     AlbumKey,
[INFO] [stdout] 8 |     Collection,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Album`, `Artist`, `Collection`, and `SongKey`
[INFO] [stdout]   --> src/collection/song.rs:8:2
[INFO] [stdout]    |
[INFO] [stdout]  8 |     Artist,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]  9 |     Album,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 10 |     AlbumKey,
[INFO] [stdout] 11 |     SongKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 12 |     Collection
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Album`, `Artist`, `Collection`, and `Song`
[INFO] [stdout]  --> src/collection/key.rs:6:2
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Collection,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 7 |     Artist,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 8 |     Album,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 9 |     Song,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `disk::prelude::*`
[INFO] [stdout]  --> src/collection/slice.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use disk::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bincode_file`
[INFO] [stdout]  --> src/collection/slice.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use disk::{Bincode,bincode_file};
[INFO] [stdout]   |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error`, `anyhow`, `bail`, and `ensure`
[INFO] [stdout]  --> src/kernel/kernel.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure,Error};
[INFO] [stdout]   |              ^^^^^^ ^^^^ ^^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info`, `trace`, and `warn`
[INFO] [stdout]  --> src/kernel/kernel.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^       ^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/kernel/kernel.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Serialize,Deserialize};
[INFO] [stdout]   |             ^^^^^^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::volume::Volume`
[INFO] [stdout]   --> src/kernel/kernel.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::volume::Volume;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `anyhow`, `bail`, and `ensure`
[INFO] [stdout]  --> src/kernel/state.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure};
[INFO] [stdout]   |              ^^^^^^ ^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, `trace`, and `warn`
[INFO] [stdout]  --> src/kernel/state.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^ ^^^^^ ^^^^ ^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Song`
[INFO] [stdout]   --> src/kernel/msg.rs:14:2
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Song,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bincode`
[INFO] [stdout]  --> src/collection/slice.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use disk::{Bincode,bincode_file};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bincode`
[INFO] [stdout]  --> src/collection/album.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use disk::{Bincode,bincode_file};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f64`
[INFO] [stdout]   --> src/audio/audio.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Seek(f64)   => todo!(),
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_f64`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f64`
[INFO] [stdout]   --> src/audio/audio.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 |             Volume(f64) => todo!(),
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `queue_key`
[INFO] [stdout]    --> src/audio/audio.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 |             PlayQueueKey(queue_key) => todo!(),
[INFO] [stdout]     |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_queue_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_k`
[INFO] [stdout]   --> src/ccd/convert.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let to_k  = to_kernel.clone();
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_to_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_kernel`
[INFO] [stdout]   --> src/ccd/convert.rs:89:24
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn convert_art_worker(to_kernel: &Sender<CcdToKernel>, albums: &mut [Album]) {
[INFO] [stdout]    |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_kernel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ccd/date.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 119 |             ((Some(a), _, _), (Some(b),    _, _)) => if a > b { Ordering::Greater } else if a < b { Ordering::Less } else { Ordering::Equal },
[INFO] [stdout]     |             ------------------------------------- matches all the relevant values
[INFO] [stdout] 120 |             // Years + Months.
[INFO] [stdout] 121 |             ((Some(a1), Some(a2), _), (Some(b1), Some(b2), _)) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shukusai-039ea739b6662a53.long-type-17396174906754141115.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ccd/date.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 119 |             ((Some(a), _, _), (Some(b),    _, _)) => if a > b { Ordering::Greater } else if a < b { Ordering::Less } else { Ordering::Equal },
[INFO] [stdout]     |             ------------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 139 |             ((Some(a1), Some(a2), Some(a3)), (Some(b1), Some(b2), Some(b3))) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shukusai-039ea739b6662a53.long-type-17396174906754141115.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/ccd/date.rs:117:11
[INFO] [stdout]     |
[INFO] [stdout] 117 |             ((Some(a), _, _), (None,    _, _))    => Ordering::Greater,
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/ccd/date.rs:118:28
[INFO] [stdout]     |
[INFO] [stdout] 118 |             ((None,    _, _), (Some(b), _, _))    => Ordering::Less,
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_kernel`
[INFO] [stdout]   --> src/ccd/metadata.rs:93:3
[INFO] [stdout]    |
[INFO] [stdout] 93 |         to_kernel: &Sender<CcdToKernel>,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_kernel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/ccd/metadata.rs:160:8
[INFO] [stdout]     |
[INFO] [stdout] 160 |             Err(e) => { warn!("CCD | TaggedFile fail: {}{}", path.display(), SKIP); continue; },
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/ccd/metadata.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 |             Err(e) => { warn!("CCD | Tag fail: {}{}", path.display(), SKIP); continue; },
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/ccd/metadata.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 |             Err(e) => { warn!("CCD | Metadata fail: {}{}", path.display(), SKIP); continue; },
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track_total`
[INFO] [stdout]    --> src/ccd/metadata.rs:178:4
[INFO] [stdout]     |
[INFO] [stdout] 178 |             track_total,
[INFO] [stdout]     |             ^^^^^^^^^^^ help: try ignoring the field: `track_total: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `disc_total`
[INFO] [stdout]    --> src/ccd/metadata.rs:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 |             disc_total,
[INFO] [stdout]     |             ^^^^^^^^^^ help: try ignoring the field: `disc_total: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:125:7
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut memory:       Mutex<HashMap<String, (usize, HashMap<String, usize>)>> = Mutex::new(HashMap::new());
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:126:7
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let mut vec_artist:   Mutex<Vec<Artist>> = Mutex::new(vec![]);
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:127:7
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut vec_album:    Mutex<Vec<Album>>  = Mutex::new(vec![]);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:128:7
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut vec_song:     Mutex<Vec<Song>>   = Mutex::new(vec![]);
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:129:7
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut count_artist: Mutex<usize>       = Mutex::new(0);
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:130:7
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut count_album:  Mutex<usize>       = Mutex::new(0);
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:131:7
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let mut count_song:   Mutex<usize>       = Mutex::new(0);
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]   --> src/ccd/sort.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let first:  usize = artists[*a].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let _first:  usize = artists[*a].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ARR_LEN`
[INFO] [stdout]    |
[INFO] [stdout] 59 -             let first:  usize = artists[*a].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout] 59 +             let <kernel::state::State as disk::Bincode>::FILE_NAME::ARR_LEN:  usize = artists[*a].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `second`
[INFO] [stdout]   --> src/ccd/sort.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let second: usize = artists[*b].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let _second: usize = artists[*b].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ARR_LEN`
[INFO] [stdout]    |
[INFO] [stdout] 60 -             let second: usize = artists[*b].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout] 60 +             let <kernel::state::State as disk::Bincode>::FILE_NAME::ARR_LEN: usize = artists[*b].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sorted_albums`
[INFO] [stdout]    --> src/ccd/sort.rs:153:52
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub(super) fn sort_song_artist_lexi_album_release(sorted_albums: &[AlbumKey], albums: &[Album], songs: &[Song]) -> Vec<SongKey> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sorted_albums`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `artists`
[INFO] [stdout]    --> src/ccd/sort.rs:172:76
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub(super) fn sort_song_iterating_over_albums(sorted_albums: &[AlbumKey], artists: &[Artist], albums: &[Album]) -> Vec<SongKey> {
[INFO] [stdout]     |                                                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_artists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/ccd/walk.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     Err(err) => continue, // TODO: log error.
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_kernel`
[INFO] [stdout]   --> src/ccd/walk.rs:25:3
[INFO] [stdout]    |
[INFO] [stdout] 25 |         to_kernel: &Sender<CcdToKernel>,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_kernel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/watch/watch.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 |         if let Err(e) = Stop::create_dir() { error!("Watch | Could not create signal folder"); }
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/collection/collection.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/kernel/kernel.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 |             Err(e) => Self::init(None, None, to_frontend, from_frontend),
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string`
[INFO] [stdout]    --> src/kernel/kernel.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 Failed(string)            => (), // TODO: Forward to `GUI`.
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string`
[INFO] [stdout]    --> src/kernel/kernel.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 Update(string)            => (), // TODO: Forward to `GUI`.
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_ccd`
[INFO] [stdout]    --> src/kernel/kernel.rs:346:8
[INFO] [stdout]     |
[INFO] [stdout] 346 |         let (to_ccd,   ccd_recv) = crossbeam_channel::unbounded::<KernelToCcd>();
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_ccd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TimestampUpdate` and `PathError` are never constructed
[INFO] [stdout]   --> src/audio/msg.rs:20:2
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) enum AudioToKernel {
[INFO] [stdout]    |                 ------------- variants in this enum
[INFO] [stdout] 20 |     TimestampUpdate(f64), // We've played the current song for `x` seconds.
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     PathError(String),    // `Path` error occured when trying to play a song.
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Seek` and `NewState` are never constructed
[INFO] [stdout]   --> src/audio/msg.rs:30:2
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) enum KernelToAudio {
[INFO] [stdout]    |                 ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 30 |     Seek(f64),   // Seek to point in current song.
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     NewState(RoLock<State>),        // Here's a new `State` pointer.
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `to_kernel` is never read
[INFO] [stdout]   --> src/audio/audio.rs:34:2
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(crate) struct Audio {
[INFO] [stdout]    |                   ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     to_kernel:   Sender<AudioToKernel>,   // Channel TO `Kernel`
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AudioType` is never used
[INFO] [stdout]   --> src/ccd/mime.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(super) enum AudioType {
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Failed` and `Update` are never constructed
[INFO] [stdout]   --> src/ccd/msg.rs:17:2
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) enum CcdToKernel {
[INFO] [stdout]    |                 ----------- variants in this enum
[INFO] [stdout] 16 |     NewCollection(Collection), // Here's the new (or modified) `Collection`.
[INFO] [stdout] 17 |     Failed(anyhow::Error),     // Creating new or converting `Collection` has failed.
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     Update(String),            // This is the current `Path/Artist/Album/Song` I'm working on and the `%` of work done.
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Die` is never constructed
[INFO] [stdout]   --> src/ccd/msg.rs:22:2
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) enum KernelToCcd {
[INFO] [stdout]    |                 ----------- variant in this enum
[INFO] [stdout] 22 |     Die, // You can rest now.
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALBUM_ART_MAX_SIZE_NUM` is never used
[INFO] [stdout]   --> src/ccd/img.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub(crate) const ALBUM_ART_MAX_SIZE_NUM: NonZeroU32 = unsafe { NonZeroU32::new_unchecked(ALBUM_ART_MAX_SIZE) };
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `art_from_raw` is never used
[INFO] [stdout]   --> src/ccd/img.rs:60:15
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub(crate) fn art_from_raw(bytes: &[u8], resizer: &mut fir::Resizer) -> Result<egui_extras::RetainedImage, anyhow::Error> {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_resizer` is never used
[INFO] [stdout]   --> src/ccd/img.rs:82:15
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub(crate) fn create_resizer() -> fir::Resizer {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bytes_to_dyn_image` is never used
[INFO] [stdout]   --> src/ccd/img.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn bytes_to_dyn_image(bytes: &[u8]) -> Result<image::DynamicImage, anyhow::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resize_dyn_image` is never used
[INFO] [stdout]   --> src/ccd/img.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn resize_dyn_image(img: image::DynamicImage, resizer: &mut fir::Resizer) -> Result<fir::Image<'static>, anyhow::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `sort_song_artist_lexi_album_release` is never used
[INFO] [stdout]    --> src/ccd/sort.rs:153:16
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl super::Ccd {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub(super) fn sort_song_artist_lexi_album_release(sorted_albums: &[AlbumKey], albums: &[Album], songs: &[Song]) -> Vec<SongKey> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/collection/art.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Art {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub(crate) const fn new() -> Self {
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OK` is never used
[INFO] [stdout]   --> src/constants.rs:56:18
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub(crate) const OK: &str   = " ... \x1b[1;92mOK\x1b[0m";
[INFO] [stdout]    |                  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAIL` is never used
[INFO] [stdout]   --> src/constants.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub(crate) const FAIL: &str = " ... \x1b[1;91mFAIL\x1b[0m";
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling shukusai v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: couldn't read `src/ccd/../../assets/images/icon/1024.png`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/ccd/img.rs:144:27
[INFO] [stdout]     |
[INFO] [stdout] 144 |     const IMG_BYTES: &[u8] = include_bytes!("../../assets/images/icon/1024.png");
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Keychain`
[INFO] [stdout]   --> src/audio/msg.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Keychain,
[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: `info`, `trace`, and `warn`
[INFO] [stdout]  --> src/audio/audio.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^       ^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `send`
[INFO] [stdout]   --> src/audio/audio.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 12 |     send,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlbumKey`, `ArtistKey`, `Keychain`, and `SongKey`
[INFO] [stdout]   --> src/audio/audio.rs:16:2
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Keychain,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 17 |     ArtistKey,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 18 |     AlbumKey,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 19 |     SongKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `trace`
[INFO] [stdout]  --> src/ccd/thread.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^ ^^^^^      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::NonZeroUsize`
[INFO] [stdout]  --> src/ccd/thread.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::num::NonZeroUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/ccd/msg.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `anyhow`, `bail`, and `ensure`
[INFO] [stdout]  --> src/ccd/ccd.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure};
[INFO] [stdout]   |              ^^^^^^ ^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trace`
[INFO] [stdout]  --> src/ccd/ccd.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ok_debug`
[INFO] [stdout]   --> src/ccd/ccd.rs:10:2
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ok_debug,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlbumKey`, `Album`, `ArtistKey`, `Keychain`, and `SongKey`
[INFO] [stdout]   --> src/ccd/ccd.rs:16:2
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Album,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     Collection,
[INFO] [stdout] 18 |     Keychain,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 19 |     ArtistKey,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 20 |     AlbumKey,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     SongKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::collection::Art`
[INFO] [stdout]   --> src/ccd/ccd.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::collection::Art;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> src/ccd/ccd.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::path::{Path,PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `disk::Bincode`
[INFO] [stdout]   --> src/ccd/ccd.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use disk::Bincode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ccd::*`
[INFO] [stdout]    --> src/ccd/ccd.rs:209:6
[INFO] [stdout]     |
[INFO] [stdout] 209 |     use crate::ccd::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `anyhow` and `ensure`
[INFO] [stdout]  --> src/ccd/img.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure};
[INFO] [stdout]   |              ^^^^^^      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::codecs::png::PngEncoder`
[INFO] [stdout]  --> src/ccd/img.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::codecs::png::PngEncoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::codecs::jpeg::JpegEncoder`
[INFO] [stdout]  --> src/ccd/img.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use image::codecs::jpeg::JpegEncoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufWriter`
[INFO] [stdout]  --> src/ccd/img.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::BufWriter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::ImageEncoder`
[INFO] [stdout]  --> src/ccd/img.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use image::ImageEncoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::ColorType`
[INFO] [stdout]  --> src/ccd/img.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::ColorType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Resizer`
[INFO] [stdout]   --> src/ccd/img.rs:17:2
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Resizer,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KernelToCcd`
[INFO] [stdout]   --> src/ccd/convert.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 12 |     KernelToCcd,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]   --> src/ccd/convert.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crossbeam_channel::{Sender,Receiver};
[INFO] [stdout]    |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlbumKey`, `ArtistKey`, `Keychain`, and `SongKey`
[INFO] [stdout]   --> src/ccd/convert.rs:22:2
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Keychain,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 23 |     ArtistKey,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 24 |     AlbumKey,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 25 |     SongKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::*`
[INFO] [stdout]   --> src/ccd/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use convert::*;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveDate`
[INFO] [stdout]   --> src/ccd/date.rs:11:2
[INFO] [stdout]    |
[INFO] [stdout] 11 |     NaiveDate,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/ccd/date.rs:170:6
[INFO] [stdout]     |
[INFO] [stdout] 170 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `date::*`
[INFO] [stdout]   --> src/ccd/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use date::*;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ensure`
[INFO] [stdout]  --> src/ccd/metadata.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `trace`
[INFO] [stdout]  --> src/ccd/metadata.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^ ^^^^^      ^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Picture` and `TaggedFile`
[INFO] [stdout]   --> src/ccd/metadata.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 12 |     TaggedFile,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Picture,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `skip_warn`
[INFO] [stdout]   --> src/ccd/metadata.rs:30:2
[INFO] [stdout]    |
[INFO] [stdout] 30 |     skip_warn,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]   --> src/ccd/metadata.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 | use std::sync::{Arc,Mutex};
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `metadata::*`
[INFO] [stdout]   --> src/ccd/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use metadata::*;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Collection`
[INFO] [stdout]   --> src/ccd/sort.rs:17:2
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Collection,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sort::*`
[INFO] [stdout]   --> src/ccd/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use sort::*;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KernelToCcd`
[INFO] [stdout]   --> src/ccd/walk.rs:12:2
[INFO] [stdout]    |
[INFO] [stdout] 12 |     KernelToCcd,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]   --> src/ccd/walk.rs:15:32
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crossbeam_channel::{Sender,Receiver};
[INFO] [stdout]    |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `walk::*`
[INFO] [stdout]   --> src/ccd/mod.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use walk::*;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver` and `Sender`
[INFO] [stdout]  --> src/macros.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crossbeam_channel::{Sender,Receiver};
[INFO] [stdout]   |                         ^^^^^^ ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `RwLock`
[INFO] [stdout]  --> src/macros.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Mutex,RwLock};
[INFO] [stdout]   |                 ^^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rolock::RoLock`
[INFO] [stdout]  --> src/macros.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rolock::RoLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `skip`
[INFO] [stdout]   --> src/macros.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub use skip;
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `skip_debug`
[INFO] [stdout]    --> src/macros.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub use skip_debug;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fail`
[INFO] [stdout]    --> src/macros.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub use fail;
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `recv_or_die`
[INFO] [stdout]    --> src/macros.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub use recv_or_die;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info`, `trace`, and `warn`
[INFO] [stdout]  --> src/search/search.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^       ^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `anyhow`, `bail`, and `ensure`
[INFO] [stdout]  --> src/watch/watch.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure};
[INFO] [stdout]   |              ^^^^^^ ^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `trace`, and `warn`
[INFO] [stdout]  --> src/watch/watch.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |                      ^^^^ ^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `trace`
[INFO] [stdout]  --> src/collection/collection.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^ ^^^^^      ^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/collection/collection.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::Album`
[INFO] [stdout]   --> src/collection/art.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::Album;
[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/collection/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use art::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]  --> src/collection/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use art::*;
[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: `crate::macros::*`
[INFO] [stdout]  --> src/collection/album.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::macros::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `disk::prelude::*`
[INFO] [stdout]  --> src/collection/album.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use disk::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bincode` and `bincode_file`
[INFO] [stdout]  --> src/collection/album.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use disk::{Bincode,bincode_file};
[INFO] [stdout]   |            ^^^^^^^ ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Artist`, `Collection`, and `Song`
[INFO] [stdout]   --> src/collection/album.rs:9:2
[INFO] [stdout]    |
[INFO] [stdout]  9 |     Collection,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 10 |     Artist,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 11 |     Song,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `UNKNOWN_ALBUM_BYTES` and `UNKNOWN_ALBUM`
[INFO] [stdout]   --> src/collection/album.rs:17:2
[INFO] [stdout]    |
[INFO] [stdout] 17 |     UNKNOWN_ALBUM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 18 |     UNKNOWN_ALBUM_BYTES,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Album` and `Collection`
[INFO] [stdout]  --> src/collection/artist.rs:6:2
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Album,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 7 |     AlbumKey,
[INFO] [stdout] 8 |     Collection,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Album`, `Artist`, `Collection`, and `SongKey`
[INFO] [stdout]   --> src/collection/song.rs:8:2
[INFO] [stdout]    |
[INFO] [stdout]  8 |     Artist,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]  9 |     Album,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 10 |     AlbumKey,
[INFO] [stdout] 11 |     SongKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 12 |     Collection
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Album`, `Artist`, `Collection`, and `Song`
[INFO] [stdout]  --> src/collection/key.rs:6:2
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Collection,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 7 |     Artist,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 8 |     Album,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 9 |     Song,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `disk::prelude::*`
[INFO] [stdout]  --> src/collection/slice.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use disk::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bincode_file`
[INFO] [stdout]  --> src/collection/slice.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use disk::{Bincode,bincode_file};
[INFO] [stdout]   |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error`, `anyhow`, `bail`, and `ensure`
[INFO] [stdout]  --> src/kernel/kernel.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure,Error};
[INFO] [stdout]   |              ^^^^^^ ^^^^ ^^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info`, `trace`, and `warn`
[INFO] [stdout]  --> src/kernel/kernel.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^       ^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/kernel/kernel.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Serialize,Deserialize};
[INFO] [stdout]   |             ^^^^^^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::volume::Volume`
[INFO] [stdout]   --> src/kernel/kernel.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::volume::Volume;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `anyhow`, `bail`, and `ensure`
[INFO] [stdout]  --> src/kernel/state.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{anyhow,bail,ensure};
[INFO] [stdout]   |              ^^^^^^ ^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, `trace`, and `warn`
[INFO] [stdout]  --> src/kernel/state.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info,error,warn,trace,debug};
[INFO] [stdout]   |           ^^^^ ^^^^^ ^^^^ ^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Song`
[INFO] [stdout]   --> src/kernel/msg.rs:14:2
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Song,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ccd/metadata.rs:632:42
[INFO] [stdout]     |
[INFO] [stdout] 632 |         let runtime = Ccd::tagged_file_runtime(&mp3);
[INFO] [stdout]     |                       ------------------------ ^^^^ expected `TaggedFile`, found `&TaggedFile`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/ccd/metadata.rs:424:5
[INFO] [stdout]     |
[INFO] [stdout] 424 |     fn tagged_file_runtime(tagged_file: lofty::TaggedFile) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^ ------------------------------
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 632 -         let runtime = Ccd::tagged_file_runtime(&mp3);
[INFO] [stdout] 632 +         let runtime = Ccd::tagged_file_runtime(mp3);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ccd/metadata.rs:640:37
[INFO] [stdout]     |
[INFO] [stdout] 640 |         let tag = Ccd::tagged_file_to_tag(&mp3).unwrap();
[INFO] [stdout]     |                   ----------------------- ^^^^ types differ in mutability
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut TaggedFile`
[INFO] [stdout]                        found reference `&TaggedFile`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/ccd/metadata.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 |     fn tagged_file_to_tag(tagged_file: &mut lofty::TaggedFile) -> Result<lofty::Tag, anyhow::Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^ -----------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ccd/metadata.rs:653:37
[INFO] [stdout]     |
[INFO] [stdout] 653 |         let tag = Ccd::tagged_file_to_tag(&mp3).unwrap();
[INFO] [stdout]     |                   ----------------------- ^^^^ types differ in mutability
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut TaggedFile`
[INFO] [stdout]                        found reference `&TaggedFile`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/ccd/metadata.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 |     fn tagged_file_to_tag(tagged_file: &mut lofty::TaggedFile) -> Result<lofty::Tag, anyhow::Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^ -----------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ccd/metadata.rs:654:45
[INFO] [stdout]     |
[INFO] [stdout] 654 |         let track_artist = Ccd::tag_track_artists(tag).unwrap();
[INFO] [stdout]     |                            ---------------------- ^^^ expected `&Tag`, found `Tag`
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/ccd/metadata.rs:474:5
[INFO] [stdout]     |
[INFO] [stdout] 474 |     fn tag_track_artists(tag: &lofty::Tag) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ ----------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 654 |         let track_artist = Ccd::tag_track_artists(&tag).unwrap();
[INFO] [stdout]     |                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ccd/metadata.rs:662:37
[INFO] [stdout]     |
[INFO] [stdout] 662 |         let tag = Ccd::tagged_file_to_tag(&mp3).unwrap();
[INFO] [stdout]     |                   ----------------------- ^^^^ types differ in mutability
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut TaggedFile`
[INFO] [stdout]                        found reference `&TaggedFile`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/ccd/metadata.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 |     fn tagged_file_to_tag(tagged_file: &mut lofty::TaggedFile) -> Result<lofty::Tag, anyhow::Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^ -----------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ccd/metadata.rs:663:44
[INFO] [stdout]     |
[INFO] [stdout] 663 |         let comp = Ccd::tag_compilation("hinto", tag);
[INFO] [stdout]     |                    --------------------          ^^^ expected `&Tag`, found `Tag`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/ccd/metadata.rs:495:5
[INFO] [stdout]     |
[INFO] [stdout] 495 |     fn tag_compilation<'a>(artist: &str, tag: &'a lofty::Tag) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^                   -------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 663 |         let comp = Ccd::tag_compilation("hinto", &tag);
[INFO] [stdout]     |                                                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ccd/metadata.rs:671:37
[INFO] [stdout]     |
[INFO] [stdout] 671 |         let tag = Ccd::tagged_file_to_tag(&mp3).unwrap();
[INFO] [stdout]     |                   ----------------------- ^^^^ types differ in mutability
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut TaggedFile`
[INFO] [stdout]                        found reference `&TaggedFile`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/ccd/metadata.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 |     fn tagged_file_to_tag(tagged_file: &mut lofty::TaggedFile) -> Result<lofty::Tag, anyhow::Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^ -----------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ccd/metadata.rs:672:14
[INFO] [stdout]     |
[INFO] [stdout] 672 |         let meta = Ccd::extract_tag_metadata(&mp3, &tag).unwrap();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ ----  ---- types differ in mutability
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              expected `TaggedFile`, found `&TaggedFile`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut lofty::Tag`
[INFO] [stdout]                        found reference `&lofty::Tag`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/ccd/metadata.rs:521:5
[INFO] [stdout]     |
[INFO] [stdout] 521 |     fn extract_tag_metadata<'a>(tagged_file: lofty::TaggedFile, tag: &'a mut lofty::Tag) -> Result<TagMetadata<'a>, anyhow::Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^     ------------------------------  -----------------------
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 672 -         let meta = Ccd::extract_tag_metadata(&mp3, &tag).unwrap();
[INFO] [stdout] 672 +         let meta = Ccd::extract_tag_metadata(mp3, &tag).unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bincode`
[INFO] [stdout]  --> src/collection/slice.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use disk::{Bincode,bincode_file};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f64`
[INFO] [stdout]   --> src/audio/audio.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Seek(f64)   => todo!(),
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_f64`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f64`
[INFO] [stdout]   --> src/audio/audio.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 |             Volume(f64) => todo!(),
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `queue_key`
[INFO] [stdout]    --> src/audio/audio.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 |             PlayQueueKey(queue_key) => todo!(),
[INFO] [stdout]     |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_queue_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from_ccd`
[INFO] [stdout]    --> src/ccd/ccd.rs:220:19
[INFO] [stdout]     |
[INFO] [stdout] 220 |         let (to_kernel, from_ccd) = crossbeam_channel::unbounded::<CcdToKernel>();
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_ccd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `collection`
[INFO] [stdout]    --> src/ccd/ccd.rs:229:7
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let collection = Ccd::convert_art(to_kernel, collection);
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let _collection = Ccd::convert_art(to_kernel, collection);
[INFO] [stdout]     |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `_`
[INFO] [stdout]     |
[INFO] [stdout] 229 -         let collection = Ccd::convert_art(to_kernel, collection);
[INFO] [stdout] 229 +         let kernel::volume::_ = Ccd::convert_art(to_kernel, collection);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_k`
[INFO] [stdout]   --> src/ccd/convert.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let to_k  = to_kernel.clone();
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_to_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_kernel`
[INFO] [stdout]   --> src/ccd/convert.rs:89:24
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn convert_art_worker(to_kernel: &Sender<CcdToKernel>, albums: &mut [Album]) {
[INFO] [stdout]    |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_kernel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ccd/date.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 119 |             ((Some(a), _, _), (Some(b),    _, _)) => if a > b { Ordering::Greater } else if a < b { Ordering::Less } else { Ordering::Equal },
[INFO] [stdout]     |             ------------------------------------- matches all the relevant values
[INFO] [stdout] 120 |             // Years + Months.
[INFO] [stdout] 121 |             ((Some(a1), Some(a2), _), (Some(b1), Some(b2), _)) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shukusai-bcbfbe371890ba09.long-type-14077741585354339282.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ccd/date.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 119 |             ((Some(a), _, _), (Some(b),    _, _)) => if a > b { Ordering::Greater } else if a < b { Ordering::Less } else { Ordering::Equal },
[INFO] [stdout]     |             ------------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 139 |             ((Some(a1), Some(a2), Some(a3)), (Some(b1), Some(b2), Some(b3))) => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shukusai-bcbfbe371890ba09.long-type-14077741585354339282.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/ccd/date.rs:117:11
[INFO] [stdout]     |
[INFO] [stdout] 117 |             ((Some(a), _, _), (None,    _, _))    => Ordering::Greater,
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/ccd/date.rs:118:28
[INFO] [stdout]     |
[INFO] [stdout] 118 |             ((None,    _, _), (Some(b), _, _))    => Ordering::Less,
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_kernel`
[INFO] [stdout]   --> src/ccd/metadata.rs:93:3
[INFO] [stdout]    |
[INFO] [stdout] 93 |         to_kernel: &Sender<CcdToKernel>,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_kernel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/ccd/metadata.rs:160:8
[INFO] [stdout]     |
[INFO] [stdout] 160 |             Err(e) => { warn!("CCD | TaggedFile fail: {}{}", path.display(), SKIP); continue; },
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/ccd/metadata.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 |             Err(e) => { warn!("CCD | Tag fail: {}{}", path.display(), SKIP); continue; },
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/ccd/metadata.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 |             Err(e) => { warn!("CCD | Metadata fail: {}{}", path.display(), SKIP); continue; },
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track_total`
[INFO] [stdout]    --> src/ccd/metadata.rs:178:4
[INFO] [stdout]     |
[INFO] [stdout] 178 |             track_total,
[INFO] [stdout]     |             ^^^^^^^^^^^ help: try ignoring the field: `track_total: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `disc_total`
[INFO] [stdout]    --> src/ccd/metadata.rs:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 |             disc_total,
[INFO] [stdout]     |             ^^^^^^^^^^ help: try ignoring the field: `disc_total: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:125:7
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut memory:       Mutex<HashMap<String, (usize, HashMap<String, usize>)>> = Mutex::new(HashMap::new());
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:126:7
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let mut vec_artist:   Mutex<Vec<Artist>> = Mutex::new(vec![]);
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:127:7
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut vec_album:    Mutex<Vec<Album>>  = Mutex::new(vec![]);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:128:7
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut vec_song:     Mutex<Vec<Song>>   = Mutex::new(vec![]);
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:129:7
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut count_artist: Mutex<usize>       = Mutex::new(0);
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:130:7
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut count_album:  Mutex<usize>       = Mutex::new(0);
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ccd/metadata.rs:131:7
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let mut count_song:   Mutex<usize>       = Mutex::new(0);
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]   --> src/ccd/sort.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let first:  usize = artists[*a].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let _first:  usize = artists[*a].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ARR_LEN`
[INFO] [stdout]    |
[INFO] [stdout] 59 -             let first:  usize = artists[*a].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout] 59 +             let <kernel::state::State as disk::Bincode>::FILE_NAME::ARR_LEN:  usize = artists[*a].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `second`
[INFO] [stdout]   --> src/ccd/sort.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let second: usize = artists[*b].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let _second: usize = artists[*b].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ARR_LEN`
[INFO] [stdout]    |
[INFO] [stdout] 60 -             let second: usize = artists[*b].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout] 60 +             let <kernel::state::State as disk::Bincode>::FILE_NAME::ARR_LEN: usize = artists[*b].albums.iter().map(|a| albums[a.inner()].songs.len()).sum();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sorted_albums`
[INFO] [stdout]    --> src/ccd/sort.rs:153:52
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub(super) fn sort_song_artist_lexi_album_release(sorted_albums: &[AlbumKey], albums: &[Album], songs: &[Song]) -> Vec<SongKey> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sorted_albums`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `artists`
[INFO] [stdout]    --> src/ccd/sort.rs:172:76
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub(super) fn sort_song_iterating_over_albums(sorted_albums: &[AlbumKey], artists: &[Artist], albums: &[Album]) -> Vec<SongKey> {
[INFO] [stdout]     |                                                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_artists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/ccd/walk.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     Err(err) => continue, // TODO: log error.
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_kernel`
[INFO] [stdout]   --> src/ccd/walk.rs:25:3
[INFO] [stdout]    |
[INFO] [stdout] 25 |         to_kernel: &Sender<CcdToKernel>,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_kernel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/watch/watch.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 |         if let Err(e) = Stop::create_dir() { error!("Watch | Could not create signal folder"); }
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/collection/collection.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/kernel/kernel.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 |             Err(e) => Self::init(None, None, to_frontend, from_frontend),
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string`
[INFO] [stdout]    --> src/kernel/kernel.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 Failed(string)            => (), // TODO: Forward to `GUI`.
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string`
[INFO] [stdout]    --> src/kernel/kernel.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 Update(string)            => (), // TODO: Forward to `GUI`.
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_ccd`
[INFO] [stdout]    --> src/kernel/kernel.rs:346:8
[INFO] [stdout]     |
[INFO] [stdout] 346 |         let (to_ccd,   ccd_recv) = crossbeam_channel::unbounded::<KernelToCcd>();
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_ccd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `shukusai` (lib test) due to 9 previous errors; 108 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "26cee927403482ac9fe50dcd4e55b8fb3bc5b438992e6016765c8556ef6cf4a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "26cee927403482ac9fe50dcd4e55b8fb3bc5b438992e6016765c8556ef6cf4a1", kill_on_drop: false }`
[INFO] [stdout] 26cee927403482ac9fe50dcd4e55b8fb3bc5b438992e6016765c8556ef6cf4a1
