[INFO] cloning repository https://github.com/tsirysndr/music-player
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tsirysndr/music-player" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsirysndr%2Fmusic-player", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsirysndr%2Fmusic-player'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3f9521fcc9ea150a0b9c62e9c4d2c3148fb44740
[INFO] checking tsirysndr/music-player against master#4d1bd0db7f489b22c6d8aa2385937a95412c015b for pr-114682
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsirysndr%2Fmusic-player" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/tsirysndr/music-player on toolchain 4d1bd0db7f489b22c6d8aa2385937a95412c015b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/tsirysndr/music-player
[INFO] finished tweaking git repo https://github.com/tsirysndr/music-player
[INFO] tweaked toml for git repo https://github.com/tsirysndr/music-player written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/tsirysndr/music-player already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sea-orm-migration v0.9.3
[INFO] [stderr]   Downloaded symphonia-codec-alac v0.5.2
[INFO] [stderr]   Downloaded sea-orm-macros v0.9.3
[INFO] [stderr]   Downloaded symphonia-format-wav v0.5.2
[INFO] [stderr]   Downloaded papergrid v0.5.1
[INFO] [stderr]   Downloaded async-graphql-tide v4.0.16
[INFO] [stderr]   Downloaded symphonia-codec-adpcm v0.5.2
[INFO] [stderr]   Downloaded symphonia-codec-pcm v0.5.2
[INFO] [stderr]   Downloaded local-ip-addr v0.1.1
[INFO] [stderr]   Downloaded tabled_derive v0.4.0
[INFO] [stderr]   Downloaded sea-query-driver v0.2.2
[INFO] [stderr]   Downloaded envtestkit v1.1.2
[INFO] [stderr]   Downloaded ogg_pager v0.3.2
[INFO] [stderr]   Downloaded lofty_attr v0.4.0
[INFO] [stderr]   Downloaded atlist-rs v0.2.1
[INFO] [stderr]   Downloaded cuid2 v0.1.0
[INFO] [stderr]   Downloaded symphonia-codec-aac v0.5.2
[INFO] [stderr]   Downloaded symphonia-format-isomp4 v0.5.2
[INFO] [stderr]   Downloaded upnp-client v0.1.9
[INFO] [stderr]   Downloaded tabled v0.8.0
[INFO] [stderr]   Downloaded sea-orm v0.9.3
[INFO] [stderr]   Downloaded chromecast v0.18.2
[INFO] [stderr]   Downloaded sea-query v0.26.4
[INFO] [stderr]   Downloaded mdns-sd v0.5.10
[INFO] [stderr]   Downloaded tantivy v0.19.2
[INFO] [stderr]   Downloaded sea-schema v0.9.4
[INFO] [stderr]   Downloaded proptest v1.1.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.3.2
[INFO] [stderr]   Downloaded lofty v0.9.0
[INFO] [stderr]   Downloaded elementtree v1.2.3
[INFO] [stderr]   Downloaded sea-orm-cli v0.9.3
[INFO] [stderr]   Downloaded colored_json v3.0.1
[INFO] [stderr]   Downloaded symphonia-bundle-flac v0.5.2
[INFO] [stderr]   Downloaded string_cache v0.8.5
[INFO] [stderr]   Downloaded cuid v1.3.1
[INFO] [stderr]   Downloaded tonic-web v0.4.0
[INFO] [stderr]   Downloaded symphonia-format-mkv v0.5.2
[INFO] [stderr]   Downloaded librespot-protocol v0.4.2
[INFO] [stderr]   Downloaded jsonrpsee-wasm-client v0.16.2
[INFO] [stderr]   Downloaded libmdns v0.7.4
[INFO] [stderr]   Downloaded xml-builder v0.5.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a57f4a1b5206236920c988123ef40eb0c527ff51204bc3343ad5a056c84cb691
[INFO] running `Command { std: "docker" "start" "-a" "a57f4a1b5206236920c988123ef40eb0c527ff51204bc3343ad5a056c84cb691", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a57f4a1b5206236920c988123ef40eb0c527ff51204bc3343ad5a056c84cb691", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a57f4a1b5206236920c988123ef40eb0c527ff51204bc3343ad5a056c84cb691", kill_on_drop: false }`
[INFO] [stdout] a57f4a1b5206236920c988123ef40eb0c527ff51204bc3343ad5a056c84cb691
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d29af9ac94fd1421f8ef9e2aedd663c1a6dae08805b35bdbb087b1949ef2b6b3
[INFO] running `Command { std: "docker" "start" "-a" "d29af9ac94fd1421f8ef9e2aedd663c1a6dae08805b35bdbb087b1949ef2b6b3", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.69
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling unicode-ident v1.0.6
[INFO] [stderr]    Compiling syn v1.0.107
[INFO] [stderr]    Compiling serde_derive v1.0.152
[INFO] [stderr]    Compiling serde v1.0.152
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling libc v0.2.139
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling erased-serde v0.3.24
[INFO] [stderr]     Checking once_cell v1.17.1
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]     Checking pin-project-lite v0.2.9
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]     Checking smallvec v1.10.0
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling thiserror v1.0.38
[INFO] [stderr]    Compiling parking_lot_core v0.9.7
[INFO] [stderr]    Compiling pkg-config v0.3.26
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling unicode-segmentation v1.10.1
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]     Checking futures-io v0.3.28
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling jobserver v0.1.25
[INFO] [stderr]     Checking itoa v1.0.5
[INFO] [stderr]     Checking futures-sink v0.3.28
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling indexmap v1.9.2
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling syn v2.0.15
[INFO] [stderr]    Compiling generic-array v0.14.6
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking socket2 v0.4.7
[INFO] [stderr]     Checking num_cpus v1.15.0
[INFO] [stderr]    Compiling tokio v1.25.0
[INFO] [stderr]     Checking ryu v1.0.12
[INFO] [stderr]    Compiling serde_json v1.0.93
[INFO] [stderr]    Compiling anyhow v1.0.70
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling crossbeam-utils v0.8.14
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking fastrand v1.9.0
[INFO] [stderr]     Checking percent-encoding v2.2.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking tracing-core v0.1.30
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]    Compiling proc-macro-hack v0.5.20+deprecated
[INFO] [stderr]     Checking event-listener v2.5.3
[INFO] [stderr]     Checking cpufeatures v0.2.5
[INFO] [stderr]     Checking form_urlencoded v1.1.0
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]     Checking unicode-bidi v0.3.10
[INFO] [stderr]    Compiling async-trait v0.1.64
[INFO] [stderr]    Compiling ucd-trie v0.1.5
[INFO] [stderr]     Checking idna v0.3.0
[INFO] [stderr]     Checking waker-fn v1.1.0
[INFO] [stderr]     Checking parking v2.0.0
[INFO] [stderr]     Checking regex-syntax v0.6.28
[INFO] [stderr]     Checking futures-lite v1.12.0
[INFO] [stderr]    Compiling libm v0.2.6
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]     Checking arrayvec v0.7.2
[INFO] [stderr]     Checking concurrent-queue v2.1.0
[INFO] [stderr]     Checking async-lock v2.6.0
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling rustversion v1.0.11
[INFO] [stderr]    Compiling polling v2.5.2
[INFO] [stderr]    Compiling signal-hook v0.3.15
[INFO] [stderr]    Compiling aho-corasick v0.7.20
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling async-io v1.12.0
[INFO] [stderr]     Checking base64 v0.21.0
[INFO] [stderr]     Checking regex v1.7.1
[INFO] [stderr]     Checking async-channel v1.8.0
[INFO] [stderr]    Compiling either v1.8.1
[INFO] [stderr]     Checking opaque-debug v0.3.0
[INFO] [stderr]     Checking httpdate v1.0.2
[INFO] [stderr]     Checking async-task v4.3.0
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]    Compiling async-process v1.6.0
[INFO] [stderr]     Checking atomic-waker v1.1.0
[INFO] [stderr]    Compiling time-core v0.1.0
[INFO] [stderr]     Checking blocking v1.3.0
[INFO] [stderr]    Compiling time-macros v0.2.7
[INFO] [stderr]     Checking async-executor v1.5.0
[INFO] [stderr]     Checking sct v0.7.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.3
[INFO] [stderr]    Compiling cfg-expr v0.11.0
[INFO] [stderr]    Compiling version-compare v0.1.1
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]     Checking digest v0.10.6
[INFO] [stderr]    Compiling thiserror-impl v1.0.38
[INFO] [stderr]    Compiling tokio-macros v1.8.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.23
[INFO] [stderr]    Compiling pin-project-internal v1.0.12
[INFO] [stderr]    Compiling pest v2.5.5
[INFO] [stderr]    Compiling async-attributes v1.1.2
[INFO] [stderr]     Checking futures-executor v0.3.28
[INFO] [stderr]    Compiling paste v1.0.11
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking tower-service v0.3.2
[INFO] [stderr]    Compiling rustls v0.20.8
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]     Checking mime v0.3.16
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking pin-project v1.0.12
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.8
[INFO] [stderr]     Checking futures v0.3.28
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking try-lock v0.2.4
[INFO] [stderr]    Compiling pest_meta v2.5.5
[INFO] [stderr]     Checking miniz_oxide v0.6.2
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]     Checking rustls-pemfile v1.0.2
[INFO] [stderr]     Checking spin v0.9.5
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]    Compiling pest_generator v2.5.5
[INFO] [stderr]    Compiling async-stream-impl v0.3.4
[INFO] [stderr]     Checking webpki v0.22.0
[INFO] [stderr]     Checking dlv-list v0.3.0
[INFO] [stderr]     Checking ordered-multimap v0.4.3
[INFO] [stderr]     Checking async-stream v0.3.4
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]     Checking siphasher v0.3.10
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking rust-ini v0.18.0
[INFO] [stderr]    Compiling pest_derive v2.5.5
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]    Compiling standback v0.2.17
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]     Checking pathdiff v0.2.1
[INFO] [stderr]     Checking dirs v4.0.0
[INFO] [stderr]     Checking cipher v0.2.5
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]     Checking encoding_rs v0.8.32
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking md5 v0.7.0
[INFO] [stderr]    Compiling rust_decimal v1.28.1
[INFO] [stderr]     Checking iana-time-zone v0.1.53
[INFO] [stderr]     Checking tempfile v3.3.0
[INFO] [stderr]    Compiling sha2 v0.10.6
[INFO] [stderr]     Checking flate2 v1.0.25
[INFO] [stderr]     Checking webpki-roots v0.22.6
[INFO] [stderr]     Checking flume v0.10.14
[INFO] [stderr]     Checking universal-hash v0.4.1
[INFO] [stderr]    Compiling const_fn v0.4.9
[INFO] [stderr]     Checking cpuid-bool v0.2.0
[INFO] [stderr]     Checking polyval v0.4.5
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling time-macros-impl v0.1.2
[INFO] [stderr]     Checking serde_fmt v1.0.1
[INFO] [stderr]     Checking bytes v1.4.0
[INFO] [stderr]     Checking http v0.2.9
[INFO] [stderr]     Checking url v2.3.1
[INFO] [stderr]     Checking value-bag-serde1 v1.4.2
[INFO] [stderr]     Checking value-bag v1.4.2
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]     Checking uuid v1.3.0
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]     Checking time v0.3.19
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking mio v0.8.6
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]     Checking kv-log-macro v1.0.7
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]     Checking ron v0.7.1
[INFO] [stderr]    Compiling system-deps v6.0.3
[INFO] [stderr]     Checking config v0.13.3
[INFO] [stderr]     Checking chrono v0.4.23
[INFO] [stderr]     Checking aes-soft v0.6.4
[INFO] [stderr]     Checking crypto-mac v0.10.1
[INFO] [stderr]    Compiling time v0.2.27
[INFO] [stderr]     Checking termcolor v1.2.0
[INFO] [stderr]     Checking music-player-settings v0.1.5 (/opt/rustwide/workdir/settings)
[INFO] [stderr]     Checking new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking hmac v0.10.1
[INFO] [stderr]     Checking aes v0.6.0
[INFO] [stderr]     Checking time-macros v0.1.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking ghash v0.3.1
[INFO] [stderr]     Checking ctr v0.6.0
[INFO] [stderr]     Checking phf_shared v0.10.0
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking aead v0.3.2
[INFO] [stderr]    Compiling cookie v0.14.4
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling libsqlite3-sys v0.24.2
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking precomputed-hash v0.1.1
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking aes-gcm v0.8.0
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking hkdf v0.10.0
[INFO] [stderr]    Compiling Inflector v0.11.4
[INFO] [stderr]     Checking crossbeam-channel v0.5.6
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]    Compiling http-types v2.12.0
[INFO] [stderr]     Checking string_cache v0.8.5
[INFO] [stderr]     Checking tokio-util v0.7.7
[INFO] [stderr]     Checking async-global-executor v2.3.1
[INFO] [stderr]     Checking tokio-rustls v0.23.4
[INFO] [stderr]     Checking async-std v1.12.0
[INFO] [stderr]     Checking serde_qs v0.8.5
[INFO] [stderr]     Checking h2 v0.3.15
[INFO] [stderr]     Checking webpki v0.21.4
[INFO] [stderr]     Checking infer v0.2.3
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking tokio-stream v0.1.12
[INFO] [stderr]     Checking sct v0.6.1
[INFO] [stderr]     Checking hyper v0.14.24
[INFO] [stderr]     Checking simple-mutex v1.1.5
[INFO] [stderr]     Checking bytemuck v1.13.0
[INFO] [stderr]    Compiling crc-catalog v2.2.0
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]     Checking symphonia-core v0.5.2
[INFO] [stderr]    Compiling sqlformat v0.2.1
[INFO] [stderr]    Compiling crc v3.0.1
[INFO] [stderr]     Checking async-dup v1.2.2
[INFO] [stderr]     Checking rustls v0.18.1
[INFO] [stderr]    Compiling futures-intrusive v0.4.2
[INFO] [stderr]    Compiling sqlx-rt v0.6.2
[INFO] [stderr]     Checking config v0.10.1
[INFO] [stderr]     Checking webpki-roots v0.20.0
[INFO] [stderr]    Compiling atoi v1.0.0
[INFO] [stderr]    Compiling stringprep v0.1.2
[INFO] [stderr]    Compiling sea-query-derive v0.2.0
[INFO] [stderr]    Compiling sea-query-driver v0.2.2
[INFO] [stderr]    Compiling err-derive v0.2.4
[INFO] [stderr]    Compiling hashlink v0.8.1
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking match_cfg v0.1.0
[INFO] [stderr]    Compiling dotenvy v0.15.6
[INFO] [stderr]     Checking hostname v0.3.1
[INFO] [stderr]     Checking async-tls v0.10.0
[INFO] [stderr]     Checking sea-query v0.26.4
[INFO] [stderr]     Checking deadpool v0.7.0
[INFO] [stderr]     Checking async-h1 v2.3.3
[INFO] [stderr]    Compiling async-stream-impl v0.2.1
[INFO] [stderr]     Checking dashmap v5.4.0
[INFO] [stderr]     Checking if-addrs v0.7.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.13
[INFO] [stderr]     Checking http-client v6.5.3
[INFO] [stderr]     Checking async-stream v0.2.1
[INFO] [stderr]     Checking dns-parser v0.8.0
[INFO] [stderr]    Compiling ouroboros_macro v0.15.6
[INFO] [stderr]     Checking net2 v0.2.38
[INFO] [stderr]     Checking multimap v0.8.3
[INFO] [stderr]     Checking nix v0.23.2
[INFO] [stderr]    Compiling sea-strum_macros v0.23.0
[INFO] [stderr]    Compiling bae v0.1.7
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking owo-colors v3.5.0
[INFO] [stderr]     Checking aliasable v0.1.3
[INFO] [stderr]     Checking env_logger v0.9.3
[INFO] [stderr]     Checking mdns-sd v0.5.10
[INFO] [stderr]    Compiling rayon-core v1.10.2
[INFO] [stderr]     Checking mdns v3.0.0
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling sea-orm-macros v0.9.3
[INFO] [stderr]     Checking crossbeam-deque v0.8.2
[INFO] [stderr]     Checking ownedbytes v0.4.0
[INFO] [stderr]     Checking symphonia-metadata v0.5.2
[INFO] [stderr]     Checking tantivy-common v0.4.0
[INFO] [stderr]    Compiling nom8 v0.2.0
[INFO] [stderr]     Checking combine v4.6.6
[INFO] [stderr]    Compiling minreq v2.6.0
[INFO] [stderr]     Checking tantivy-bitpacker v0.3.0
[INFO] [stderr]     Checking utf8-ranges v1.0.5
[INFO] [stderr]     Checking fastdivide v0.4.0
[INFO] [stderr]    Compiling toml_datetime v0.5.1
[INFO] [stderr]     Checking yansi v0.5.1
[INFO] [stderr]     Checking colored_json v3.0.1
[INFO] [stderr]     Checking rayon v1.6.1
[INFO] [stderr]     Checking fastfield_codecs v0.3.1
[INFO] [stderr]     Checking sea-strum v0.23.0
[INFO] [stderr]     Checking tantivy-fst v0.4.0
[INFO] [stderr]     Checking ouroboros v0.15.6
[INFO] [stderr]     Checking bitpacking v0.8.4
[INFO] [stderr]     Checking surf v2.3.2
[INFO] [stderr]     Checking elementtree v1.2.3
[INFO] [stderr]     Checking measure_time v0.8.2
[INFO] [stderr]     Checking fail v0.5.1
[INFO] [stderr]     Checking rust-stemmers v1.2.0
[INFO] [stderr]    Compiling lofty_attr v0.4.0
[INFO] [stderr]     Checking libmdns v0.7.4
[INFO] [stderr]     Checking ogg_pager v0.3.2
[INFO] [stderr]     Checking murmurhash32 v0.2.0
[INFO] [stderr]     Checking lru v0.7.8
[INFO] [stderr]     Checking music-player-discovery v0.1.3 (/opt/rustwide/workdir/discovery)
[INFO] [stderr]     Checking memmap2 v0.5.9
[INFO] [stderr]    Compiling toml_edit v0.18.1
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking levenshtein_automata v0.2.1
[INFO] [stderr]     Checking lz4_flex v0.9.5
[INFO] [stderr]     Checking xml-rs v0.8.4
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking xml-builder v0.5.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking htmlescape v0.3.1
[INFO] [stderr]     Checking oneshot v0.1.5
[INFO] [stderr]     Checking arc-swap v1.6.0
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]     Checking census v0.4.1
[INFO] [stderr]     Checking upnp-client v0.1.9
[INFO] [stderr]     Checking lofty v0.9.0
[INFO] [stderr]     Checking local-ip-addr v0.1.1
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]     Checking rustls-native-certs v0.6.2
[INFO] [stderr]     Checking symphonia-utils-xiph v0.5.2
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.84
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling glib-sys v0.15.10
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking os_str_bytes v6.4.1
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking walkdir v2.3.2
[INFO] [stderr]    Compiling proc-macro-crate v1.3.0
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]     Checking tracing-log v0.1.3
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]    Compiling clap_derive v3.2.18
[INFO] [stderr]    Compiling sea-schema-derive v0.1.0
[INFO] [stderr]     Checking rustls-webpki v0.100.1
[INFO] [stderr]     Checking sharded-slab v0.1.4
[INFO] [stderr]    Compiling rustls v0.21.0
[INFO] [stderr]     Checking tantivy-query-grammar v0.19.0
[INFO] [stderr]    Compiling bumpalo v3.12.0
[INFO] [stderr]     Checking textwrap v0.16.0
[INFO] [stderr]     Checking sea-schema v0.9.4
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.84
[INFO] [stderr]     Checking tracing-subscriber v0.3.16
[INFO] [stderr]     Checking tantivy v0.19.2
[INFO] [stderr]    Compiling gobject-sys v0.15.10
[INFO] [stderr]    Compiling protobuf v2.28.0
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.84
[INFO] [stderr]    Compiling prost-derive v0.11.6
[INFO] [stderr]    Compiling which v4.4.0
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling wasm-bindgen v0.2.84
[INFO] [stderr]     Checking symphonia-format-mkv v0.5.2
[INFO] [stderr]     Checking symphonia-codec-vorbis v0.5.2
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.84
[INFO] [stderr]     Checking symphonia-format-isomp4 v0.5.2
[INFO] [stderr]     Checking symphonia-bundle-flac v0.5.2
[INFO] [stderr]     Checking clap v3.2.23
[INFO] [stderr]     Checking symphonia-format-ogg v0.5.2
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.2
[INFO] [stderr]     Checking symphonia-format-wav v0.5.2
[INFO] [stderr]     Checking symphonia-codec-adpcm v0.5.2
[INFO] [stderr]     Checking symphonia-codec-aac v0.5.2
[INFO] [stderr]     Checking symphonia-codec-pcm v0.5.2
[INFO] [stderr]     Checking symphonia-codec-alac v0.5.2
[INFO] [stderr]     Checking tokio-rustls v0.24.0
[INFO] [stderr]     Checking symphonia v0.5.2
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking hyper-rustls v0.24.0
[INFO] [stderr]     Checking js-sys v0.3.61
[INFO] [stderr]     Checking webpki-roots v0.23.0
[INFO] [stderr]    Compiling prettyplease v0.1.23
[INFO] [stderr]     Checking tower-layer v0.3.2
[INFO] [stderr]    Compiling prost v0.11.6
[INFO] [stderr]     Checking sea-orm-cli v0.9.3
[INFO] [stderr]    Compiling axum-core v0.3.2
[INFO] [stderr]    Compiling backtrace v0.3.67
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling cpal v0.15.2
[INFO] [stderr]     Checking gimli v0.27.2
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling petgraph v0.6.3
[INFO] [stderr]     Checking alsa v0.7.0
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling prost-types v0.11.6
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking music-player-types v0.1.6 (/opt/rustwide/workdir/types)
[INFO] [stderr]     Checking music-player-audio v0.1.6 (/opt/rustwide/workdir/audio)
[INFO] [stderr]    Compiling phf_macros v0.8.0
[INFO] [stderr]    Compiling phf_codegen v0.8.0
[INFO] [stderr]    Compiling axum v0.6.7
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]    Compiling protobuf-codegen v2.28.0
[INFO] [stderr]     Checking object v0.30.3
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]    Compiling crunchy v0.1.6
[INFO] [stderr]     Checking rustc-demangle v0.1.21
[INFO] [stderr]     Checking addr2line v0.19.0
[INFO] [stderr]     Checking atlist-rs v0.2.1
[INFO] [stderr]     Checking http-range-header v0.3.0
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking tower-http v0.3.5
[INFO] [stderr]    Compiling prost-build v0.11.6
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]    Compiling protobuf-codegen-pure v2.28.0
[INFO] [stderr]     Checking tokio-io-timeout v1.2.0
[INFO] [stderr]     Checking sha-1 v0.9.8
[INFO] [stderr]    Compiling zerocopy-derive v0.3.2
[INFO] [stderr]     Checking num-complex v0.4.3
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking claxon v0.4.3
[INFO] [stderr]     Checking matchit v0.7.0
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]     Checking keccak v0.1.3
[INFO] [stderr]     Checking hound v3.5.0
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]     Checking proptest v1.1.0
[INFO] [stderr]     Checking sha3 v0.10.6
[INFO] [stderr]     Checking rodio v0.17.1
[INFO] [stderr]     Checking num v0.4.0
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]    Compiling tonic-build v0.8.4
[INFO] [stderr]     Checking zerocopy v0.6.1
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking sha-1 v0.10.1
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking base-x v0.2.11
[INFO] [stderr]    Compiling protobuf v3.2.0
[INFO] [stderr]     Checking alloc-no-stdlib v2.0.4
[INFO] [stderr]     Checking rb v0.4.1
[INFO] [stderr]    Compiling librespot-protocol v0.4.2
[INFO] [stderr]     Checking alloc-stdlib v0.2.2
[INFO] [stderr]     Checking base36 v0.0.1
[INFO] [stderr]     Checking tungstenite v0.17.3
[INFO] [stderr]     Checking bigint v4.4.3
[INFO] [stderr]     Checking wasm-bindgen-futures v0.4.34
[INFO] [stderr]     Checking gloo-timers v0.2.6
[INFO] [stderr]    Compiling gdk-sys v0.15.1
[INFO] [stderr]    Compiling gio-sys v0.15.10
[INFO] [stderr]     Checking beef v0.5.2
[INFO] [stderr]     Checking send_wrapper v0.4.0
[INFO] [stderr]     Checking futures-timer v3.0.2
[INFO] [stderr]    Compiling music-player-server v0.2.0 (/opt/rustwide/workdir/server)
[INFO] [stderr]     Checking cuid2 v0.1.0
[INFO] [stderr]     Checking jsonrpsee-types v0.16.2
[INFO] [stderr]     Checking tokio-tungstenite v0.17.2
[INFO] [stderr]     Checking brotli-decompressor v2.3.4
[INFO] [stderr]     Checking cuid v1.3.1
[INFO] [stderr]     Checking web-sys v0.3.61
[INFO] [stderr]    Compiling string_cache_codegen v0.5.2
[INFO] [stderr]    Compiling protobuf-support v3.2.0
[INFO] [stderr]    Compiling zstd-sys v2.0.7+zstd.1.5.4
[INFO] [stderr]    Compiling markup5ever v0.10.1
[INFO] [stderr]     Checking brotli v3.3.4
[INFO] [stderr]     Checking tonic v0.8.3
[INFO] [stderr]    Compiling sqlx-core v0.6.2
[INFO] [stderr]     Checking jsonrpsee-core v0.16.2
[INFO] [stderr]     Checking tonic-web v0.4.0
[INFO] [stderr]     Checking gloo-utils v0.1.6
[INFO] [stderr]    Compiling cssparser v0.27.2
[INFO] [stderr]     Checking gloo-net v0.2.6
[INFO] [stderr]     Checking soketto v0.7.1
[INFO] [stderr]    Compiling glib-macros v0.15.11
[INFO] [stderr]    Compiling darling_core v0.14.3
[INFO] [stderr]    Compiling atk-sys v0.15.1
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]    Compiling cssparser-macros v0.6.0
[INFO] [stderr]    Compiling blake3 v0.3.8
[INFO] [stderr]    Compiling cfg-expr v0.9.1
[INFO] [stderr]    Compiling zstd-safe v6.0.4+zstd.1.5.4
[INFO] [stderr]     Checking local-waker v0.1.3
[INFO] [stderr]    Compiling version-compare v0.0.11
[INFO] [stderr]    Compiling system-deps v5.0.0
[INFO] [stderr]     Checking jsonrpsee-client-transport v0.16.2
[INFO] [stderr]    Compiling selectors v0.22.0
[INFO] [stderr]    Compiling protobuf-parse v3.2.0
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]     Checking actix-rt v2.8.0
[INFO] [stderr]    Compiling pango-sys v0.15.10
[INFO] [stderr]    Compiling cairo-sys-rs v0.15.1
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.15.10
[INFO] [stderr]    Compiling async-graphql-value v4.0.16
[INFO] [stderr]    Compiling protobuf-codegen v3.2.0
[INFO] [stderr]    Compiling darling_macro v0.14.3
[INFO] [stderr]    Compiling html5ever v0.25.2
[INFO] [stderr]     Checking glib v0.15.12
[INFO] [stderr]    Compiling multer v2.0.4
[INFO] [stderr]     Checking arrayref v0.3.6
[INFO] [stderr]     Checking constant_time_eq v0.1.5
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling darling v0.14.3
[INFO] [stderr]    Compiling sqlx-macros v0.6.2
[INFO] [stderr]    Compiling async-graphql-parser v4.0.16
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]     Checking hmac v0.8.1
[INFO] [stderr]     Checking hyper-rustls v0.23.2
[INFO] [stderr]    Compiling bytestring v1.2.0
[INFO] [stderr]    Compiling chromecast v0.18.2
[INFO] [stderr]     Checking input_buffer v0.4.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking actix-service v2.0.2
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]     Checking ascii_utils v0.9.3
[INFO] [stderr]     Checking pin-project-lite v0.1.12
[INFO] [stderr]     Checking async-sse v4.1.0
[INFO] [stderr]     Checking fast_chemail v0.9.6
[INFO] [stderr]    Compiling actix-router v0.5.1
[INFO] [stderr]     Checking tungstenite v0.13.0
[INFO] [stderr]     Checking jsonrpsee-http-client v0.16.2
[INFO] [stderr]    Compiling async-graphql-derive v4.0.16
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]     Checking jsonrpsee-ws-client v0.16.2
[INFO] [stderr]     Checking jsonrpsee-wasm-client v0.16.2
[INFO] [stderr]     Checking local-channel v0.1.3
[INFO] [stderr]     Checking actix-codec v0.5.0
[INFO] [stderr]    Compiling gtk-sys v0.15.3
[INFO] [stderr]     Checking femme v2.2.1
[INFO] [stderr]     Checking sha1 v0.10.5
[INFO] [stderr]     Checking route-recognizer v0.2.0
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]     Checking jsonrpsee v0.16.2
[INFO] [stderr]    Compiling serde_with_macros v1.5.2
[INFO] [stderr]    Compiling actix-web-codegen v4.1.0
[INFO] [stderr]     Checking async-tungstenite v0.13.1
[INFO] [stderr]     Checking actix-server v2.2.0
[INFO] [stderr]    Compiling phf v0.8.0
[INFO] [stderr]    Compiling phf_macros v0.10.0
[INFO] [stderr]    Compiling semver-parser v0.10.2
[INFO] [stderr]    Compiling ctor v0.1.26
[INFO] [stderr]    Compiling actix-macros v0.2.3
[INFO] [stderr]    Compiling mac v0.1.1
[INFO] [stderr]    Compiling gio v0.15.12
[INFO] [stderr]    Compiling futf v0.1.5
[INFO] [stderr]    Compiling semver v0.11.0
[INFO] [stderr]    Compiling dtoa v0.4.8
[INFO] [stderr]    Compiling rustc_version v0.3.3
[INFO] [stderr]    Compiling dtoa-short v0.3.3
[INFO] [stderr]    Compiling tendril v0.4.3
[INFO] [stderr]    Compiling soup2-sys v0.2.0
[INFO] [stderr]     Checking http-range v0.1.5
[INFO] [stderr]    Compiling itoa v0.4.8
[INFO] [stderr]    Compiling matches v0.1.10
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling servo_arc v0.1.1
[INFO] [stderr]    Compiling field-offset v0.3.4
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling actix_derive v0.6.0
[INFO] [stderr]    Compiling semver v1.0.16
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling thin-slice v0.1.1
[INFO] [stderr]    Compiling cfb v0.6.1
[INFO] [stderr]     Checking actix v0.13.0
[INFO] [stderr]     Checking cairo-rs v0.15.12
[INFO] [stderr]     Checking pango v0.15.10
[INFO] [stderr]    Compiling javascriptcore-rs-sys v0.4.0
[INFO] [stderr]    Compiling treediff v3.0.2
[INFO] [stderr]    Compiling gtk v0.15.5
[INFO] [stderr]    Compiling json-patch v0.2.7
[INFO] [stderr]    Compiling kuchiki v0.8.1
[INFO] [stderr]    Compiling infer v0.7.0
[INFO] [stderr]     Checking atk v0.15.1
[INFO] [stderr]    Compiling phf v0.10.1
[INFO] [stderr]    Compiling serde_with v1.14.0
[INFO] [stderr]    Compiling gtk3-macros v0.15.4
[INFO] [stderr]    Compiling webkit2gtk-sys v0.18.0
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]     Checking async-graphql v4.0.16
[INFO] [stderr]    Compiling rust-embed-utils v7.3.0
[INFO] [stderr]    Compiling gdkx11-sys v0.15.1
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]    Compiling tauri-utils v1.2.1
[INFO] [stderr]     Checking raw-window-handle v0.5.0
[INFO] [stderr]    Compiling rust-embed-impl v6.3.1
[INFO] [stderr]    Compiling tao v0.15.8
[INFO] [stderr]     Checking askama_escape v0.10.3
[INFO] [stderr]    Compiling png v0.17.7
[INFO] [stderr]     Checking sqlx v0.6.2
[INFO] [stderr]     Checking javascriptcore-rs v0.16.0
[INFO] [stderr]     Checking sea-orm v0.9.3
[INFO] [stderr]    Compiling tauri-runtime v0.12.1
[INFO] [stderr]    Compiling wry v0.23.4
[INFO] [stderr]    Compiling ico v0.2.0
[INFO] [stderr]    Compiling cargo_toml v0.13.3
[INFO] [stderr]     Checking bstr v1.3.0
[INFO] [stderr]     Checking unicode-width v0.1.10
[INFO] [stderr]    Compiling tauri-runtime-wry v0.12.2
[INFO] [stderr]    Compiling tauri-codegen v1.2.1
[INFO] [stderr]     Checking globset v0.4.10
[INFO] [stderr]     Checking gdk-pixbuf v0.15.11
[INFO] [stderr]     Checking soup2 v0.2.1
[INFO] [stderr]    Compiling tauri-build v1.2.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]     Checking gdk v0.15.4
[INFO] [stderr]     Checking music-player-entity v0.1.7 (/opt/rustwide/workdir/entity)
[INFO] [stderr]     Checking sea-orm-migration v0.9.3
[INFO] [stderr]    Compiling serialize-to-javascript-impl v0.1.1
[INFO] [stderr]    Compiling tauri v1.2.4
[INFO] [stderr]     Checking music-player-migration v0.1.9 (/opt/rustwide/workdir/migration)
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stdout] warning: unused import: `cli::run_migrate`
[INFO] [stdout]  --> migration/src/lib.rs:6:25
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sea_orm_migration::{cli::run_migrate, sea_orm::Database};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking xattr v0.2.3
[INFO] [stderr]     Checking filetime v0.2.20
[INFO] [stderr]     Checking bytecount v0.6.3
[INFO] [stderr]     Checking tar v0.4.38
[INFO] [stderr]     Checking papergrid v0.5.1
[INFO] [stderr]     Checking music-player-storage v0.1.8 (/opt/rustwide/workdir/storage)
[INFO] [stderr]     Checking music-player-tracklist v0.1.8 (/opt/rustwide/workdir/tracklist)
[INFO] [stderr]     Checking music-player-playback v0.1.13 (/opt/rustwide/workdir/playback)
[INFO] [stderr]    Compiling tauri-macros v1.2.1
[INFO] [stdout] warning: unused variable: `manager`
[INFO] [stdout]   --> migration/src/m20221117_211308_add_created_at_column.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |     async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> {
[INFO] [stdout]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manager`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Album` is never constructed
[INFO] [stdout]    --> migration/src/m20220101_000001_create_table.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | enum Track {
[INFO] [stdout]     |      ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 257 |     Album,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking strum v0.24.1
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking serialize-to-javascript v0.1.1
[INFO] [stderr]     Checking crossterm v0.25.0
[INFO] [stderr]     Checking ignore v0.4.18
[INFO] [stderr]    Compiling serde_repr v0.1.10
[INFO] [stdout] warning: field `db` is never read
[INFO] [stdout]  --> storage/src/repo/folder.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct FolderRepository {
[INFO] [stdout]   |            ---------------- field in this struct
[INFO] [stdout] 4 |     db: DatabaseConnection,
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> storage/src/repo/artist.rs:26:61
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 .filter(track_entity::Column::ArtistId.eq(id.clone()))
[INFO] [stdout]    |                                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> storage/src/repo/artist.rs:43:57
[INFO] [stdout]    |
[INFO] [stdout] 43 |             .filter(album_entity::Column::ArtistId.eq(id.clone()))
[INFO] [stdout]    |                                                         ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking music-player-scanner v0.1.9 (/opt/rustwide/workdir/scanner)
[INFO] [stderr]    Compiling tabled_derive v0.4.0
[INFO] [stderr]     Checking maplit v1.0.2
[INFO] [stderr]     Checking state v0.5.3
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking spinners v4.1.0
[INFO] [stdout] warning: unused imports: `ProbeResult`, `TimeBase`, `Visual`
[INFO] [stdout]   --> playback/src/decoder/symphonia_decoder.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 |     meta::{MetadataOptions, Visual},
[INFO] [stdout]    |                             ^^^^^^
[INFO] [stdout] 11 |     probe::{Hint, ProbeResult},
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 12 |     units::{Time, TimeBase},
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs::File`, `path::Path`
[INFO] [stdout]   --> playback/src/player.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 9  |     fs::File,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 10 |     mem,
[INFO] [stdout] 11 |     path::Path,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::MediaSourceStream`
[INFO] [stdout]   --> playback/src/player.rs:19:38
[INFO] [stdout]    |
[INFO] [stdout] 19 | use symphonia::core::{errors::Error, io::MediaSourceStream, probe::Hint};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking envtestkit v1.1.2
[INFO] [stderr]     Checking tui v0.19.0
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> playback/src/player.rs:276:28
[INFO] [stdout]     |
[INFO] [stdout] 276 |                 if let Err(e) = self.handle_command(cmd) {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ProbeResult`, `TimeBase`, `Visual`
[INFO] [stdout]   --> playback/src/decoder/symphonia_decoder.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 |     meta::{MetadataOptions, Visual},
[INFO] [stdout]    |                             ^^^^^^
[INFO] [stdout] 11 |     probe::{Hint, ProbeResult},
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 12 |     units::{Time, TimeBase},
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs::File`, `path::Path`
[INFO] [stdout]   --> playback/src/player.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 9  |     fs::File,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 10 |     mem,
[INFO] [stdout] 11 |     path::Path,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::MediaSourceStream`
[INFO] [stdout]   --> playback/src/player.rs:19:38
[INFO] [stdout]    |
[INFO] [stdout] 19 | use symphonia::core::{errors::Error, io::MediaSourceStream, probe::Hint};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_ms`
[INFO] [stdout]    --> playback/src/player.rs:401:33
[INFO] [stdout]     |
[INFO] [stdout] 401 |             PlayerCommand::Seek(position_ms) => self.handle_command_seek(),
[INFO] [stdout]     |                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlaybackState`
[INFO] [stdout]  --> playback/src/tests.rs:8:30
[INFO] [stdout]   |
[INFO] [stdout] 8 | use music_player_tracklist::{PlaybackState, Tracklist};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mk_sink` is never used
[INFO] [stdout]   --> playback/src/audio_backend/mod.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn mk_sink<S: Sink + Open + 'static>(device: Option<String>, format: AudioFormat) -> Box<dyn Sink> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `seek_ts` is never read
[INFO] [stdout]   --> playback/src/decoder/symphonia_decoder.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct PlayTrackOptions {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 21 |     track_id: u32,
[INFO] [stdout] 22 |     seek_ts: u64,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PlayTrackOptions` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_update` is never used
[INFO] [stdout]   --> playback/src/formatter.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn print_update(rev: &MetadataRevision) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRELOAD_NEXT_TRACK_BEFORE_END` is never used
[INFO] [stdout]   --> playback/src/player.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const PRELOAD_NEXT_TRACK_BEFORE_END: u64 = 30000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `load_handles` is never read
[INFO] [stdout]    --> playback/src/player.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 249 | struct PlayerInternal {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] 250 |     commands: Arc<std::sync::Mutex<mpsc::UnboundedReceiver<PlayerCommand>>>,
[INFO] [stdout] 251 |     load_handles: Arc<Mutex<HashMap<thread::ThreadId, thread::JoinHandle<()>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Loading` and `EndOfTrack` are never constructed
[INFO] [stdout]    --> playback/src/player.rs:601:5
[INFO] [stdout]     |
[INFO] [stdout] 599 | enum PlayerState {
[INFO] [stdout]     |      ----------- variants in this enum
[INFO] [stdout] 600 |     Stopped,
[INFO] [stdout] 601 |     Loading {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 610 |     EndOfTrack {
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decoder` is never used
[INFO] [stdout]    --> playback/src/player.rs:641:8
[INFO] [stdout]     |
[INFO] [stdout] 616 | impl PlayerState {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 641 |     fn decoder(&mut self) -> Option<&mut Decoder> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tabled v0.8.0
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> playback/src/player.rs:276:28
[INFO] [stdout]     |
[INFO] [stdout] 276 |                 if let Err(e) = self.handle_command(cmd) {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_ms`
[INFO] [stdout]    --> playback/src/player.rs:401:33
[INFO] [stdout]     |
[INFO] [stdout] 401 |             PlayerCommand::Seek(position_ms) => self.handle_command_seek(),
[INFO] [stdout]     |                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mk_sink` is never used
[INFO] [stdout]   --> playback/src/audio_backend/mod.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn mk_sink<S: Sink + Open + 'static>(device: Option<String>, format: AudioFormat) -> Box<dyn Sink> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `seek_ts` is never read
[INFO] [stdout]   --> playback/src/decoder/symphonia_decoder.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct PlayTrackOptions {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 21 |     track_id: u32,
[INFO] [stdout] 22 |     seek_ts: u64,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PlayTrackOptions` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_update` is never used
[INFO] [stdout]   --> playback/src/formatter.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn print_update(rev: &MetadataRevision) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRELOAD_NEXT_TRACK_BEFORE_END` is never used
[INFO] [stdout]   --> playback/src/player.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const PRELOAD_NEXT_TRACK_BEFORE_END: u64 = 30000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `load_handles` is never read
[INFO] [stdout]    --> playback/src/player.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 249 | struct PlayerInternal {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] 250 |     commands: Arc<std::sync::Mutex<mpsc::UnboundedReceiver<PlayerCommand>>>,
[INFO] [stdout] 251 |     load_handles: Arc<Mutex<HashMap<thread::ThreadId, thread::JoinHandle<()>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Loading` and `EndOfTrack` are never constructed
[INFO] [stdout]    --> playback/src/player.rs:601:5
[INFO] [stdout]     |
[INFO] [stdout] 599 | enum PlayerState {
[INFO] [stdout]     |      ----------- variants in this enum
[INFO] [stdout] 600 |     Stopped,
[INFO] [stdout] 601 |     Loading {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 610 |     EndOfTrack {
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decoder` is never used
[INFO] [stdout]    --> playback/src/player.rs:641:8
[INFO] [stdout]     |
[INFO] [stdout] 616 | impl PlayerState {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 641 |     fn decoder(&mut self) -> Option<&mut Decoder> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling app v0.1.0 (/opt/rustwide/workdir/webui/musicplayer/src-tauri)
[INFO] [stdout] warning: unused import: `cli::run_migrate`
[INFO] [stdout]  --> migration/src/lib.rs:6:25
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sea_orm_migration::{cli::run_migrate, sea_orm::Database};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `db` is never read
[INFO] [stdout]  --> storage/src/repo/folder.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct FolderRepository {
[INFO] [stdout]   |            ---------------- field in this struct
[INFO] [stdout] 4 |     db: DatabaseConnection,
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> storage/src/repo/artist.rs:26:61
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 .filter(track_entity::Column::ArtistId.eq(id.clone()))
[INFO] [stdout]    |                                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> storage/src/repo/artist.rs:43:57
[INFO] [stdout]    |
[INFO] [stdout] 43 |             .filter(album_entity::Column::ArtistId.eq(id.clone()))
[INFO] [stdout]    |                                                         ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> server/src/tests/library.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> server/src/addons.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]  --> server/src/addons.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> server/src/history.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]  --> server/src/history.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Album`, `Artist`, `Track`
[INFO] [stdout]  --> server/src/playback.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 |     metadata::v1alpha1::{Album, Artist, Track},
[INFO] [stdout]   |                          ^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> server/src/playlist.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]  --> server/src/playlist.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> server/src/server.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `repo::track::TrackRepository`
[INFO] [stdout]  --> server/src/tracklist.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use music_player_storage::{repo::track::TrackRepository, Database};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> server/src/tracklist.rs:8:42
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::sync::{mpsc::UnboundedSender, Mutex};
[INFO] [stdout]   |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `manager`
[INFO] [stdout]   --> migration/src/m20221117_211308_add_created_at_column.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |     async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> {
[INFO] [stdout]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manager`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> server/src/addons.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]  --> server/src/addons.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> server/src/history.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]  --> server/src/history.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Album`, `Artist`, `Track`
[INFO] [stdout]  --> server/src/playback.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 |     metadata::v1alpha1::{Album, Artist, Track},
[INFO] [stdout]   |                          ^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> server/src/playlist.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]  --> server/src/playlist.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> server/src/server.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `repo::track::TrackRepository`
[INFO] [stdout]  --> server/src/tracklist.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use music_player_storage::{repo::track::TrackRepository, Database};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> server/src/tracklist.rs:8:42
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::sync::{mpsc::UnboundedSender, Mutex};
[INFO] [stdout]   |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Album` is never constructed
[INFO] [stdout]    --> migration/src/m20220101_000001_create_table.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | enum Track {
[INFO] [stdout]     |      ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 257 |     Album,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channels`
[INFO] [stdout]   --> audio/src/main.rs:53:59
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 if let Some((ref packet_position, packet, channels, sample_rate)) = result {
[INFO] [stdout]    |                                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channels`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample_rate`
[INFO] [stdout]   --> audio/src/main.rs:53:69
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 if let Some((ref packet_position, packet, channels, sample_rate)) = result {
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `samples`
[INFO] [stdout]   --> audio/src/main.rs:55:28
[INFO] [stdout]    |
[INFO] [stdout] 55 |                         Ok(samples) => {
[INFO] [stdout]    |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `seek_ts` is never read
[INFO] [stdout]   --> audio/src/decoder/symphonia_decoder.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct PlayTrackOptions {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 24 |     track_id: u32,
[INFO] [stdout] 25 |     seek_ts: u64,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PlayTrackOptions` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channels`
[INFO] [stdout]   --> audio/src/main.rs:53:59
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 if let Some((ref packet_position, packet, channels, sample_rate)) = result {
[INFO] [stdout]    |                                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channels`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample_rate`
[INFO] [stdout]   --> audio/src/main.rs:53:69
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 if let Some((ref packet_position, packet, channels, sample_rate)) = result {
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `samples`
[INFO] [stdout]   --> audio/src/main.rs:55:28
[INFO] [stdout]    |
[INFO] [stdout] 55 |                         Ok(samples) => {
[INFO] [stdout]    |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_samples`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `seek_ts` is never read
[INFO] [stdout]   --> audio/src/decoder/symphonia_decoder.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct PlayTrackOptions {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 24 |     track_id: u32,
[INFO] [stdout] 25 |     seek_ts: u64,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PlayTrackOptions` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `register_services`
[INFO] [stdout]  --> discovery/src/main.rs:3:40
[INFO] [stdout]   |
[INFO] [stdout] 3 | use music_player_discovery::{discover, register_services, MdnsResponder, SERVICE_NAME};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `register_services`
[INFO] [stdout]  --> discovery/src/main.rs:3:40
[INFO] [stdout]   |
[INFO] [stdout] 3 | use music_player_discovery::{discover, register_services, MdnsResponder, SERVICE_NAME};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> server/src/tests/library.rs:222:75
[INFO] [stdout]     |
[INFO] [stdout] 222 |     let (_backend, _audio_format, _cmd_tx, _cmd_rx, _tracklist, db, addr, url) =
[INFO] [stdout]     |                                                                           ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]  --> server/src/tests/server.rs:9:60
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let (backend, audio_format, cmd_tx, cmd_rx, tracklist, db, addr, url) =
[INFO] [stdout]   |                                                            ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]  --> server/src/tests/server.rs:9:64
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let (backend, audio_format, cmd_tx, cmd_rx, tracklist, db, addr, url) =
[INFO] [stdout]   |                                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]  --> server/src/tests/server.rs:9:70
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let (backend, audio_format, cmd_tx, cmd_rx, tracklist, db, addr, url) =
[INFO] [stdout]   |                                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> server/src/tests/server.rs:22:60
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let (backend, audio_format, cmd_tx, cmd_rx, tracklist, db, addr, url) =
[INFO] [stdout]    |                                                            ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> server/src/tests/server.rs:22:64
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let (backend, audio_format, cmd_tx, cmd_rx, tracklist, db, addr, url) =
[INFO] [stdout]    |                                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> server/src/tests/server.rs:22:70
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let (backend, audio_format, cmd_tx, cmd_rx, tracklist, db, addr, url) =
[INFO] [stdout]    |                                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> server/src/tests/server.rs:35:60
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let (backend, audio_format, cmd_tx, cmd_rx, tracklist, db, addr, url) =
[INFO] [stdout]    |                                                            ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> server/src/tests/server.rs:35:64
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let (backend, audio_format, cmd_tx, cmd_rx, tracklist, db, addr, url) =
[INFO] [stdout]    |                                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> server/src/tests/server.rs:35:70
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let (backend, audio_format, cmd_tx, cmd_rx, tracklist, db, addr, url) =
[INFO] [stdout]    |                                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking async-session v2.0.1
[INFO] [stderr]     Checking tide v0.16.0
[INFO] [stdout] warning: field `db` is never read
[INFO] [stdout]   --> server/src/addons.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Addons {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 15 |     db: Database,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `db` is never read
[INFO] [stdout]   --> server/src/history.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct History {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 11 |     db: Database,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> server/src/tracklist.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         self.cmd_tx.lock().unwrap().send(PlayerCommand::Clear);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let _ = self.cmd_tx.lock().unwrap().send(PlayerCommand::Clear);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `db` is never read
[INFO] [stdout]   --> server/src/addons.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Addons {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 15 |     db: Database,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `db` is never read
[INFO] [stdout]   --> server/src/history.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct History {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 11 |     db: Database,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> server/src/tracklist.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         self.cmd_tx.lock().unwrap().send(PlayerCommand::Clear);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let _ = self.cmd_tx.lock().unwrap().send(PlayerCommand::Clear);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 24 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking music-player-client v0.1.5 (/opt/rustwide/workdir/client)
[INFO] [stdout] warning: unused imports: `Settings`, `read_settings`
[INFO] [stdout]  --> client/src/playlist.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 | use music_player_settings::{read_settings, Settings};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> client/src/library.rs:97:36
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub async fn search(&mut self, query: &str) -> Result<(), Error> {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]   --> client/src/playback.rs:51:34
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub async fn seek(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]    |                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `volume`
[INFO] [stdout]   --> client/src/playback.rs:55:40
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub async fn set_volume(&mut self, volume: u32) -> Result<(), Error> {
[INFO] [stdout]    |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> client/src/playlist.rs:25:33
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub async fn add(&mut self, id: &str) {
[INFO] [stdout]    |                                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> client/src/playlist.rs:33:35
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub async fn clear(&mut self, id: &str) {
[INFO] [stdout]    |                                   ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> client/src/playlist.rs:44:34
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub async fn play(&mut self, id: &str) {
[INFO] [stdout]    |                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> client/src/playlist.rs:48:36
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub async fn remove(&mut self, id: &str) {
[INFO] [stdout]    |                                    ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> client/src/playlist.rs:56:36
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub async fn create(&mut self, name: &str) {
[INFO] [stdout]    |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> client/src/playlist.rs:60:45
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub async fn delete_playlist(&mut self, id: &str) {
[INFO] [stdout]    |                                             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> server/src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking music-player-addons v0.1.5 (/opt/rustwide/workdir/addons)
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> server/src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Settings`, `read_settings`
[INFO] [stdout]  --> client/src/playlist.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 | use music_player_settings::{read_settings, Settings};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> client/src/library.rs:97:36
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub async fn search(&mut self, query: &str) -> Result<(), Error> {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]   --> client/src/playback.rs:51:34
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub async fn seek(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]    |                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `volume`
[INFO] [stdout]   --> client/src/playback.rs:55:40
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub async fn set_volume(&mut self, volume: u32) -> Result<(), Error> {
[INFO] [stdout]    |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> client/src/playlist.rs:25:33
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub async fn add(&mut self, id: &str) {
[INFO] [stdout]    |                                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> client/src/playlist.rs:33:35
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub async fn clear(&mut self, id: &str) {
[INFO] [stdout]    |                                   ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> client/src/playlist.rs:44:34
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub async fn play(&mut self, id: &str) {
[INFO] [stdout]    |                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> client/src/playlist.rs:48:36
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub async fn remove(&mut self, id: &str) {
[INFO] [stdout]    |                                    ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> client/src/playlist.rs:56:36
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub async fn create(&mut self, name: &str) {
[INFO] [stdout]    |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> client/src/playlist.rs:60:45
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub async fn delete_playlist(&mut self, id: &str) {
[INFO] [stdout]    |                                             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tide-websockets v0.4.0
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]   --> addons/src/airplay.rs:79:30
[INFO] [stdout]    |
[INFO] [stdout] 79 |     async fn seek(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]    |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]   --> addons/src/airplay.rs:83:37
[INFO] [stdout]    |
[INFO] [stdout] 83 |     async fn load_tracks(&mut self, tracks: Vec<Track>, start_index: Option<i32>) -> Result<(), Error> {
[INFO] [stdout]    |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_index`
[INFO] [stdout]   --> addons/src/airplay.rs:83:57
[INFO] [stdout]    |
[INFO] [stdout] 83 |     async fn load_tracks(&mut self, tracks: Vec<Track>, start_index: Option<i32>) -> Result<(), Error> {
[INFO] [stdout]    |                                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track`
[INFO] [stdout]   --> addons/src/airplay.rs:87:35
[INFO] [stdout]    |
[INFO] [stdout] 87 |     async fn play_next(&mut self, track: Track) -> Result<(), Error> {
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_track`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track`
[INFO] [stdout]   --> addons/src/airplay.rs:91:30
[INFO] [stdout]    |
[INFO] [stdout] 91 |     async fn load(&mut self, track: Track) -> Result<(), Error> {
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_track`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/airplay.rs:103:39
[INFO] [stdout]     |
[INFO] [stdout] 103 |     async fn play_track_at(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/airplay.rs:107:41
[INFO] [stdout]     |
[INFO] [stdout] 107 |     async fn remove_track_at(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> addons/src/airplay.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |     fn from(device: Device) -> Self {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]   --> addons/src/airplay.rs:79:30
[INFO] [stdout]    |
[INFO] [stdout] 79 |     async fn seek(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]    |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]   --> addons/src/airplay.rs:83:37
[INFO] [stdout]    |
[INFO] [stdout] 83 |     async fn load_tracks(&mut self, tracks: Vec<Track>, start_index: Option<i32>) -> Result<(), Error> {
[INFO] [stdout]    |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_index`
[INFO] [stdout]   --> addons/src/airplay.rs:83:57
[INFO] [stdout]    |
[INFO] [stdout] 83 |     async fn load_tracks(&mut self, tracks: Vec<Track>, start_index: Option<i32>) -> Result<(), Error> {
[INFO] [stdout]    |                                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track`
[INFO] [stdout]   --> addons/src/airplay.rs:87:35
[INFO] [stdout]    |
[INFO] [stdout] 87 |     async fn play_next(&mut self, track: Track) -> Result<(), Error> {
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_track`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track`
[INFO] [stdout]   --> addons/src/airplay.rs:91:30
[INFO] [stdout]    |
[INFO] [stdout] 91 |     async fn load(&mut self, track: Track) -> Result<(), Error> {
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_track`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/airplay.rs:103:39
[INFO] [stdout]     |
[INFO] [stdout] 103 |     async fn play_track_at(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/airplay.rs:107:41
[INFO] [stdout]     |
[INFO] [stdout] 107 |     async fn remove_track_at(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> addons/src/airplay.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |     fn from(device: Device) -> Self {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/chromecast.rs:350:39
[INFO] [stdout]     |
[INFO] [stdout] 350 |     async fn play_track_at(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/chromecast.rs:354:41
[INFO] [stdout]     |
[INFO] [stdout] 354 |     async fn remove_track_at(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/chromecast.rs:350:39
[INFO] [stdout]     |
[INFO] [stdout] 350 |     async fn play_track_at(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/chromecast.rs:354:41
[INFO] [stdout]     |
[INFO] [stdout] 354 |     async fn remove_track_at(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> addons/src/datpiff.rs:52:22
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn stream(&self, url: &str) -> Result<(), Error> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> addons/src/deezer.rs:52:22
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn stream(&self, url: &str) -> Result<(), Error> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> addons/src/datpiff.rs:52:22
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn stream(&self, url: &str) -> Result<(), Error> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> addons/src/deezer.rs:52:22
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn stream(&self, url: &str) -> Result<(), Error> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> addons/src/dlna.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         filter: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> addons/src/dlna.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         offset: i32,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> addons/src/dlna.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         filter: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> addons/src/dlna.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         limit: i32,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> addons/src/dlna.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         offset: i32,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> addons/src/dlna.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         limit: i32,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> addons/src/dlna.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |             let mut result = vec![];
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> addons/src/dlna.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |             let mut result = vec![];
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> addons/src/dlna.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         filter: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> addons/src/dlna.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         offset: i32,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> addons/src/dlna.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         filter: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> addons/src/dlna.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |         limit: i32,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> addons/src/dlna.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         offset: i32,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> addons/src/dlna.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |         limit: i32,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> addons/src/dlna.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |         filter: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> addons/src/dlna.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |         offset: i32,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> addons/src/dlna.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |         filter: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> addons/src/dlna.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |         limit: i32,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> addons/src/dlna.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |         offset: i32,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> addons/src/dlna.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |         limit: i32,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> addons/src/dlna.rs:165:35
[INFO] [stdout]     |
[INFO] [stdout] 165 |     async fn playlists(&mut self, offset: i32, limit: i32) -> Result<Vec<Playlist>, Error> {
[INFO] [stdout]     |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> addons/src/dlna.rs:165:35
[INFO] [stdout]     |
[INFO] [stdout] 165 |     async fn playlists(&mut self, offset: i32, limit: i32) -> Result<Vec<Playlist>, Error> {
[INFO] [stdout]     |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> addons/src/dlna.rs:165:48
[INFO] [stdout]     |
[INFO] [stdout] 165 |     async fn playlists(&mut self, offset: i32, limit: i32) -> Result<Vec<Playlist>, Error> {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> addons/src/dlna.rs:165:48
[INFO] [stdout]     |
[INFO] [stdout] 165 |     async fn playlists(&mut self, offset: i32, limit: i32) -> Result<Vec<Playlist>, Error> {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/dlna.rs:169:31
[INFO] [stdout]     |
[INFO] [stdout] 169 |     async fn album(&mut self, id: &str) -> Result<Album, Error> {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/dlna.rs:169:31
[INFO] [stdout]     |
[INFO] [stdout] 169 |     async fn album(&mut self, id: &str) -> Result<Album, Error> {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/dlna.rs:173:32
[INFO] [stdout]     |
[INFO] [stdout] 173 |     async fn artist(&mut self, id: &str) -> Result<Artist, Error> {
[INFO] [stdout]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/dlna.rs:173:32
[INFO] [stdout]     |
[INFO] [stdout] 173 |     async fn artist(&mut self, id: &str) -> Result<Artist, Error> {
[INFO] [stdout]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/dlna.rs:177:31
[INFO] [stdout]     |
[INFO] [stdout] 177 |     async fn track(&mut self, id: &str) -> Result<Track, Error> {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/dlna.rs:177:31
[INFO] [stdout]     |
[INFO] [stdout] 177 |     async fn track(&mut self, id: &str) -> Result<Track, Error> {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/dlna.rs:181:34
[INFO] [stdout]     |
[INFO] [stdout] 181 |     async fn playlist(&mut self, id: &str) -> Result<Playlist, Error> {
[INFO] [stdout]     |                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/dlna.rs:181:34
[INFO] [stdout]     |
[INFO] [stdout] 181 |     async fn playlist(&mut self, id: &str) -> Result<Playlist, Error> {
[INFO] [stdout]     |                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `artist`
[INFO] [stdout]   --> addons/src/genius.rs:50:26
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn get_lyrics(&self, artist: &str, title: &str) -> Option<String> {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_artist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `title`
[INFO] [stdout]   --> addons/src/genius.rs:50:40
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn get_lyrics(&self, artist: &str, title: &str) -> Option<String> {
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `artist`
[INFO] [stdout]   --> addons/src/genius.rs:50:26
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn get_lyrics(&self, artist: &str, title: &str) -> Option<String> {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_artist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `title`
[INFO] [stdout]   --> addons/src/genius.rs:50:40
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn get_lyrics(&self, artist: &str, title: &str) -> Option<String> {
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> addons/src/kodi.rs:71:22
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn stream(&self, url: &str) -> Result<(), Error> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]   --> addons/src/kodi.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         filter: Option<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> addons/src/kodi.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         offset: i32,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> addons/src/kodi.rs:71:22
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn stream(&self, url: &str) -> Result<(), Error> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> addons/src/kodi.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         limit: i32,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]   --> addons/src/kodi.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         filter: Option<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> addons/src/kodi.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         offset: i32,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> addons/src/kodi.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         limit: i32,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]   --> addons/src/kodi.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         filter: Option<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> addons/src/kodi.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         offset: i32,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]   --> addons/src/kodi.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         filter: Option<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> addons/src/kodi.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         offset: i32,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> addons/src/kodi.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         limit: i32,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> addons/src/kodi.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         limit: i32,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]   --> addons/src/kodi.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         filter: Option<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> addons/src/kodi.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         offset: i32,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]   --> addons/src/kodi.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         filter: Option<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> addons/src/kodi.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         limit: i32,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> addons/src/kodi.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         offset: i32,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> addons/src/kodi.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         limit: i32,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> addons/src/kodi.rs:105:35
[INFO] [stdout]     |
[INFO] [stdout] 105 |     async fn playlists(&mut self, offset: i32, limit: i32) -> Result<Vec<Playlist>, Error> {
[INFO] [stdout]     |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> addons/src/kodi.rs:105:48
[INFO] [stdout]     |
[INFO] [stdout] 105 |     async fn playlists(&mut self, offset: i32, limit: i32) -> Result<Vec<Playlist>, Error> {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> addons/src/kodi.rs:105:35
[INFO] [stdout]     |
[INFO] [stdout] 105 |     async fn playlists(&mut self, offset: i32, limit: i32) -> Result<Vec<Playlist>, Error> {
[INFO] [stdout]     |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> addons/src/kodi.rs:105:48
[INFO] [stdout]     |
[INFO] [stdout] 105 |     async fn playlists(&mut self, offset: i32, limit: i32) -> Result<Vec<Playlist>, Error> {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/kodi.rs:109:31
[INFO] [stdout]     |
[INFO] [stdout] 109 |     async fn album(&mut self, id: &str) -> Result<Album, Error> {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/kodi.rs:109:31
[INFO] [stdout]     |
[INFO] [stdout] 109 |     async fn album(&mut self, id: &str) -> Result<Album, Error> {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/kodi.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 |     async fn artist(&mut self, id: &str) -> Result<Artist, Error> {
[INFO] [stdout]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/kodi.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     async fn track(&mut self, id: &str) -> Result<Track, Error> {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/kodi.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 |     async fn artist(&mut self, id: &str) -> Result<Artist, Error> {
[INFO] [stdout]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/kodi.rs:121:34
[INFO] [stdout]     |
[INFO] [stdout] 121 |     async fn playlist(&mut self, id: &str) -> Result<Playlist, Error> {
[INFO] [stdout]     |                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/kodi.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     async fn track(&mut self, id: &str) -> Result<Track, Error> {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> addons/src/kodi.rs:121:34
[INFO] [stdout]     |
[INFO] [stdout] 121 |     async fn playlist(&mut self, id: &str) -> Result<Playlist, Error> {
[INFO] [stdout]     |                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/kodi.rs:152:30
[INFO] [stdout]     |
[INFO] [stdout] 152 |     async fn seek(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> addons/src/kodi.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |         tracks: Vec<Track>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_index`
[INFO] [stdout]    --> addons/src/kodi.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |         start_index: Option<i32>,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track`
[INFO] [stdout]    --> addons/src/kodi.rs:164:35
[INFO] [stdout]     |
[INFO] [stdout] 164 |     async fn play_next(&mut self, track: Track) -> Result<(), Error> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_track`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/kodi.rs:152:30
[INFO] [stdout]     |
[INFO] [stdout] 152 |     async fn seek(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track`
[INFO] [stdout]    --> addons/src/kodi.rs:168:30
[INFO] [stdout]     |
[INFO] [stdout] 168 |     async fn load(&mut self, track: Track) -> Result<(), Error> {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_track`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> addons/src/kodi.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |         tracks: Vec<Track>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_index`
[INFO] [stdout]    --> addons/src/kodi.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |         start_index: Option<i32>,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track`
[INFO] [stdout]    --> addons/src/kodi.rs:164:35
[INFO] [stdout]     |
[INFO] [stdout] 164 |     async fn play_next(&mut self, track: Track) -> Result<(), Error> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_track`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `track`
[INFO] [stdout]    --> addons/src/kodi.rs:168:30
[INFO] [stdout]     |
[INFO] [stdout] 168 |     async fn load(&mut self, track: Track) -> Result<(), Error> {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_track`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/kodi.rs:180:39
[INFO] [stdout]     |
[INFO] [stdout] 180 |     async fn play_track_at(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/kodi.rs:184:41
[INFO] [stdout]     |
[INFO] [stdout] 184 |     async fn remove_track_at(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> addons/src/kodi.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn from(device: Device) -> Self {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> addons/src/local.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn stream(&self, url: &str) -> Result<(), Error> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/kodi.rs:180:39
[INFO] [stdout]     |
[INFO] [stdout] 180 |     async fn play_track_at(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/kodi.rs:184:41
[INFO] [stdout]     |
[INFO] [stdout] 184 |     async fn remove_track_at(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> addons/src/kodi.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn from(device: Device) -> Self {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> addons/src/local.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn stream(&self, url: &str) -> Result<(), Error> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking async-graphql-tide v4.0.16
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> addons/src/local.rs:129:35
[INFO] [stdout]     |
[INFO] [stdout] 129 |     async fn playlists(&mut self, offset: i32, limit: i32) -> Result<Vec<Playlist>, Error> {
[INFO] [stdout]     |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> addons/src/local.rs:129:48
[INFO] [stdout]     |
[INFO] [stdout] 129 |     async fn playlists(&mut self, offset: i32, limit: i32) -> Result<Vec<Playlist>, Error> {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> addons/src/local.rs:129:35
[INFO] [stdout]     |
[INFO] [stdout] 129 |     async fn playlists(&mut self, offset: i32, limit: i32) -> Result<Vec<Playlist>, Error> {
[INFO] [stdout]     |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]    --> addons/src/local.rs:129:48
[INFO] [stdout]     |
[INFO] [stdout] 129 |     async fn playlists(&mut self, offset: i32, limit: i32) -> Result<Vec<Playlist>, Error> {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/local.rs:195:30
[INFO] [stdout]     |
[INFO] [stdout] 195 |     async fn seek(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> addons/src/local.rs:195:30
[INFO] [stdout]     |
[INFO] [stdout] 195 |     async fn seek(&mut self, position: u32) -> Result<(), Error> {
[INFO] [stdout]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> addons/src/myvazo.rs:52:22
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn stream(&self, url: &str) -> Result<(), Error> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `artist`
[INFO] [stdout]   --> addons/src/tononkira.rs:50:26
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn get_lyrics(&self, artist: &str, title: &str) -> Option<String> {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_artist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `title`
[INFO] [stdout]   --> addons/src/tononkira.rs:50:40
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn get_lyrics(&self, artist: &str, title: &str) -> Option<String> {
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]   --> addons/src/myvazo.rs:52:22
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn stream(&self, url: &str) -> Result<(), Error> {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `artist`
[INFO] [stdout]   --> addons/src/tononkira.rs:50:26
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn get_lyrics(&self, artist: &str, title: &str) -> Option<String> {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_artist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `title`
[INFO] [stdout]   --> addons/src/tononkira.rs:50:40
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn get_lyrics(&self, artist: &str, title: &str) -> Option<String> {
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 61 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 61 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking music-player-graphql v0.1.10 (/opt/rustwide/workdir/graphql)
[INFO] [stderr]     Checking zstd v0.12.3+zstd.1.5.2
[INFO] [stderr]     Checking actix-http v3.3.0
[INFO] [stdout] warning: unused import: `AIRPLAY_SERVICE_NAME`
[INFO] [stdout]   --> graphql/src/lib.rs:13:41
[INFO] [stdout]    |
[INFO] [stdout] 13 | use music_player_types::types::{Device, AIRPLAY_SERVICE_NAME, CHROMECAST_SERVICE_NAME};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> graphql/src/schema/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SERVICE_NAME`, `XBMC_SERVICE_NAME`
[INFO] [stdout]  --> graphql/src/schema/objects/device.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use music_player_discovery::{SERVICE_NAME, XBMC_SERVICE_NAME};
[INFO] [stdout]   |                              ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlaybackState`
[INFO] [stdout]  --> graphql/src/schema/playback.rs:8:30
[INFO] [stdout]   |
[INFO] [stdout] 8 | use music_player_tracklist::{PlaybackState, Tracklist};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `select_result`
[INFO] [stdout]  --> graphql/src/schema/playlist.rs:9:48
[INFO] [stdout]   |
[INFO] [stdout] 9 |     playlist_tracks as playlist_tracks_entity, select_result, track as track_entity,
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinType`, `RelationTrait`
[INFO] [stdout]   --> graphql/src/schema/playlist.rs:13:62
[INFO] [stdout]    |
[INFO] [stdout] 13 |     ActiveModelTrait, ActiveValue, ColumnTrait, EntityTrait, JoinType, ModelTrait, QueryFilter,
[INFO] [stdout]    |                                                              ^^^^^^^^
[INFO] [stdout] 14 |     QueryOrder, QuerySelect, RelationTrait,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ColumnTrait`, `JoinType`, `QueryFilter`, `QueryOrder`, `RelationTrait`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ColumnTrait, EntityTrait, JoinType, ModelTrait, QueryFilter, QueryOrder, QuerySelect,
[INFO] [stdout]    |     ^^^^^^^^^^^               ^^^^^^^^              ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 17 |     RelationTrait,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::objects::album::Album`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use super::objects::album::Album;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `music_player_types::types::Device`
[INFO] [stdout]   --> graphql/src/tests/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use music_player_types::types::Device;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AIRPLAY_SERVICE_NAME`
[INFO] [stdout]   --> graphql/src/lib.rs:13:41
[INFO] [stdout]    |
[INFO] [stdout] 13 | use music_player_types::types::{Device, AIRPLAY_SERVICE_NAME, CHROMECAST_SERVICE_NAME};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> graphql/src/schema/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SERVICE_NAME`, `XBMC_SERVICE_NAME`
[INFO] [stdout]  --> graphql/src/schema/objects/device.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use music_player_discovery::{SERVICE_NAME, XBMC_SERVICE_NAME};
[INFO] [stdout]   |                              ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlaybackState`
[INFO] [stdout]  --> graphql/src/schema/playback.rs:8:30
[INFO] [stdout]   |
[INFO] [stdout] 8 | use music_player_tracklist::{PlaybackState, Tracklist};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `select_result`
[INFO] [stdout]  --> graphql/src/schema/playlist.rs:9:48
[INFO] [stdout]   |
[INFO] [stdout] 9 |     playlist_tracks as playlist_tracks_entity, select_result, track as track_entity,
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinType`, `RelationTrait`
[INFO] [stdout]   --> graphql/src/schema/playlist.rs:13:62
[INFO] [stdout]    |
[INFO] [stdout] 13 |     ActiveModelTrait, ActiveValue, ColumnTrait, EntityTrait, JoinType, ModelTrait, QueryFilter,
[INFO] [stdout]    |                                                              ^^^^^^^^
[INFO] [stdout] 14 |     QueryOrder, QuerySelect, RelationTrait,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ColumnTrait`, `JoinType`, `QueryFilter`, `QueryOrder`, `RelationTrait`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ColumnTrait, EntityTrait, JoinType, ModelTrait, QueryFilter, QueryOrder, QuerySelect,
[INFO] [stdout]    |     ^^^^^^^^^^^               ^^^^^^^^              ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 17 |     RelationTrait,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::objects::album::Album`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use super::objects::album::Album;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cuid::cuid`: cuid() is deprecated. Use cuid2() instead, or switch to the cuid2 crate. See https://github.com/paralleldrive/cuid2#improvements-over-cuid for more information
[INFO] [stdout]  --> graphql/src/schema/playlist.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cuid::cuid;
[INFO] [stdout]   |           ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cuid::cuid`: cuid() is deprecated. Use cuid2() instead, or switch to the cuid2 crate. See https://github.com/paralleldrive/cuid2#improvements-over-cuid for more information
[INFO] [stdout]    --> graphql/src/schema/playlist.rs:139:34
[INFO] [stdout]     |
[INFO] [stdout] 139 |             id: ActiveValue::set(cuid().unwrap()),
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cuid::cuid`: cuid() is deprecated. Use cuid2() instead, or switch to the cuid2 crate. See https://github.com/paralleldrive/cuid2#improvements-over-cuid for more information
[INFO] [stdout]    --> graphql/src/schema/playlist.rs:203:50
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...                   id: ActiveValue::set(cuid().unwrap()),
[INFO] [stdout]     |                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cuid::cuid`: cuid() is deprecated. Use cuid2() instead, or switch to the cuid2 crate. See https://github.com/paralleldrive/cuid2#improvements-over-cuid for more information
[INFO] [stdout]    --> graphql/src/schema/playlist.rs:288:34
[INFO] [stdout]     |
[INFO] [stdout] 288 |             id: ActiveValue::set(cuid().unwrap()),
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cuid::cuid`: cuid() is deprecated. Use cuid2() instead, or switch to the cuid2 crate. See https://github.com/paralleldrive/cuid2#improvements-over-cuid for more information
[INFO] [stdout]  --> graphql/src/schema/playlist.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cuid::cuid;
[INFO] [stdout]   |           ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cuid::cuid`: cuid() is deprecated. Use cuid2() instead, or switch to the cuid2 crate. See https://github.com/paralleldrive/cuid2#improvements-over-cuid for more information
[INFO] [stdout]    --> graphql/src/schema/playlist.rs:139:34
[INFO] [stdout]     |
[INFO] [stdout] 139 |             id: ActiveValue::set(cuid().unwrap()),
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cuid::cuid`: cuid() is deprecated. Use cuid2() instead, or switch to the cuid2 crate. See https://github.com/paralleldrive/cuid2#improvements-over-cuid for more information
[INFO] [stdout]    --> graphql/src/schema/playlist.rs:203:50
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...                   id: ActiveValue::set(cuid().unwrap()),
[INFO] [stdout]     |                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cuid::cuid`: cuid() is deprecated. Use cuid2() instead, or switch to the cuid2 crate. See https://github.com/paralleldrive/cuid2#improvements-over-cuid for more information
[INFO] [stdout]    --> graphql/src/schema/playlist.rs:288:34
[INFO] [stdout]     |
[INFO] [stdout] 288 |             id: ActiveValue::set(cuid().unwrap()),
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> graphql/src/schema/devices.rs:250:34
[INFO] [stdout]     |
[INFO] [stdout] 250 |     async fn on_connected(&self, ctx: &Context<'_>) -> impl Stream<Item = ConnectedDevice> {
[INFO] [stdout]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> graphql/src/schema/devices.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 254 |     async fn on_disconnected(&self, ctx: &Context<'_>) -> impl Stream<Item = DisconnectedDevice> {
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> graphql/src/schema/devices.rs:250:34
[INFO] [stdout]     |
[INFO] [stdout] 250 |     async fn on_connected(&self, ctx: &Context<'_>) -> impl Stream<Item = ConnectedDevice> {
[INFO] [stdout]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> graphql/src/schema/devices.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 254 |     async fn on_disconnected(&self, ctx: &Context<'_>) -> impl Stream<Item = DisconnectedDevice> {
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> graphql/src/schema/mixer.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 |     async fn get_volume(&self, ctx: &Context<'_>) -> Result<i32, Error> {
[INFO] [stdout]   |                                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> graphql/src/schema/mixer.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 |     async fn set_volume(&self, ctx: &Context<'_>, volume: i32) -> Result<bool, Error> {
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `volume`
[INFO] [stdout]   --> graphql/src/schema/mixer.rs:18:51
[INFO] [stdout]    |
[INFO] [stdout] 18 |     async fn set_volume(&self, ctx: &Context<'_>, volume: i32) -> Result<bool, Error> {
[INFO] [stdout]    |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> graphql/src/schema/mixer.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |     async fn set_mute(&self, ctx: &Context<'_>, mute: bool) -> Result<bool, Error> {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mute`
[INFO] [stdout]   --> graphql/src/schema/mixer.rs:22:49
[INFO] [stdout]    |
[INFO] [stdout] 22 |     async fn set_mute(&self, ctx: &Context<'_>, mute: bool) -> Result<bool, Error> {
[INFO] [stdout]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_mute`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> graphql/src/schema/mixer.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 |     async fn get_volume(&self, ctx: &Context<'_>) -> Result<i32, Error> {
[INFO] [stdout]   |                                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> graphql/src/schema/mixer.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 |     async fn set_volume(&self, ctx: &Context<'_>, volume: i32) -> Result<bool, Error> {
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `volume`
[INFO] [stdout]   --> graphql/src/schema/mixer.rs:18:51
[INFO] [stdout]    |
[INFO] [stdout] 18 |     async fn set_volume(&self, ctx: &Context<'_>, volume: i32) -> Result<bool, Error> {
[INFO] [stdout]    |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> graphql/src/schema/mixer.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |     async fn set_mute(&self, ctx: &Context<'_>, mute: bool) -> Result<bool, Error> {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mute`
[INFO] [stdout]   --> graphql/src/schema/mixer.rs:22:49
[INFO] [stdout]    |
[INFO] [stdout] 22 |     async fn set_mute(&self, ctx: &Context<'_>, mute: bool) -> Result<bool, Error> {
[INFO] [stdout]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_mute`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> graphql/src/schema/playback.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[Object]
[INFO] [stdout]    | ^^^^^^^^^ unreachable expression
[INFO] [stdout] ...
[INFO] [stdout] 62 |         todo!()
[INFO] [stdout]    |         ------- any code following this expression is unreachable
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]    = note: this warning originates in the attribute macro `Object` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> graphql/src/schema/playback.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[Object]
[INFO] [stdout]    | ^^^^^^^^^ unreachable expression
[INFO] [stdout] ...
[INFO] [stdout] 62 |         todo!()
[INFO] [stdout]    |         ------- any code following this expression is unreachable
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]    = note: this warning originates in the attribute macro `Object` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     async fn get_repeat(&self, ctx: &Context<'_>) -> Result<bool, Error> {
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:73:32
[INFO] [stdout]    |
[INFO] [stdout] 73 |     async fn get_random(&self, ctx: &Context<'_>) -> Result<bool, Error> {
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:76:36
[INFO] [stdout]    |
[INFO] [stdout] 76 |     async fn get_next_track(&self, ctx: &Context<'_>) -> Result<Option<Track>, Error> {
[INFO] [stdout]    |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:80:40
[INFO] [stdout]    |
[INFO] [stdout] 80 |     async fn get_previous_track(&self, ctx: &Context<'_>) -> Result<Option<Track>, Error> {
[INFO] [stdout]    |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> graphql/src/schema/tracklist.rs:182:51
[INFO] [stdout]     |
[INFO] [stdout] 182 |     async fn add_tracks(&self, ctx: &Context<'_>, tracks: Vec<TrackInput>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]    --> graphql/src/schema/tracklist.rs:194:17
[INFO] [stdout]     |
[INFO] [stdout] 194 |             let receiver = device.client.as_mut().unwrap();
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     async fn get_repeat(&self, ctx: &Context<'_>) -> Result<bool, Error> {
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:73:32
[INFO] [stdout]    |
[INFO] [stdout] 73 |     async fn get_random(&self, ctx: &Context<'_>) -> Result<bool, Error> {
[INFO] [stdout]    |                                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:76:36
[INFO] [stdout]    |
[INFO] [stdout] 76 |     async fn get_next_track(&self, ctx: &Context<'_>) -> Result<Option<Track>, Error> {
[INFO] [stdout]    |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:80:40
[INFO] [stdout]    |
[INFO] [stdout] 80 |     async fn get_previous_track(&self, ctx: &Context<'_>) -> Result<Option<Track>, Error> {
[INFO] [stdout]    |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> graphql/src/schema/tracklist.rs:182:51
[INFO] [stdout]     |
[INFO] [stdout] 182 |     async fn add_tracks(&self, ctx: &Context<'_>, tracks: Vec<TrackInput>) -> Result<bool, Error> {
[INFO] [stdout]     |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]    --> graphql/src/schema/tracklist.rs:194:17
[INFO] [stdout]     |
[INFO] [stdout] 194 |             let receiver = device.client.as_mut().unwrap();
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking actix-web v4.3.0
[INFO] [stdout] warning: unused import: `rand::seq::SliceRandom`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::seq::SliceRandom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ModelTrait`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ColumnTrait, EntityTrait, JoinType, ModelTrait, QueryFilter, QueryOrder, QuerySelect,
[INFO] [stdout]    |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QuerySelect`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:16:78
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ColumnTrait, EntityTrait, JoinType, ModelTrait, QueryFilter, QueryOrder, QuerySelect,
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QuerySelect`
[INFO] [stdout]   --> graphql/src/schema/playlist.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     QueryOrder, QuerySelect, RelationTrait,
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::SliceRandom`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::seq::SliceRandom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ModelTrait`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ColumnTrait, EntityTrait, JoinType, ModelTrait, QueryFilter, QueryOrder, QuerySelect,
[INFO] [stdout]    |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QuerySelect`
[INFO] [stdout]   --> graphql/src/schema/tracklist.rs:16:78
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ColumnTrait, EntityTrait, JoinType, ModelTrait, QueryFilter, QueryOrder, QuerySelect,
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QuerySelect`
[INFO] [stdout]   --> graphql/src/schema/playlist.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     QueryOrder, QuerySelect, RelationTrait,
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]    --> graphql/src/tests/playlist.rs:194:10
[INFO] [stdout]     |
[INFO] [stdout] 194 |     let (schema, cmd_tx, cmd_rx, tracklist, backend, audio_format) = setup_schema().await;
[INFO] [stdout]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]    --> graphql/src/tests/playlist.rs:206:10
[INFO] [stdout]     |
[INFO] [stdout] 206 |     let (schema, cmd_tx, cmd_rx, tracklist, backend, audio_format) = setup_schema().await;
[INFO] [stdout]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 33 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking actix-web-actors v4.2.0
[INFO] [stderr]     Checking actix-cors v0.6.4
[INFO] [stderr]     Checking rust-embed v6.4.2
[INFO] [stderr]     Checking actix-files v0.6.2
[INFO] [stdout] warning: 30 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking async-graphql-actix-web v4.0.16
[INFO] [stderr]     Checking music-player-webui v0.1.15 (/opt/rustwide/workdir/webui)
[INFO] [stdout] warning: unused import: `sync::Mutex`
[INFO] [stdout]   --> webui/src/tests.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::{runtime, sync::Mutex};
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking music-player v0.2.0-alpha.13 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> webui/src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> webui/src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> webui/src/main.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let db = Database::new().await;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> webui/src/main.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let db = Database::new().await;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActiveBlock`
[INFO] [stdout]  --> src/handlers/input.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     app::{ActiveBlock, App},
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `music_player_playback::player::RepeatState`
[INFO] [stdout]  --> src/ui/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use music_player_playback::player::RepeatState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ui::util::SMALL_TERMINAL_WIDTH`
[INFO] [stdout]   --> src/ui/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     ui::util::SMALL_TERMINAL_WIDTH,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActiveBlock`
[INFO] [stdout]  --> src/handlers/input.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     app::{ActiveBlock, App},
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `music_player_playback::player::RepeatState`
[INFO] [stdout]  --> src/ui/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use music_player_playback::player::RepeatState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ui::util::SMALL_TERMINAL_WIDTH`
[INFO] [stdout]   --> src/ui/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     ui::util::SMALL_TERMINAL_WIDTH,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]    --> src/args.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut client = PlaylistClient::new(settings.host.clone(), settings.port).await?;
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/args.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |             let id = matches.value_of("id").unwrap();
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/args.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |             let id = matches.value_of("id");
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/args.rs:142:17
[INFO] [stdout]     |
[INFO] [stdout] 142 |             let id = matches.value_of("id");
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/args.rs:148:17
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let id = matches.value_of("id").unwrap();
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `song`
[INFO] [stdout]    --> src/args.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 193 |             let song = matches.value_of("song").unwrap();
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_song`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `all`
[INFO] [stdout]    --> src/args.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 |             let all = matches.is_present("all");
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]    --> src/args.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let client = LibraryClient::new(settings.host.clone(), settings.port).await?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]    --> src/args.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut client = PlaylistClient::new(settings.host.clone(), settings.port).await?;
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/args.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |             let id = matches.value_of("id").unwrap();
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/args.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |             let id = matches.value_of("id");
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/args.rs:142:17
[INFO] [stdout]     |
[INFO] [stdout] 142 |             let id = matches.value_of("id");
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/args.rs:148:17
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let id = matches.value_of("id").unwrap();
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `song`
[INFO] [stdout]    --> src/args.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 193 |             let song = matches.value_of("song").unwrap();
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_song`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `all`
[INFO] [stdout]    --> src/args.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 |             let all = matches.is_present("all");
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]    --> src/args.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let client = LibraryClient::new(settings.host.clone(), settings.port).await?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/args.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut client = PlaylistClient::new(settings.host.clone(), settings.port).await?;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/args.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let mut client = PlaylistClient::new(settings.host.clone(), settings.port).await?;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/network.rs:182:42
[INFO] [stdout]     |
[INFO] [stdout] 182 |     async fn get_album_tracks(&mut self, id: String) -> Result<(), Error> {
[INFO] [stdout]     |                                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/network.rs:186:43
[INFO] [stdout]     |
[INFO] [stdout] 186 |     async fn add_item_to_queue(&mut self, id: String) -> Result<(), Error> {
[INFO] [stdout]     |                                           ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enable`
[INFO] [stdout]    --> src/network.rs:190:33
[INFO] [stdout]     |
[INFO] [stdout] 190 |     async fn shuffle(&mut self, enable: bool) -> Result<(), Error> {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_enable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enable`
[INFO] [stdout]    --> src/network.rs:194:32
[INFO] [stdout]     |
[INFO] [stdout] 194 |     async fn repeat(&mut self, enable: bool) -> Result<(), Error> {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_enable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/network.rs:182:42
[INFO] [stdout]     |
[INFO] [stdout] 182 |     async fn get_album_tracks(&mut self, id: String) -> Result<(), Error> {
[INFO] [stdout]     |                                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/network.rs:186:43
[INFO] [stdout]     |
[INFO] [stdout] 186 |     async fn add_item_to_queue(&mut self, id: String) -> Result<(), Error> {
[INFO] [stdout]     |                                           ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enable`
[INFO] [stdout]    --> src/network.rs:190:33
[INFO] [stdout]     |
[INFO] [stdout] 190 |     async fn shuffle(&mut self, enable: bool) -> Result<(), Error> {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_enable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enable`
[INFO] [stdout]    --> src/network.rs:194:32
[INFO] [stdout]     |
[INFO] [stdout] 194 |     async fn repeat(&mut self, enable: bool) -> Result<(), Error> {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_enable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let mut current_route = self.get_current_route_mut();
[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/app.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let mut current_route = self.get_current_route_mut();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]  --> src/handlers/input.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn handler(key: Key, app: &mut App) {
[INFO] [stdout]   |                          ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]  --> src/handlers/playbar.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn handler(key: Key, app: &mut App) {}
[INFO] [stdout]   |                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]  --> src/handlers/playbar.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn handler(key: Key, app: &mut App) {}
[INFO] [stdout]   |                          ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]  --> src/handlers/playlist.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn handler(key: Key, app: &mut App) {}
[INFO] [stdout]   |                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]  --> src/handlers/playlist.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn handler(key: Key, app: &mut App) {}
[INFO] [stdout]   |                          ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/handlers/mod.rs:131:25
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn handle_jump_to_album(app: &mut App) {}
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/handlers/mod.rs:133:26
[INFO] [stdout]     |
[INFO] [stdout] 133 | fn handle_jump_to_artist(app: &mut App) {}
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/handlers/mod.rs:135:32
[INFO] [stdout]     |
[INFO] [stdout] 135 | fn handle_jump_to_artist_album(app: &mut App) {}
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/handlers/mod.rs:137:27
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn handle_jump_to_context(app: &mut App) {}
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]  --> src/handlers/input.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn handler(key: Key, app: &mut App) {
[INFO] [stdout]   |                          ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]  --> src/handlers/playbar.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn handler(key: Key, app: &mut App) {}
[INFO] [stdout]   |                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]  --> src/handlers/playbar.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn handler(key: Key, app: &mut App) {}
[INFO] [stdout]   |                          ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]  --> src/handlers/playlist.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn handler(key: Key, app: &mut App) {}
[INFO] [stdout]   |                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]  --> src/handlers/playlist.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn handler(key: Key, app: &mut App) {}
[INFO] [stdout]   |                          ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/handlers/mod.rs:131:25
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn handle_jump_to_album(app: &mut App) {}
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/handlers/mod.rs:133:26
[INFO] [stdout]     |
[INFO] [stdout] 133 | fn handle_jump_to_artist(app: &mut App) {}
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/handlers/mod.rs:135:32
[INFO] [stdout]     |
[INFO] [stdout] 135 | fn handle_jump_to_artist_album(app: &mut App) {}
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/handlers/mod.rs:137:27
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn handle_jump_to_context(app: &mut App) {}
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/ui/mod.rs:210:31
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn draw_search_results<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/ui/mod.rs:210:49
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn draw_search_results<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layout_chunk`
[INFO] [stdout]    --> src/ui/mod.rs:210:60
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn draw_search_results<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/ui/mod.rs:485:21
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub fn draw_home<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/ui/mod.rs:485:39
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub fn draw_home<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layout_chunk`
[INFO] [stdout]    --> src/ui/mod.rs:485:50
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub fn draw_home<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/ui/mod.rs:547:30
[INFO] [stdout]     |
[INFO] [stdout] 547 | pub fn draw_artist_albums<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/ui/mod.rs:547:48
[INFO] [stdout]     |
[INFO] [stdout] 547 | pub fn draw_artist_albums<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layout_chunk`
[INFO] [stdout]    --> src/ui/mod.rs:547:59
[INFO] [stdout]     |
[INFO] [stdout] 547 | pub fn draw_artist_albums<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/ui/mod.rs:210:31
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn draw_search_results<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/ui/mod.rs:210:49
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn draw_search_results<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layout_chunk`
[INFO] [stdout]    --> src/ui/mod.rs:210:60
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn draw_search_results<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/ui/mod.rs:485:21
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub fn draw_home<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/ui/mod.rs:485:39
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub fn draw_home<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layout_chunk`
[INFO] [stdout]    --> src/ui/mod.rs:485:50
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub fn draw_home<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/ui/mod.rs:547:30
[INFO] [stdout]     |
[INFO] [stdout] 547 | pub fn draw_artist_albums<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/ui/mod.rs:547:48
[INFO] [stdout]     |
[INFO] [stdout] 547 | pub fn draw_artist_albums<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layout_chunk`
[INFO] [stdout]    --> src/ui/mod.rs:547:59
[INFO] [stdout]     |
[INFO] [stdout] 547 | pub fn draw_artist_albums<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset_route_state` is never used
[INFO] [stdout]    --> src/app.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 63  | impl App {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn reset_route_state(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `index` is never read
[INFO] [stdout]    --> src/app.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct ScrollableResultPages<T> {
[INFO] [stdout]     |            --------------------- field in this struct
[INFO] [stdout] 223 |     index: usize,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScrollableResultPages` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_results`, `get_mut_results`, and `add_pages` are never used
[INFO] [stdout]    --> src/app.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 227 | impl<T> ScrollableResultPages<T> {
[INFO] [stdout]     | -------------------------------- associated items in this implementation
[INFO] [stdout] 228 |     pub fn new() -> ScrollableResultPages<T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub fn get_results(&self, at_index: Option<usize>) -> Option<&T> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn get_mut_results(&mut self, at_index: Option<usize>) -> Option<&mut T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn add_pages(&mut self, new_pages: T) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AlbumSearch`, `SongSearch`, `ArtistSearch`, `PlaylistSearch`, and `Empty` are never constructed
[INFO] [stdout]    --> src/app.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub enum SearchResultBlock {
[INFO] [stdout]     |          ----------------- variants in this enum
[INFO] [stdout] 257 |     AlbumSearch,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 258 |     SongSearch,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 259 |     ArtistSearch,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 260 |     PlaylistSearch,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 261 |     Empty,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SearchResultBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Tracks`, `Albums`, and `Empty` are never constructed
[INFO] [stdout]    --> src/app.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub enum ArtistBlock {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] 266 |     Tracks,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 267 |     Albums,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 268 |     Empty,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArtistBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_jump_to_artist` is never used
[INFO] [stdout]    --> src/handlers/mod.rs:133:4
[INFO] [stdout]     |
[INFO] [stdout] 133 | fn handle_jump_to_artist(app: &mut App) {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handler` is never used
[INFO] [stdout]  --> src/handlers/album_tracks.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn handler(key: Key, app: &mut App) {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `GetAlbumTracks`, `AddItemToQueue`, `Shuffle`, and `Repeat` are never constructed
[INFO] [stdout]   --> src/network.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum IoEvent {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     GetAlbumTracks(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     AddItemToQueue(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     Shuffle(bool),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 27 |     Repeat(bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IoEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `playlist` is never read
[INFO] [stdout]   --> src/network.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Network<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     playlist: PlaybackClient,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Album` and `Artist` are never constructed
[INFO] [stdout]   --> src/ui/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum TableId {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 24 |     Album,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 25 |     AlbumList,
[INFO] [stdout] 26 |     Artist,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Album` is never constructed
[INFO] [stdout]   --> src/ui/mod.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum ColumnId {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 38 |     Album,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AlbumUi` is never constructed
[INFO] [stdout]   --> src/ui/mod.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct AlbumUi {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_home` is never used
[INFO] [stdout]    --> src/ui/mod.rs:485:8
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub fn draw_home<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_artist_albums` is never used
[INFO] [stdout]    --> src/ui/mod.rs:547:8
[INFO] [stdout]     |
[INFO] [stdout] 547 | pub fn draw_artist_albums<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASIC_VIEW_HEIGHT` is never used
[INFO] [stdout]  --> src/ui/util.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const BASIC_VIEW_HEIGHT: u16 = 6;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMALL_TERMINAL_WIDTH` is never used
[INFO] [stdout]  --> src/ui/util.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const SMALL_TERMINAL_WIDTH: u16 = 150;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_artist_string` is never used
[INFO] [stdout]   --> src/ui/util.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn create_artist_string(artists: &[Artist]) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset_route_state` is never used
[INFO] [stdout]    --> src/app.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 63  | impl App {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn reset_route_state(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `index` is never read
[INFO] [stdout]    --> src/app.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct ScrollableResultPages<T> {
[INFO] [stdout]     |            --------------------- field in this struct
[INFO] [stdout] 223 |     index: usize,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScrollableResultPages` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_results`, `get_mut_results`, and `add_pages` are never used
[INFO] [stdout]    --> src/app.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 227 | impl<T> ScrollableResultPages<T> {
[INFO] [stdout]     | -------------------------------- associated items in this implementation
[INFO] [stdout] 228 |     pub fn new() -> ScrollableResultPages<T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub fn get_results(&self, at_index: Option<usize>) -> Option<&T> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn get_mut_results(&mut self, at_index: Option<usize>) -> Option<&mut T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn add_pages(&mut self, new_pages: T) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AlbumSearch`, `SongSearch`, `ArtistSearch`, `PlaylistSearch`, and `Empty` are never constructed
[INFO] [stdout]    --> src/app.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub enum SearchResultBlock {
[INFO] [stdout]     |          ----------------- variants in this enum
[INFO] [stdout] 257 |     AlbumSearch,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 258 |     SongSearch,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 259 |     ArtistSearch,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 260 |     PlaylistSearch,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 261 |     Empty,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SearchResultBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Tracks`, `Albums`, and `Empty` are never constructed
[INFO] [stdout]    --> src/app.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub enum ArtistBlock {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] 266 |     Tracks,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 267 |     Albums,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 268 |     Empty,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArtistBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_jump_to_artist` is never used
[INFO] [stdout]    --> src/handlers/mod.rs:133:4
[INFO] [stdout]     |
[INFO] [stdout] 133 | fn handle_jump_to_artist(app: &mut App) {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handler` is never used
[INFO] [stdout]  --> src/handlers/album_tracks.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn handler(key: Key, app: &mut App) {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `GetAlbumTracks`, `AddItemToQueue`, `Shuffle`, and `Repeat` are never constructed
[INFO] [stdout]   --> src/network.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum IoEvent {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     GetAlbumTracks(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     AddItemToQueue(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     Shuffle(bool),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 27 |     Repeat(bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IoEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `playlist` is never read
[INFO] [stdout]   --> src/network.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Network<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     playlist: PlaybackClient,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Album` and `Artist` are never constructed
[INFO] [stdout]   --> src/ui/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum TableId {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 24 |     Album,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 25 |     AlbumList,
[INFO] [stdout] 26 |     Artist,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Album` is never constructed
[INFO] [stdout]   --> src/ui/mod.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum ColumnId {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 38 |     Album,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AlbumUi` is never constructed
[INFO] [stdout]   --> src/ui/mod.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct AlbumUi {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_home` is never used
[INFO] [stdout]    --> src/ui/mod.rs:485:8
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub fn draw_home<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_artist_albums` is never used
[INFO] [stdout]    --> src/ui/mod.rs:547:8
[INFO] [stdout]     |
[INFO] [stdout] 547 | pub fn draw_artist_albums<B>(f: &mut Frame<B>, app: &App, layout_chunk: Rect)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASIC_VIEW_HEIGHT` is never used
[INFO] [stdout]  --> src/ui/util.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const BASIC_VIEW_HEIGHT: u16 = 6;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMALL_TERMINAL_WIDTH` is never used
[INFO] [stdout]  --> src/ui/util.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const SMALL_TERMINAL_WIDTH: u16 = 150;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_artist_string` is never used
[INFO] [stdout]   --> src/ui/util.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn create_artist_string(artists: &[Artist]) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 52 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 52 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking webkit2gtk v0.18.2
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2m 30s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bigint v4.4.3, nom v5.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "d29af9ac94fd1421f8ef9e2aedd663c1a6dae08805b35bdbb087b1949ef2b6b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d29af9ac94fd1421f8ef9e2aedd663c1a6dae08805b35bdbb087b1949ef2b6b3", kill_on_drop: false }`
[INFO] [stdout] d29af9ac94fd1421f8ef9e2aedd663c1a6dae08805b35bdbb087b1949ef2b6b3
