[INFO] cloning repository https://github.com/richrobber2/rustdl
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/richrobber2/rustdl" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frichrobber2%2Frustdl", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frichrobber2%2Frustdl'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e8023544c74dfc3408f4ddb348694141bb2dd328
[INFO] checking richrobber2/rustdl against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frichrobber2%2Frustdl" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/richrobber2/rustdl
[INFO] finished tweaking git repo https://github.com/richrobber2/rustdl
[INFO] tweaked toml for git repo https://github.com/richrobber2/rustdl written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/richrobber2/rustdl on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/richrobber2/rustdl 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "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 num_threads v0.1.7
[INFO] [stderr]   Downloaded ascii v1.1.0
[INFO] [stderr]   Downloaded chunked_transfer v1.5.0
[INFO] [stderr]   Downloaded tiny_http v0.12.0
[INFO] [stderr]   Downloaded which v4.4.2
[INFO] [stderr]   Downloaded windows-targets v0.42.2
[INFO] [stderr]   Downloaded serde_plain v1.0.2
[INFO] [stderr]   Downloaded jiff-static v0.2.35
[INFO] [stderr]   Downloaded lazycell v1.3.0
[INFO] [stderr]   Downloaded alloc-stdlib v0.2.4
[INFO] [stderr]   Downloaded alloc-no-stdlib v2.0.4
[INFO] [stderr]   Downloaded rquickjs v0.9.0
[INFO] [stderr]   Downloaded localzone v0.3.1
[INFO] [stderr]   Downloaded data-encoding v2.11.1
[INFO] [stderr]   Downloaded serde_with_macros v3.22.0
[INFO] [stderr]   Downloaded cesu8 v1.1.0
[INFO] [stderr]   Downloaded constant_time_eq v0.4.2
[INFO] [stderr]   Downloaded windows-core v0.54.0
[INFO] [stderr]   Downloaded fancy-regex v0.14.0
[INFO] [stderr]   Downloaded qrcode v0.14.1
[INFO] [stderr]   Downloaded jni v0.21.1
[INFO] [stderr]   Downloaded jiff-core v0.1.0
[INFO] [stderr]   Downloaded rustypipe v0.11.4
[INFO] [stderr]   Downloaded rquickjs-core v0.9.0
[INFO] [stderr]   Downloaded itertools v0.12.1
[INFO] [stderr]   Downloaded brotli-decompressor v5.0.3
[INFO] [stderr]   Downloaded ress v0.11.7
[INFO] [stderr]   Downloaded serde_with v3.22.0
[INFO] [stderr]   Downloaded blake3 v1.8.7
[INFO] [stderr]   Downloaded bindgen v0.69.5
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.42.2
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.42.2
[INFO] [stderr]   Downloaded jiff v0.2.35
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.42.2
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.42.2
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.42.2
[INFO] [stderr]   Downloaded windows_i686_msvc v0.42.2
[INFO] [stderr]   Downloaded windows_i686_gnu v0.42.2
[INFO] [stderr]   Downloaded brotli v8.0.4
[INFO] [stderr]   Downloaded rquickjs-sys v0.9.0
[INFO] [stderr]   Downloaded windows-sys v0.45.0
[INFO] [stderr]   Downloaded windows v0.54.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bc090374f2a396df104ed539181f4ad8307529478d512dad770b4b18a3b26516
[INFO] running `Command { std: "docker" "start" "bc090374f2a396df104ed539181f4ad8307529478d512dad770b4b18a3b26516", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bc090374f2a396df104ed539181f4ad8307529478d512dad770b4b18a3b26516", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bc090374f2a396df104ed539181f4ad8307529478d512dad770b4b18a3b26516" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bc090374f2a396df104ed539181f4ad8307529478d512dad770b4b18a3b26516", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bc090374f2a396df104ed539181f4ad8307529478d512dad770b4b18a3b26516" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling find-msvc-tools v0.1.11
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]     Checking bytes v1.12.1
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]     Checking futures-core v0.3.34
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling cc v1.4.4
[INFO] [stderr]     Checking litemap v0.8.3
[INFO] [stderr]     Checking writeable v0.6.4
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking futures-sink v0.3.34
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling icu_properties_data v2.3.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.3.0
[INFO] [stderr]    Compiling either v1.18.0
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]     Checking http v1.5.0
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling clang-sys v1.9.1
[INFO] [stderr]     Checking alloc-no-stdlib v2.0.4
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]    Compiling crc32fast v1.5.1
[INFO] [stderr]    Compiling bindgen v0.69.5
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking alloc-stdlib v0.2.4
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]     Checking rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]     Checking log v0.4.34
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking futures-io v0.3.34
[INFO] [stderr]     Checking simd-adler32 v0.3.10
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]     Checking futures-task v0.3.34
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking http-body v1.1.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking brotli-decompressor v5.0.3
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]    Compiling zerocopy v0.8.56
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking futures-channel v0.3.34
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]     Checking compression-core v0.4.32
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]     Checking socket2 v0.6.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]     Checking brotli v8.0.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking aho-corasick v1.1.5
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking ipnet v2.12.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking http-body-util v0.1.5
[INFO] [stderr]     Checking webpki-roots v1.0.9
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]     Checking siphasher v1.0.3
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking phf_shared v0.11.3
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling time-macros v0.2.32
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]    Compiling blake3 v1.8.7
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]     Checking ress v0.11.7
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking sha1 v0.10.7
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking localzone v0.3.1
[INFO] [stderr]     Checking data-encoding v2.11.1
[INFO] [stderr]     Checking constant_time_eq v0.4.2
[INFO] [stderr]     Checking ascii v1.1.0
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]     Checking arrayvec v0.7.8
[INFO] [stderr]     Checking chunked_transfer v1.5.0
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking qrcode v0.14.1
[INFO] [stderr]     Checking tiny_http v0.12.0
[INFO] [stderr]     Checking time v0.3.55
[INFO] [stderr]     Checking compression-codecs v0.4.38
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]     Checking rustls-webpki v0.103.15
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking fancy-regex v0.14.0
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking zerovec v0.11.8
[INFO] [stderr]     Checking zerotrie v0.2.5
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]     Checking tinystr v0.8.4
[INFO] [stderr]     Checking potential_utf v0.1.6
[INFO] [stderr]     Checking icu_collections v2.3.0
[INFO] [stderr]     Checking icu_locale_core v2.3.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_plain v1.0.2
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking icu_provider v2.3.1
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling serde_with_macros v3.22.0
[INFO] [stderr]     Checking icu_normalizer v2.3.0
[INFO] [stderr]     Checking icu_properties v2.3.0
[INFO] [stderr]     Checking serde_with v3.22.0
[INFO] [stderr]     Checking hyper v1.11.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]     Checking async-compression v0.4.43
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]    Compiling rquickjs-sys v0.9.0
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking rquickjs-core v0.9.0
[INFO] [stderr]     Checking rquickjs v0.9.0
[INFO] [stderr]     Checking rustypipe v0.11.4
[INFO] [stderr]     Checking rustdl v0.1.45 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]  --> src/local/native_activity.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Request {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `row` is never used
[INFO] [stdout]   --> src/local/native_activity.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn row(item: &Value, kind: &str, id: &str, privacy: bool) -> Value {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `snapshot` is never used
[INFO] [stdout]   --> src/local/native_activity.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub(crate) fn snapshot(payload: &str, privacy: bool) -> String {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Handles` is never constructed
[INFO] [stdout]   --> src/local/native_anime.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Handles {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HANDLES` is never used
[INFO] [stdout]   --> src/local/native_anime.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | static HANDLES: Mutex<Handles> = Mutex::new(Handles {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EpisodeHandles` is never constructed
[INFO] [stdout]   --> src/local/native_anime.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct EpisodeHandles {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `EPISODES` is never used
[INFO] [stdout]   --> src/local/native_anime.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | static EPISODES: Mutex<EpisodeHandles> = Mutex::new(EpisodeHandles {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `episode_row` is never used
[INFO] [stdout]   --> src/local/native_anime.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn episode_row(episode: &StreamEpisode, id: &str, privacy: bool) -> Value {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `episode_rows` is never used
[INFO] [stdout]   --> src/local/native_anime.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn episode_rows(episodes: &[StreamEpisode], watch_url: &str, privacy: bool) -> Vec<Value> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CalendarItem` is never constructed
[INFO] [stdout]   --> src/local/native_anime.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct CalendarItem {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CalendarSession` is never constructed
[INFO] [stdout]   --> src/local/native_anime.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | struct CalendarSession {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALENDARS` is never used
[INFO] [stdout]   --> src/local/native_anime.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | static CALENDARS: Mutex<VecDeque<CalendarSession>> = Mutex::new(VecDeque::new());
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALENDAR_ID` is never used
[INFO] [stdout]   --> src/local/native_anime.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | static CALENDAR_ID: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calendar_row` is never used
[INFO] [stdout]   --> src/local/native_anime.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn calendar_row(item: &CalendarItem, id: &str, privacy: bool) -> Value {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calendar_page` is never used
[INFO] [stdout]   --> src/local/native_anime.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn calendar_page(session: &CalendarSession, page: u16, privacy: bool) -> Value {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]    --> src/local/native_anime.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct Request {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `row` is never used
[INFO] [stdout]    --> src/local/native_anime.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn row(item: &CatalogItem, id: &str, watched: bool, privacy: bool) -> Value {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rows` is never used
[INFO] [stdout]    --> src/local/native_anime.rs:129:4
[INFO] [stdout]     |
[INFO] [stdout] 129 | fn rows(items: &[CatalogItem], watchlisted: &HashSet<String>, privacy: bool) -> Vec<Value> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `item` is never used
[INFO] [stdout]    --> src/local/native_anime.rs:144:4
[INFO] [stdout]     |
[INFO] [stdout] 144 | fn item(id: &str) -> Option<CatalogItem> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `command` is never used
[INFO] [stdout]    --> src/local/native_anime.rs:153:15
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub(crate) fn command(action: &str, payload: &str, privacy: bool) -> String {
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `catalog_failure` is never used
[INFO] [stdout]    --> src/local/native_anime.rs:352:4
[INFO] [stdout]     |
[INFO] [stdout] 352 | fn catalog_failure(error: &(dyn std::error::Error + 'static)) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `catalog_failure_kind` is never used
[INFO] [stdout]    --> src/local/native_anime.rs:363:4
[INFO] [stdout]     |
[INFO] [stdout] 363 | fn catalog_failure_kind(timeout: bool, connection: bool, status: Option<u16>) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `QUEUE_HANDLES` is never used
[INFO] [stdout]  --> src/local/native_api.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | static QUEUE_HANDLES: OnceLock<Mutex<HashMap<String, String>>> = OnceLock::new();
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handles` is never used
[INFO] [stdout]   --> src/local/native_api.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn handles() -> &'static Mutex<HashMap<String, String>> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `queue_row` is never used
[INFO] [stdout]   --> src/local/native_api.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn queue_row(filename: &str, job: &DownloadJob, id: &str, privacy: bool) -> Value {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `queue_snapshot` is never used
[INFO] [stdout]   --> src/local/native_api.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub(crate) fn queue_snapshot(offset: usize, privacy: bool) -> String {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `queue_media` is never used
[INFO] [stdout]   --> src/local/native_api.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) fn queue_media(id: &str) -> Option<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `queue_action` is never used
[INFO] [stdout]   --> src/local/native_api.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub(crate) fn queue_action(id: &str, action: &str) -> bool {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LibraryTarget` is never constructed
[INFO] [stdout]    --> src/local/native_api.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | struct LibraryTarget {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LIBRARY_REVISION` is never used
[INFO] [stdout]    --> src/local/native_api.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 | static LIBRARY_REVISION: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0);
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LIBRARY_HANDLES` is never used
[INFO] [stdout]    --> src/local/native_api.rs:176:8
[INFO] [stdout]     |
[INFO] [stdout] 176 | static LIBRARY_HANDLES: OnceLock<Mutex<HashMap<String, LibraryTarget>>> = OnceLock::new();
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `library_handles` is never used
[INFO] [stdout]    --> src/local/native_api.rs:177:4
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn library_handles() -> &'static Mutex<HashMap<String, LibraryTarget>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `library_row` is never used
[INFO] [stdout]    --> src/local/native_api.rs:181:4
[INFO] [stdout]     |
[INFO] [stdout] 181 | fn library_row(entry: &super::pages::gallery::GalleryEntry, id: &str, privacy: bool) -> Value {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_library_entries` is never used
[INFO] [stdout]    --> src/local/native_api.rs:196:4
[INFO] [stdout]     |
[INFO] [stdout] 196 | fn select_library_entries<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `library_snapshot` is never used
[INFO] [stdout]    --> src/local/native_api.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub(crate) fn library_snapshot(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `library_handle` is never used
[INFO] [stdout]    --> src/local/native_api.rs:327:15
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub(crate) fn library_handle(filename: &str) -> Option<String> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `library_media` is never used
[INFO] [stdout]    --> src/local/native_api.rs:349:15
[INFO] [stdout]     |
[INFO] [stdout] 349 | pub(crate) fn library_media(id: &str) -> Option<String> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validated_source` is never used
[INFO] [stdout]    --> src/local/native_api.rs:358:4
[INFO] [stdout]     |
[INFO] [stdout] 358 | fn validated_source(source: String) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `source_for_filename` is never used
[INFO] [stdout]    --> src/local/native_api.rs:368:4
[INFO] [stdout]     |
[INFO] [stdout] 368 | fn source_for_filename(filename: &str) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `library_source` is never used
[INFO] [stdout]    --> src/local/native_api.rs:377:15
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub(crate) fn library_source(id: &str) -> Option<String> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `library_thumbnail` is never used
[INFO] [stdout]    --> src/local/native_api.rs:381:15
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub(crate) fn library_thumbnail(id: &str, privacy: bool) -> Option<String> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `library_delete` is never used
[INFO] [stdout]    --> src/local/native_api.rs:403:15
[INFO] [stdout]     |
[INFO] [stdout] 403 | pub(crate) fn library_delete(id: &str) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_artwork_path` is never used
[INFO] [stdout]    --> src/local/native_api.rs:473:4
[INFO] [stdout]     |
[INFO] [stdout] 473 | fn playback_artwork_path(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_artwork` is never used
[INFO] [stdout]    --> src/local/native_api.rs:484:8
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn playback_artwork(filename: &str, privacy: bool) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_route` is never used
[INFO] [stdout]    --> src/local/native_api.rs:514:8
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub fn playback_route(filename: &str) -> Option<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_in_playback_order` is never used
[INFO] [stdout]    --> src/local/native_api.rs:534:4
[INFO] [stdout]     |
[INFO] [stdout] 534 | fn next_in_playback_order<'a>(items: &'a [String], current: &str) -> Option<&'a str> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_next` is never used
[INFO] [stdout]    --> src/local/native_api.rs:544:8
[INFO] [stdout]     |
[INFO] [stdout] 544 | pub fn playback_next(current: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_handle` is never used
[INFO] [stdout]    --> src/local/native_api.rs:569:8
[INFO] [stdout]     |
[INFO] [stdout] 569 | pub fn playback_handle(filename: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_downloaded` is never used
[INFO] [stdout]    --> src/local/native_api.rs:574:8
[INFO] [stdout]     |
[INFO] [stdout] 574 | pub fn playback_downloaded(filename: &str) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_details_row` is never used
[INFO] [stdout]    --> src/local/native_api.rs:583:4
[INFO] [stdout]     |
[INFO] [stdout] 583 | fn playback_details_row(job: &DownloadJob, privacy: bool) -> Value {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_details` is never used
[INFO] [stdout]    --> src/local/native_api.rs:589:8
[INFO] [stdout]     |
[INFO] [stdout] 589 | pub fn playback_details(filename: &str, privacy: bool) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]   --> src/local/native_discovery.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Request {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `candidate_row` is never used
[INFO] [stdout]   --> src/local/native_discovery.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn candidate_row(
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playlist_row` is never used
[INFO] [stdout]   --> src/local/native_discovery.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn playlist_row(
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `page` is never used
[INFO] [stdout]   --> src/local/native_discovery.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn page(token: &str, offset: usize, privacy: bool) -> Result<Value, &'static str> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chosen_quality` is never used
[INFO] [stdout]    --> src/local/native_discovery.rs:117:4
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn chosen_quality(candidate: &DiscoveryCandidate, format: &str) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bulk_selection` is never used
[INFO] [stdout]    --> src/local/native_discovery.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn bulk_selection(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preparation` is never used
[INFO] [stdout]    --> src/local/native_discovery.rs:183:4
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn preparation(token: &str) -> Result<Value, &'static str> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `command` is never used
[INFO] [stdout]    --> src/local/native_discovery.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub(crate) fn command(command: &str, payload: &str, privacy: bool) -> String {
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]   --> src/local/native_peers.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Request {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReceiveView` is never constructed
[INFO] [stdout]   --> src/local/native_peers.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct ReceiveView {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RECEIVER` is never used
[INFO] [stdout]   --> src/local/native_peers.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | static RECEIVER: Mutex<Option<ReceiveView>> = Mutex::new(None);
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `receive_fields` is never used
[INFO] [stdout]   --> src/local/native_peers.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn receive_fields(view: Option<&ReceiveView>, privacy: bool) -> Value {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `current_receiver` is never used
[INFO] [stdout]   --> src/local/native_peers.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn current_receiver() -> Option<ReceiveView> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_receive_view` is never used
[INFO] [stdout]   --> src/local/native_peers.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn make_receive_view(address: String, key: String) -> Result<ReceiveView, &'static str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transfer_row` is never used
[INFO] [stdout]   --> src/local/native_peers.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn transfer_row(job: Option<&PeerSendJob>) -> Value {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `snapshot` is never used
[INFO] [stdout]   --> src/local/native_peers.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn snapshot(id: &str, privacy: bool) -> Value {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `command` is never used
[INFO] [stdout]    --> src/local/native_peers.rs:109:15
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub(crate) fn command(action: &str, payload: &str, privacy: bool) -> String {
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Handles` is never constructed
[INFO] [stdout]  --> src/local/native_storage.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Handles {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HANDLES` is never used
[INFO] [stdout]   --> src/local/native_storage.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | static HANDLES: Mutex<Handles> = Mutex::new(Handles {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]   --> src/local/native_storage.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Request {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `video_row` is never used
[INFO] [stdout]   --> src/local/native_storage.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn video_row(video: &StoredVideo, id: &str, privacy: bool) -> Value {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `partial_row` is never used
[INFO] [stdout]   --> src/local/native_storage.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn partial_row(partial: &PartialFile, privacy: bool) -> Value {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `snapshot` is never used
[INFO] [stdout]   --> src/local/native_storage.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn snapshot(offset: usize, privacy: bool) -> Result<Value, &'static str> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `command` is never used
[INFO] [stdout]   --> src/local/native_storage.rs:74:15
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub(crate) fn command(command: &str, payload: &str, privacy: bool) -> String {
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `manifest_page` is never used
[INFO] [stdout]  --> src/local/native_streaming.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) fn manifest_page(manifest: &StreamManifest, privacy: bool) -> Value {
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]   --> src/local/native_streaming.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct Request {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `command` is never used
[INFO] [stdout]    --> src/local/native_streaming.rs:101:15
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub(crate) fn command(action: &str, payload: &str, privacy: bool) -> String {
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decoder_source` is never used
[INFO] [stdout]    --> src/local/native_streaming.rs:202:4
[INFO] [stdout]     |
[INFO] [stdout] 202 | fn decoder_source(source: &super::aniwaves::StreamSource) -> Option<Value> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `source_for_decoder` is never used
[INFO] [stdout]    --> src/local/native_streaming.rs:218:15
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub(crate) fn source_for_decoder(token: &str, index: usize) -> String {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_episodes` is never used
[INFO] [stdout]    --> src/local/native_streaming.rs:272:4
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn append_episodes(page: &mut Value, manifest: &StreamManifest, offset: usize, privacy: bool) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_sources` is never used
[INFO] [stdout]    --> src/local/native_streaming.rs:279:4
[INFO] [stdout]     |
[INFO] [stdout] 279 | fn append_sources(page: &mut Value, manifest: &StreamManifest, offset: usize, privacy: bool) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_filtered_sources` is never used
[INFO] [stdout]    --> src/local/native_streaming.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 | fn append_filtered_sources(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_watchlist` is never used
[INFO] [stdout]    --> src/local/native_streaming.rs:307:4
[INFO] [stdout]     |
[INFO] [stdout] 307 | fn append_watchlist(page: &mut Value, watch: &str) -> Result<(), &'static str> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `watchlist_input` is never used
[INFO] [stdout]    --> src/local/native_streaming.rs:318:4
[INFO] [stdout]     |
[INFO] [stdout] 318 | fn watchlist_input(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_download_network_state` is never used
[INFO] [stdout]   --> src/local/runtime.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) fn set_download_network_state(state: u8) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `QUEUE_HANDLES` is never used
[INFO] [stdout]  --> src/local/native_api.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | static QUEUE_HANDLES: OnceLock<Mutex<HashMap<String, String>>> = OnceLock::new();
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handles` is never used
[INFO] [stdout]   --> src/local/native_api.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn handles() -> &'static Mutex<HashMap<String, String>> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `queue_snapshot` is never used
[INFO] [stdout]   --> src/local/native_api.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub(crate) fn queue_snapshot(offset: usize, privacy: bool) -> String {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `queue_media` is never used
[INFO] [stdout]   --> src/local/native_api.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) fn queue_media(id: &str) -> Option<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `queue_action` is never used
[INFO] [stdout]   --> src/local/native_api.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub(crate) fn queue_action(id: &str, action: &str) -> bool {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `thumbnail` is never read
[INFO] [stdout]    --> src/local/native_api.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 171 | struct LibraryTarget {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] 172 |     href: String,
[INFO] [stdout] 173 |     thumbnail: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LibraryTarget` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LIBRARY_REVISION` is never used
[INFO] [stdout]    --> src/local/native_api.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 | static LIBRARY_REVISION: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0);
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `library_snapshot` is never used
[INFO] [stdout]    --> src/local/native_api.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub(crate) fn library_snapshot(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `source_for_filename` is never used
[INFO] [stdout]    --> src/local/native_api.rs:368:4
[INFO] [stdout]     |
[INFO] [stdout] 368 | fn source_for_filename(filename: &str) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `library_source` is never used
[INFO] [stdout]    --> src/local/native_api.rs:377:15
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub(crate) fn library_source(id: &str) -> Option<String> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `library_thumbnail` is never used
[INFO] [stdout]    --> src/local/native_api.rs:381:15
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub(crate) fn library_thumbnail(id: &str, privacy: bool) -> Option<String> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `library_delete` is never used
[INFO] [stdout]    --> src/local/native_api.rs:403:15
[INFO] [stdout]     |
[INFO] [stdout] 403 | pub(crate) fn library_delete(id: &str) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_artwork` is never used
[INFO] [stdout]    --> src/local/native_api.rs:484:8
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn playback_artwork(filename: &str, privacy: bool) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_route` is never used
[INFO] [stdout]    --> src/local/native_api.rs:514:8
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub fn playback_route(filename: &str) -> Option<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_next` is never used
[INFO] [stdout]    --> src/local/native_api.rs:544:8
[INFO] [stdout]     |
[INFO] [stdout] 544 | pub fn playback_next(current: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_handle` is never used
[INFO] [stdout]    --> src/local/native_api.rs:569:8
[INFO] [stdout]     |
[INFO] [stdout] 569 | pub fn playback_handle(filename: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_downloaded` is never used
[INFO] [stdout]    --> src/local/native_api.rs:574:8
[INFO] [stdout]     |
[INFO] [stdout] 574 | pub fn playback_downloaded(filename: &str) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `playback_details` is never used
[INFO] [stdout]    --> src/local/native_api.rs:589:8
[INFO] [stdout]     |
[INFO] [stdout] 589 | pub fn playback_details(filename: &str, privacy: bool) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 37s
[INFO] running `Command { std: "docker" "inspect" "bc090374f2a396df104ed539181f4ad8307529478d512dad770b4b18a3b26516", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc090374f2a396df104ed539181f4ad8307529478d512dad770b4b18a3b26516", kill_on_drop: false }`
[INFO] [stdout] bc090374f2a396df104ed539181f4ad8307529478d512dad770b4b18a3b26516
