[INFO] cloning repository https://github.com/OscarLewis/elliot_bay_book_sync
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/OscarLewis/elliot_bay_book_sync" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOscarLewis%2Felliot_bay_book_sync", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOscarLewis%2Felliot_bay_book_sync'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f642d1455b25f74bac74660a99ae46e75356150a
[INFO] checking OscarLewis/elliot_bay_book_sync 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%2FOscarLewis%2Felliot_bay_book_sync" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/OscarLewis/elliot_bay_book_sync
[INFO] finished tweaking git repo https://github.com/OscarLewis/elliot_bay_book_sync
[INFO] tweaked toml for git repo https://github.com/OscarLewis/elliot_bay_book_sync written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/OscarLewis/elliot_bay_book_sync 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/OscarLewis/elliot_bay_book_sync 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]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded test-log v0.2.21
[INFO] [stderr]   Downloaded test-log-macros v0.2.21
[INFO] [stderr]   Downloaded test-log-core v0.2.21
[INFO] [stderr]   Downloaded test-context v0.5.8
[INFO] [stderr]   Downloaded test-context-macros v0.5.8
[INFO] [stderr]   Downloaded tower-http v0.7.1
[INFO] [stderr]   Downloaded mongodb v3.9.1
[INFO] [stderr]   Downloaded mongodb-internal-macros v3.9.1
[INFO] [stderr]   Downloaded hickory-resolver v0.26.3
[INFO] [stderr]   Downloaded hickory-proto v0.26.3
[INFO] [stderr]   Downloaded derive-where v1.7.0
[INFO] [stderr]   Downloaded hickory-net v0.26.3
[INFO] [stderr]   Downloaded graphql_client v0.16.0
[INFO] [stderr]   Downloaded graphql-parser v0.4.1
[INFO] [stderr]   Downloaded graphql_query_derive v0.16.0
[INFO] [stderr]   Downloaded graphql-introspection-query v0.3.0
[INFO] [stderr]   Downloaded xml-rs v1.0.0
[INFO] [stderr]   Downloaded graphql_client_codegen v0.16.0
[INFO] [stderr]   Downloaded epub v2.1.5
[INFO] [stderr]   Downloaded pest_generator v2.9.1
[INFO] [stderr]   Downloaded pest_derive v2.9.1
[INFO] [stderr]   Downloaded pest_meta v2.9.1
[INFO] [stderr]   Downloaded pest v2.9.1
[INFO] [stderr]   Downloaded bson v3.1.0
[INFO] [stderr]   Downloaded typetag v0.2.23
[INFO] [stderr]   Downloaded expect-json-macros v1.11.0
[INFO] [stderr]   Downloaded educe v0.7.6
[INFO] [stderr]   Downloaded expect-json v1.11.0
[INFO] [stderr]   Downloaded rust-multipart-rfc7578_2 v0.9.0
[INFO] [stderr]   Downloaded typetag-impl v0.2.23
[INFO] [stderr]   Downloaded reserve-port v2.5.0
[INFO] [stderr]   Downloaded axum-test v21.1.0
[INFO] [stderr]   Downloaded axum-htmx v0.8.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 989a549575f29030d7ff0fe51c87341f28ff4712c094e71906b9ba6ae37441cf
[INFO] running `Command { std: "docker" "start" "989a549575f29030d7ff0fe51c87341f28ff4712c094e71906b9ba6ae37441cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "989a549575f29030d7ff0fe51c87341f28ff4712c094e71906b9ba6ae37441cf", 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" "989a549575f29030d7ff0fe51c87341f28ff4712c094e71906b9ba6ae37441cf" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "989a549575f29030d7ff0fe51c87341f28ff4712c094e71906b9ba6ae37441cf", 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" "989a549575f29030d7ff0fe51c87341f28ff4712c094e71906b9ba6ae37441cf" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]     Checking critical-section v1.2.0
[INFO] [stderr]     Checking smallvec v1.16.0
[INFO] [stderr]    Compiling syn v3.0.5
[INFO] [stderr]    Compiling find-msvc-tools v0.1.12
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking mio v1.2.3
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]    Compiling cc v1.4.5
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking indexmap v2.14.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.23
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking http-body v1.1.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.21
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling zerocopy v0.8.57
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling zerocopy-derive v0.8.57
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]     Checking either v1.18.0
[INFO] [stderr]     Checking num-integer v0.1.47
[INFO] [stderr]     Checking cpufeatures v0.3.1
[INFO] [stderr]    Compiling aws-lc-rs v1.18.1
[INFO] [stderr]     Checking num-bigint v0.4.8
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking http-body-util v0.1.5
[INFO] [stderr]     Checking hybrid-array v0.4.15
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.8
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]    Compiling aws-lc-sys v0.45.0
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]     Checking bitflags v2.13.2
[INFO] [stderr]     Checking cmov v0.5.4
[INFO] [stderr]     Checking bytemuck v1.25.2
[INFO] [stderr]     Checking ctutils v0.4.2
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]     Checking uuid v1.26.1
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]     Checking block-buffer v0.12.1
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking chacha20 v0.10.2
[INFO] [stderr]     Checking aho-corasick v1.1.5
[INFO] [stderr]    Compiling rustls v0.23.44
[INFO] [stderr]    Compiling erased-serde v0.4.10
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]     Checking const-oid v0.10.2
[INFO] [stderr]     Checking rand v0.10.2
[INFO] [stderr]     Checking tinyvec v1.13.2
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]    Compiling time-macros v0.2.32
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling macro_magic_core_macros v0.5.1
[INFO] [stderr]    Compiling derive-syn-parse v0.2.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking time-core v0.1.9
[INFO] [stderr]     Checking zlib-rs v0.6.7
[INFO] [stderr]     Checking time v0.3.55
[INFO] [stderr]    Compiling macro_magic_core v0.5.1
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]     Checking zerotrie v0.2.5
[INFO] [stderr]     Checking zerovec v0.11.8
[INFO] [stderr]     Checking flate2 v1.1.10
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling multiversion-macros v0.9.0
[INFO] [stderr]     Checking tinystr v0.8.4
[INFO] [stderr]     Checking icu_locale_core v2.3.0
[INFO] [stderr]     Checking potential_utf v0.1.6
[INFO] [stderr]     Checking thiserror v2.0.20
[INFO] [stderr]     Checking icu_collections v2.3.0
[INFO] [stderr]    Compiling darling_core v0.24.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling pest v2.9.1
[INFO] [stderr]     Checking icu_provider v2.3.1
[INFO] [stderr]     Checking icu_normalizer v2.3.0
[INFO] [stderr]     Checking icu_properties v2.3.0
[INFO] [stderr]     Checking ipnet v2.12.2
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling encoding_rs v0.8.41
[INFO] [stderr]     Checking as-slice v0.2.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling built v0.8.1
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking simdutf8 v0.1.5
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]    Compiling combine v4.6.8
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]     Checking h2 v0.4.19
[INFO] [stderr]     Checking aligned v0.4.3
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling darling_macro v0.24.1
[INFO] [stderr]    Compiling pest_meta v2.9.1
[INFO] [stderr]     Checking prefix-trie v0.8.4
[INFO] [stderr]     Checking multiversion v0.9.0
[INFO] [stderr]    Compiling macro_magic_macros v0.5.1
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling pulp v0.22.3
[INFO] [stderr]    Compiling profiling-procmacros v1.0.18
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]     Checking no_std_io2 v0.9.4
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking core_detect v1.0.0
[INFO] [stderr]     Checking data-encoding v2.11.1
[INFO] [stderr]    Compiling pastey v0.1.1
[INFO] [stderr]     Checking y4m v0.8.0
[INFO] [stderr]    Compiling multiversion_no_op v1.0.0
[INFO] [stderr]    Compiling typetag v0.2.23
[INFO] [stderr]    Compiling askama_parser v0.16.1
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking bitvec v1.1.1
[INFO] [stderr]     Checking hickory-proto v0.26.3
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking hyper v1.11.1
[INFO] [stderr]    Compiling graphql-parser v0.4.1
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling pest_generator v2.9.1
[INFO] [stderr]     Checking bitstream-io v4.10.0
[INFO] [stderr]     Checking profiling v1.0.18
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling darling v0.24.1
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]    Compiling rustc_version_runtime v0.3.0
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]    Compiling basic-toml v0.1.10
[INFO] [stderr]    Compiling graphql-introspection-query v0.3.0
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]    Compiling typetag-impl v0.2.23
[INFO] [stderr]    Compiling enum-ordinalize-derive v4.4.2
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking raw-cpuid v11.6.0
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]     Checking num-iter v0.1.46
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.17
[INFO] [stderr]    Compiling cookie v0.18.2
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking pulp-wasm-simd-flag v0.1.1
[INFO] [stderr]     Checking imgref v1.12.3
[INFO] [stderr]     Checking tagptr v0.2.0
[INFO] [stderr]     Checking reborrow v0.5.5
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]     Checking inventory v0.3.24
[INFO] [stderr]     Checking toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling askama_derive v0.16.1
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking zopfli v0.8.3
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking moka v0.12.16
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]    Compiling graphql_client_codegen v0.16.0
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking rustc_version v0.4.1
[INFO] [stderr]    Compiling enum-ordinalize v4.4.2
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]    Compiling pest_derive v2.9.1
[INFO] [stderr]    Compiling serde_with_macros v3.23.0
[INFO] [stderr]     Checking hickory-net v0.26.3
[INFO] [stderr]     Checking hashlink v0.11.1
[INFO] [stderr]    Compiling macro_magic v0.5.1
[INFO] [stderr]     Checking email_address v0.2.9
[INFO] [stderr]     Checking futures-executor v0.3.34
[INFO] [stderr]     Checking avif-serialize v0.8.9
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]     Checking rustls-native-certs v0.8.4
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]    Compiling typed-builder-macro v0.22.0
[INFO] [stderr]    Compiling expect-json-macros v1.11.0
[INFO] [stderr]    Compiling test-log-core v0.2.21
[INFO] [stderr]     Checking env_filter v2.0.0
[INFO] [stderr]     Checking lebe v0.5.3
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]     Checking fax v0.2.7
[INFO] [stderr]     Checking xml v1.4.0
[INFO] [stderr]     Checking bit_field v0.10.3
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking hickory-resolver v0.26.3
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking typed-builder v0.22.0
[INFO] [stderr]    Compiling askama_macros v0.16.1
[INFO] [stderr]     Checking exr v1.74.2
[INFO] [stderr]     Checking yaml-rust2 v0.11.1
[INFO] [stderr]     Checking stringprep v0.1.5
[INFO] [stderr]     Checking xml-rs v1.0.0
[INFO] [stderr]     Checking pretty_assertions v1.4.1
[INFO] [stderr]     Checking tiff v0.11.3
[INFO] [stderr]     Checking ravif v0.13.0
[INFO] [stderr]     Checking expect-json v1.11.0
[INFO] [stderr]     Checking ron v0.12.2
[INFO] [stderr]    Compiling graphql_query_derive v0.16.0
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking env_logger v0.11.11
[INFO] [stderr]    Compiling test-log-macros v0.2.21
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking toml v1.1.6+spec-1.1.0
[INFO] [stderr]     Checking futures v0.3.34
[INFO] [stderr]    Compiling mongodb-internal-macros v3.9.1
[INFO] [stderr]     Checking serde_with v3.23.0
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]    Compiling educe v0.7.6
[INFO] [stderr]     Checking rust-ini v0.21.3
[INFO] [stderr]     Checking zip v3.0.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking bson v2.15.0
[INFO] [stderr]     Checking serde-untagged v0.1.9
[INFO] [stderr]     Checking rust-multipart-rfc7578_2 v0.9.0
[INFO] [stderr]     Checking reserve-port v2.5.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling derive-where v1.7.0
[INFO] [stderr]     Checking sha1 v0.11.0
[INFO] [stderr]     Checking sha2 v0.11.0
[INFO] [stderr]     Checking hmac v0.13.0
[INFO] [stderr]     Checking pbkdf2 v0.13.0
[INFO] [stderr]     Checking md-5 v0.11.0
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking webpki-roots v1.0.9
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling test-context-macros v0.5.8
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]     Checking bytesize v2.7.0
[INFO] [stderr]     Checking take_mut v0.2.2
[INFO] [stderr]     Checking config v0.15.25
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking axum-test v21.1.0
[INFO] [stderr]     Checking test-context v0.5.8
[INFO] [stderr]     Checking tower-http v0.7.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking graphql_client v0.16.0
[INFO] [stderr]     Checking epub v2.1.5
[INFO] [stderr]     Checking test-log v0.2.21
[INFO] [stderr]     Checking askama v0.16.1
[INFO] [stderr]     Checking directories v6.0.0
[INFO] [stderr]     Checking axum-htmx v0.8.1
[INFO] [stderr]     Checking bson v3.1.0
[INFO] [stderr]     Checking rustls-webpki v0.103.15
[INFO] [stderr]     Checking tokio-rustls v0.26.5
[INFO] [stderr]     Checking rustls-platform-verifier v0.7.0
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking mongodb v3.9.1
[INFO] [stderr]     Checking reqwest v0.13.5
[INFO] [stderr]     Checking ebbooks v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/api/auth/oauth.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{debug, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::StatusCode`
[INFO] [stdout]  --> src/api/auth/oidc.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use reqwest::StatusCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/api/auth/oidc.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `library::book::Book`
[INFO] [stdout]  --> src/api/images.rs:2:80
[INFO] [stdout]   |
[INFO] [stdout] 2 |     AppState, api::make_requests::make_request_to_kobo_store, error::AppError, library::book::Book,
[INFO] [stdout]   |                                                                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/api/images.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/api/kobo_routes.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 |         download_handler::{self, download_request_handler},
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/api/make_requests.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, str::FromStr};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SYNC_TOKEN_HEADER`
[INFO] [stdout]   --> src/api/make_requests.rs:16:33
[INFO] [stdout]    |
[INFO] [stdout] 16 |     library::sync::sync_token::{SYNC_TOKEN_HEADER, SyncToken},
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileFormat` and `FileSource`
[INFO] [stdout]  --> src/config.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use config::{FileFormat, FileSource};
[INFO] [stdout]   |              ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BookMetadata`, `get_store_url_for_current_request`, and `redirect_or_proxy_request`
[INFO] [stdout]  --> src/library/sync/download_handler.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 |     api::make_requests::{get_store_url_for_current_request, redirect_or_proxy_request},
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |         sync::entitlement_models::{BookMetadata, KoboFormat},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeaderValue`, `Json`, `StatusCode`, and `header`
[INFO] [stdout]   --> src/library/sync/download_handler.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Json,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     http::{HeaderMap, HeaderValue, Method, Request, StatusCode, header},
[INFO] [stdout]    |                       ^^^^^^^^^^^                   ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `SecondsFormat`
[INFO] [stdout]  --> src/library/sync/entitlement_models.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use chrono::{DateTime, SecondsFormat, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `book::Book` and `sync::entitlement_models::BookMetadata`
[INFO] [stdout]  --> src/library/sync/get_tests.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 |     library::{book::Book, sync::entitlement_models::BookMetadata},
[INFO] [stdout]   |               ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/library/sync/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod get_tests;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OriginalUri` and `StatusCode`
[INFO] [stdout]   --> src/library/sync/get_tests.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 |     extract::{self, OriginalUri},
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout] 11 |     http::{HeaderMap, StatusCode, Uri},
[INFO] [stdout]    |                       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/library/sync/mod.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub mod get_tests;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]   --> src/library/sync/get_tests.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tracing::{debug, info};
[INFO] [stdout]    |               ^^^^^  ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/library/sync/mod.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub mod get_tests;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::Book`
[INFO] [stdout]  --> src/library/sync/metadata_handler.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 |     library::{book::Book, sync::entitlement_models::BookMetadata},
[INFO] [stdout]   |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Book`
[INFO] [stdout]   --> src/library/sync/reading_state_handler.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |             Book, CurrentBookmarkDocument, ReadStatus, ReadingStateDocument, StatisticsDocument,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Path`, `Router`, and `routing::any`
[INFO] [stdout]  --> src/library/sync/stubs.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Json, Router,
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 3 |     body::Bytes,
[INFO] [stdout] 4 |     extract::{OriginalUri, Path, State},
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |     routing::any,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/library/sync/sync_token.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{collections::HashMap, fmt};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/metadata/extract_images.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> src/metadata/hardcover/graphql.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]  --> src/metadata/hardcover/graphql.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::OpenOptions;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/metadata/hardcover/graphql.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/metadata/hardcover/graphql.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, info};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hardcover::graphql::HardcoverBookByPK`
[INFO] [stdout]  --> src/metadata/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use hardcover::graphql::HardcoverBookByPK;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hardcover::graphql::HardcoverBookSearch`
[INFO] [stdout]  --> src/metadata/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use hardcover::graphql::HardcoverBookSearch;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hardcover::graphql::book_by_pk_query`
[INFO] [stdout]   --> src/metadata/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use hardcover::graphql::book_by_pk_query;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]  --> src/scan/scanner.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]   |                          ^^^^^^^^^^^^             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/scan/scanner.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/api/auth/oauth.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{debug, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::StatusCode`
[INFO] [stdout]  --> src/api/auth/oidc.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use reqwest::StatusCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/api/auth/oidc.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `library::book::Book`
[INFO] [stdout]  --> src/api/images.rs:2:80
[INFO] [stdout]   |
[INFO] [stdout] 2 |     AppState, api::make_requests::make_request_to_kobo_store, error::AppError, library::book::Book,
[INFO] [stdout]   |                                                                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/api/images.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/api/kobo_routes.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 |         download_handler::{self, download_request_handler},
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/api/make_requests.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, str::FromStr};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SYNC_TOKEN_HEADER`
[INFO] [stdout]   --> src/api/make_requests.rs:16:33
[INFO] [stdout]    |
[INFO] [stdout] 16 |     library::sync::sync_token::{SYNC_TOKEN_HEADER, SyncToken},
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileFormat` and `FileSource`
[INFO] [stdout]  --> src/config.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use config::{FileFormat, FileSource};
[INFO] [stdout]   |              ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DurationRound`
[INFO] [stdout]    --> src/database/scan_repository.rs:129:28
[INFO] [stdout]     |
[INFO] [stdout] 129 |     use chrono::{DateTime, DurationRound, Utc};
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BookMetadata`, `get_store_url_for_current_request`, and `redirect_or_proxy_request`
[INFO] [stdout]  --> src/library/sync/download_handler.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 |     api::make_requests::{get_store_url_for_current_request, redirect_or_proxy_request},
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |         sync::entitlement_models::{BookMetadata, KoboFormat},
[INFO] [stdout]   |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeaderValue`, `Json`, `StatusCode`, and `header`
[INFO] [stdout]   --> src/library/sync/download_handler.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Json,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     http::{HeaderMap, HeaderValue, Method, Request, StatusCode, header},
[INFO] [stdout]    |                       ^^^^^^^^^^^                   ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BookMetadata`
[INFO] [stdout]   --> src/library/sync/download_handler.rs:96:40
[INFO] [stdout]    |
[INFO] [stdout] 96 |             sync::entitlement_models::{BookMetadata, KoboFormat},
[INFO] [stdout]    |                                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `SecondsFormat`
[INFO] [stdout]  --> src/library/sync/entitlement_models.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use chrono::{DateTime, SecondsFormat, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `book::Book` and `sync::entitlement_models::BookMetadata`
[INFO] [stdout]  --> src/library/sync/get_tests.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 |     library::{book::Book, sync::entitlement_models::BookMetadata},
[INFO] [stdout]   |               ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OriginalUri` and `StatusCode`
[INFO] [stdout]   --> src/library/sync/get_tests.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 |     extract::{self, OriginalUri},
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout] 11 |     http::{HeaderMap, StatusCode, Uri},
[INFO] [stdout]    |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]   --> src/library/sync/get_tests.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tracing::{debug, info};
[INFO] [stdout]    |               ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::Book`
[INFO] [stdout]  --> src/library/sync/metadata_handler.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 |     library::{book::Book, sync::entitlement_models::BookMetadata},
[INFO] [stdout]   |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Book`
[INFO] [stdout]   --> src/library/sync/reading_state_handler.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |             Book, CurrentBookmarkDocument, ReadStatus, ReadingStateDocument, StatisticsDocument,
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Path`, `Router`, and `routing::any`
[INFO] [stdout]  --> src/library/sync/stubs.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Json, Router,
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 3 |     body::Bytes,
[INFO] [stdout] 4 |     extract::{OriginalUri, Path, State},
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |     routing::any,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/library/sync/sync_token.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{collections::HashMap, fmt};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/metadata/extract_images.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> src/metadata/hardcover/graphql.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]  --> src/metadata/hardcover/graphql.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::OpenOptions;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/metadata/hardcover/graphql.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/metadata/hardcover/graphql.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, info};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `config::AppConfig`
[INFO] [stdout]    --> src/metadata/update_meta.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 |     use crate::{config::AppConfig, library::book::Book, test_helpers::AppTestContext};
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hardcover::graphql::HardcoverBookByPK`
[INFO] [stdout]  --> src/metadata/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use hardcover::graphql::HardcoverBookByPK;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hardcover::graphql::HardcoverBookSearch`
[INFO] [stdout]  --> src/metadata/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use hardcover::graphql::HardcoverBookSearch;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hardcover::graphql::book_by_pk_query`
[INFO] [stdout]   --> src/metadata/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use hardcover::graphql::book_by_pk_query;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]  --> src/scan/scanner.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]   |                          ^^^^^^^^^^^^             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/scan/scanner.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `database::ScanRepository`
[INFO] [stdout]    --> src/scan/scanner.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |     use crate::{database::ScanRepository, test_helpers::AppTestContext};
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/api/initialization.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let mut resources = kobo_resources.unwrap_or_else(|| {
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/library/sync/sync_handler.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut new_reading_state_last_modified = sync_token.data.reading_state_last_modified;
[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/library/sync/sync_handler.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut new_archived_last_modified = Utc.timestamp_opt(0, 0).unwrap();
[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/metadata/epub/parse.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut doc = EpubDoc::new(path)?;
[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/api/initialization.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let mut resources = kobo_resources.unwrap_or_else(|| {
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/library/sync/sync_handler.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut new_reading_state_last_modified = sync_token.data.reading_state_last_modified;
[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/library/sync/sync_handler.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut new_archived_last_modified = Utc.timestamp_opt(0, 0).unwrap();
[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/metadata/epub/parse.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut doc = EpubDoc::new(path)?;
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/api/images.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     token: String,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method`
[INFO] [stdout]   --> src/api/images.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     method: reqwest::Method,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `headers`
[INFO] [stdout]   --> src/api/images.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     headers: HeaderMap,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]   --> src/api/images.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     body: bytes::Bytes,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image_path`
[INFO] [stdout]    --> src/config.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         image_path: Option<impl Into<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_image_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/library/sync/delete_library_item_handler.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |     extract::Path((token, book_id)): extract::Path<(String, String)>,
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uri`
[INFO] [stdout]   --> src/library/sync/delete_library_item_handler.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     OriginalUri(uri): OriginalUri,
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method`
[INFO] [stdout]   --> src/library/sync/delete_library_item_handler.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     method: Method,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `headers`
[INFO] [stdout]   --> src/library/sync/delete_library_item_handler.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     headers: HeaderMap,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]   --> src/library/sync/delete_library_item_handler.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     body: Bytes,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/library/sync/download_handler.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 |     extract::Path((token, book_id, book_format)): extract::Path<(String, String, String)>,
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contributor_roles`
[INFO] [stdout]    --> src/library/sync/entitlement_models.rs:433:13
[INFO] [stdout]     |
[INFO] [stdout] 433 |         let contributor_roles = book.author.as_ref().map(|author| {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contributor_roles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/library/sync/sync_token.rs:182:13
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let version = match sync_token_json.get("version").and_then(|v| v.as_str()) {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `epub_metadata`
[INFO] [stdout]   --> src/metadata/fetch_meta.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 |     epub_metadata: &EpubDiskMetadata,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_epub_metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super`
[INFO] [stdout]    --> src/api/auth/device_auth_route.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     use super::*;
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super`
[INFO] [stdout]   --> src/api/auth/oauth.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     use super::*;
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `user` and `create` are never used
[INFO] [stdout]   --> src/directories.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl AppDirs {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn user() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn create(&self) -> std::io::Result<()> {
[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 `extract_epub_cover_to_fs` is never used
[INFO] [stdout]   --> src/metadata/epub/parse.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub async fn extract_epub_cover_to_fs(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `slug` and `books_count` are never read
[INFO] [stdout]   --> src/metadata/fetch_meta.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct SeriesDetails {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub slug: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 19 |     pub books_count: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SeriesDetails` 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: fields `width` and `height` are never read
[INFO] [stdout]   --> src/metadata/fetch_meta.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct BookImage {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 24 |     pub url: Option<String>,
[INFO] [stdout] 25 |     pub width: Option<u32>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 26 |     pub height: Option<u32>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BookImage` 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: struct `BookByPK` is never constructed
[INFO] [stdout]   --> src/metadata/hardcover/graphql.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct BookByPK;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `HardcoverBookByPK` is never used
[INFO] [stdout]   --> src/metadata/hardcover/graphql.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type HardcoverBookByPK = book_by_pk::BookByPkBooksByPk;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `book_by_pk_query` is never used
[INFO] [stdout]   --> src/metadata/hardcover/graphql.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub async fn book_by_pk_query(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/api/images.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     token: String,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method`
[INFO] [stdout]   --> src/api/images.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     method: reqwest::Method,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `headers`
[INFO] [stdout]   --> src/api/images.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     headers: HeaderMap,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]   --> src/api/images.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     body: bytes::Bytes,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image_path`
[INFO] [stdout]    --> src/config.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         image_path: Option<impl Into<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_image_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/library/sync/delete_library_item_handler.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |     extract::Path((token, book_id)): extract::Path<(String, String)>,
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uri`
[INFO] [stdout]   --> src/library/sync/delete_library_item_handler.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     OriginalUri(uri): OriginalUri,
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method`
[INFO] [stdout]   --> src/library/sync/delete_library_item_handler.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     method: Method,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `headers`
[INFO] [stdout]   --> src/library/sync/delete_library_item_handler.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     headers: HeaderMap,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]   --> src/library/sync/delete_library_item_handler.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     body: Bytes,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/library/sync/download_handler.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 |     extract::Path((token, book_id, book_format)): extract::Path<(String, String, String)>,
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contributor_roles`
[INFO] [stdout]    --> src/library/sync/entitlement_models.rs:433:13
[INFO] [stdout]     |
[INFO] [stdout] 433 |         let contributor_roles = book.author.as_ref().map(|author| {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contributor_roles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `epub_metadata`
[INFO] [stdout]   --> src/metadata/fetch_meta.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 |     epub_metadata: &EpubDiskMetadata,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_epub_metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/library/sync/sync_token.rs:182:13
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let version = match sync_token_json.get("version").and_then(|v| v.as_str()) {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `user` and `create` are never used
[INFO] [stdout]   --> src/directories.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl AppDirs {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn user() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn create(&self) -> std::io::Result<()> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `slug` and `books_count` are never read
[INFO] [stdout]   --> src/metadata/fetch_meta.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct SeriesDetails {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub slug: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 19 |     pub books_count: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SeriesDetails` 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: fields `width` and `height` are never read
[INFO] [stdout]   --> src/metadata/fetch_meta.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct BookImage {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 24 |     pub url: Option<String>,
[INFO] [stdout] 25 |     pub width: Option<u32>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 26 |     pub height: Option<u32>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BookImage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `askama`
[INFO] [stderr]   --> Cargo.toml:24:15
[INFO] [stderr]    |
[INFO] [stderr] 24 | [dependencies.askama]
[INFO] [stderr]    |               ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `askama`
[INFO] [stderr] warning: unused dependency `axum-htmx`
[INFO] [stderr]  --> Cargo.toml:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | axum-htmx = "0.8.1"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `axum-htmx`
[INFO] [stderr] warning: `ebbooks` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 35s
[INFO] running `Command { std: "docker" "inspect" "989a549575f29030d7ff0fe51c87341f28ff4712c094e71906b9ba6ae37441cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "989a549575f29030d7ff0fe51c87341f28ff4712c094e71906b9ba6ae37441cf", kill_on_drop: false }`
[INFO] [stdout] 989a549575f29030d7ff0fe51c87341f28ff4712c094e71906b9ba6ae37441cf
