[INFO] cloning repository https://github.com/chetana/chetaku-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/chetana/chetaku-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchetana%2Fchetaku-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchetana%2Fchetaku-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 695a8e59b44176e532f83ee2a211af2d36a4e63c
[INFO] checking chetana/chetaku-rs against 1ed2df61a19042f231709eb05d032ae9e2cb2084 for pr-160235
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchetana%2Fchetaku-rs" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/chetana/chetaku-rs
[INFO] finished tweaking git repo https://github.com/chetana/chetaku-rs
[INFO] tweaked toml for git repo https://github.com/chetana/chetaku-rs written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/chetana/chetaku-rs on toolchain 1ed2df61a19042f231709eb05d032ae9e2cb2084
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ed2df61a19042f231709eb05d032ae9e2cb2084" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/chetana/chetaku-rs 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" "+1ed2df61a19042f231709eb05d032ae9e2cb2084" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rust-s3 v0.37.2
[INFO] [stderr]   Downloaded md5 v0.8.1
[INFO] [stderr]   Downloaded aws-region v0.28.1
[INFO] [stderr]   Downloaded aws-creds v0.39.1
[INFO] [stderr]   Downloaded minidom v0.16.0
[INFO] [stderr]   Downloaded rxml_validation v0.11.0
[INFO] [stderr]   Downloaded ordered-multimap v0.7.3
[INFO] [stderr]   Downloaded maybe-async v0.2.11
[INFO] [stderr]   Downloaded async-trait v0.1.92
[INFO] [stderr]   Downloaded rust-ini v0.21.3
[INFO] [stderr]   Downloaded time-macros v0.2.32
[INFO] [stderr]   Downloaded compact_str v0.7.1
[INFO] [stderr]   Downloaded attohttpc v0.30.1
[INFO] [stderr]   Downloaded rxml v0.11.1
[INFO] [stderr]   Downloaded ntapi v0.4.3
[INFO] [stderr]   Downloaded objc2-io-kit v0.3.2
[INFO] [stderr]   Downloaded sysinfo v0.37.2
[INFO] [stderr]   Downloaded time v0.3.55
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6cc934bb6ba76e1f2f7424ac6e78d78c26bf8d53f06b531790544379e490a4d4
[INFO] running `Command { std: "docker" "start" "6cc934bb6ba76e1f2f7424ac6e78d78c26bf8d53f06b531790544379e490a4d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6cc934bb6ba76e1f2f7424ac6e78d78c26bf8d53f06b531790544379e490a4d4", 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" "6cc934bb6ba76e1f2f7424ac6e78d78c26bf8d53f06b531790544379e490a4d4" "/opt/rustwide/cargo-home/bin/cargo" "+1ed2df61a19042f231709eb05d032ae9e2cb2084" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6cc934bb6ba76e1f2f7424ac6e78d78c26bf8d53f06b531790544379e490a4d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6cc934bb6ba76e1f2f7424ac6e78d78c26bf8d53f06b531790544379e490a4d4" "/opt/rustwide/cargo-home/bin/cargo" "+1ed2df61a19042f231709eb05d032ae9e2cb2084" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]     Checking openssl v0.10.75
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling unicode-properties v0.1.4
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]     Checking compact_str v0.7.1
[INFO] [stderr]     Checking native-tls v0.2.18
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling whoami v1.6.1
[INFO] [stderr]     Checking rxml_validation v0.11.0
[INFO] [stderr]    Compiling time-macros v0.2.32
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking rust-ini v0.21.3
[INFO] [stderr]     Checking rxml v0.11.1
[INFO] [stderr]     Checking attohttpc v0.30.1
[INFO] [stderr]     Checking quick-xml v0.38.4
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking aws-region v0.28.1
[INFO] [stderr]     Checking sysinfo v0.37.2
[INFO] [stderr]    Compiling maybe-async v0.2.11
[INFO] [stderr]    Compiling axum-macros v0.5.0
[INFO] [stderr]     Checking minidom v0.16.0
[INFO] [stderr]     Checking md5 v0.8.1
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking time v0.3.55
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking aws-creds v0.39.1
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]     Checking sqlx-postgres v0.8.6
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking axum v0.8.8
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]     Checking rust-s3 v0.37.2
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking chetaku-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `ExternalApi` is never constructed
[INFO] [stdout]   --> src/error.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum AppError {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     ExternalApi(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MediaType` is never used
[INFO] [stdout]  --> src/models.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum MediaType {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MediaStatus` is never used
[INFO] [stdout]   --> src/models.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum MediaStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MediaEntry` is never constructed
[INFO] [stdout]   --> src/models.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct MediaEntry {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SyncAnimePayload` is never constructed
[INFO] [stdout]   --> src/models.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct SyncAnimePayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SyncGamePayload` is never constructed
[INFO] [stdout]   --> src/models.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct SyncGamePayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SyncMoviePayload` is never constructed
[INFO] [stdout]   --> src/models.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct SyncMoviePayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SyncSeriesPayload` is never constructed
[INFO] [stdout]   --> src/models.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct SyncSeriesPayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_api_key` is never used
[INFO] [stdout]  --> src/routes/cycling.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn check_api_key(headers: &HeaderMap) -> Result<(), AppError> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CyclingActivity` is never constructed
[INFO] [stdout]   --> src/routes/cycling.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct CyclingActivity {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MonthlyTotal` is never constructed
[INFO] [stdout]   --> src/routes/cycling.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct MonthlyTotal {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SportTypeStat` is never constructed
[INFO] [stdout]   --> src/routes/cycling.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct SportTypeStat {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TopRide` is never constructed
[INFO] [stdout]   --> src/routes/cycling.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct TopRide {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CyclingStats` is never constructed
[INFO] [stdout]   --> src/routes/cycling.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct CyclingStats {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SportQuery` is never constructed
[INFO] [stdout]   --> src/routes/cycling.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct SportQuery {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sport_types` is never used
[INFO] [stdout]   --> src/routes/cycling.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn sport_types(sport: &Option<String>) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list` is never used
[INFO] [stdout]    --> src/routes/cycling.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn list(
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_stats` is never used
[INFO] [stdout]    --> src/routes/cycling.rs:157:10
[INFO] [stdout]     |
[INFO] [stdout] 157 | async fn compute_stats(pool: &PgPool, types: &[String]) -> Result<CyclingStats, AppError> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stats` is never used
[INFO] [stdout]    --> src/routes/cycling.rs:243:14
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub async fn stats(
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sync` is never used
[INFO] [stdout]    --> src/routes/cycling.rs:284:14
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub async fn sync(
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MediaQuery` is never constructed
[INFO] [stdout]   --> src/routes/media.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct MediaQuery {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SELECT` is never used
[INFO] [stdout]   --> src/routes/media.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const SELECT: &str =
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list` is never used
[INFO] [stdout]   --> src/routes/media.rs:25:14
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub async fn list(
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_one` is never used
[INFO] [stdout]   --> src/routes/media.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub async fn get_one(
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenreCount` is never constructed
[INFO] [stdout]   --> src/routes/stats.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct GenreCount {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenreStat` is never constructed
[INFO] [stdout]   --> src/routes/stats.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct GenreStat {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScoreCount` is never constructed
[INFO] [stdout]   --> src/routes/stats.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ScoreCount {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatusCount` is never constructed
[INFO] [stdout]   --> src/routes/stats.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct StatusCount {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreatorStat` is never constructed
[INFO] [stdout]   --> src/routes/stats.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct CreatorStat {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Stats` is never constructed
[INFO] [stdout]   --> src/routes/stats.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Stats {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count` is never used
[INFO] [stdout]   --> src/routes/stats.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | async fn count(pool: &PgPool, sql: &str) -> Result<i64, sqlx::Error> {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `genre_stats` is never used
[INFO] [stdout]   --> src/routes/stats.rs:86:10
[INFO] [stdout]    |
[INFO] [stdout] 86 | async fn genre_stats(pool: &PgPool, media_type: &str) -> Result<Vec<GenreStat>, sqlx::Error> {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `score_dist` is never used
[INFO] [stdout]    --> src/routes/stats.rs:106:10
[INFO] [stdout]     |
[INFO] [stdout] 106 | async fn score_dist(pool: &PgPool, media_type: &str) -> Result<Vec<ScoreCount>, sqlx::Error> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_counts` is never used
[INFO] [stdout]    --> src/routes/stats.rs:120:10
[INFO] [stdout]     |
[INFO] [stdout] 120 | async fn status_counts(pool: &PgPool, media_type: &str) -> Result<Vec<StatusCount>, sqlx::Error> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `top_creators` is never used
[INFO] [stdout]    --> src/routes/stats.rs:134:10
[INFO] [stdout]     |
[INFO] [stdout] 134 | async fn top_creators(pool: &PgPool, media_type: &str) -> Result<Vec<CreatorStat>, sqlx::Error> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_and_store` is never used
[INFO] [stdout]    --> src/routes/stats.rs:153:14
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub async fn compute_and_store(pool: &PgPool) -> Result<Value, AppError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalidate` is never used
[INFO] [stdout]    --> src/routes/stats.rs:250:14
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub async fn invalidate(pool: &PgPool) {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handler` is never used
[INFO] [stdout]    --> src/routes/stats.rs:261:14
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub async fn handler(State(pool): State<PgPool>) -> Result<Json<Value>, AppError> {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_api_key` is never used
[INFO] [stdout]   --> src/routes/sync.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn check_api_key(headers: &HeaderMap) -> Result<(), AppError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sync_anime` is never used
[INFO] [stdout]   --> src/routes/sync.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub async fn sync_anime(
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sync_game` is never used
[INFO] [stdout]   --> src/routes/sync.rs:69:14
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub async fn sync_game(
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sync_movie` is never used
[INFO] [stdout]    --> src/routes/sync.rs:113:14
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub async fn sync_movie(
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sync_series` is never used
[INFO] [stdout]    --> src/routes/sync.rs:170:14
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub async fn sync_series(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdatePayload` is never constructed
[INFO] [stdout]  --> src/routes/update.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct UpdatePayload {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_api_key` is never used
[INFO] [stdout]   --> src/routes/update.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn check_api_key(headers: &HeaderMap) -> Result<(), AppError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_entry` is never used
[INFO] [stdout]   --> src/routes/update.rs:29:14
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub async fn delete_entry(
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_entry` is never used
[INFO] [stdout]   --> src/routes/update.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub async fn update_entry(
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_api_key` is never used
[INFO] [stdout]  --> src/routes/voyage.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn check_api_key(headers: &HeaderMap) -> Result<(), AppError> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Voyage` is never constructed
[INFO] [stdout]   --> src/routes/voyage.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Voyage {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YearCount` is never constructed
[INFO] [stdout]   --> src/routes/voyage.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct YearCount {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VoyageStats` is never constructed
[INFO] [stdout]   --> src/routes/voyage.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct VoyageStats {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateVoyagePayload` is never constructed
[INFO] [stdout]   --> src/routes/voyage.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct CreateVoyagePayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateVoyagePayload` is never constructed
[INFO] [stdout]   --> src/routes/voyage.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct UpdateVoyagePayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list` is never used
[INFO] [stdout]   --> src/routes/voyage.rs:79:14
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub async fn list(
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_stats` is never used
[INFO] [stdout]   --> src/routes/voyage.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 | async fn compute_stats(pool: &PgPool) -> Result<VoyageStats, AppError> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stats` is never used
[INFO] [stdout]    --> src/routes/voyage.rs:145:14
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub async fn stats(
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create` is never used
[INFO] [stdout]    --> src/routes/voyage.rs:181:14
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub async fn create(
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update` is never used
[INFO] [stdout]    --> src/routes/voyage.rs:216:14
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub async fn update(
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_voyage` is never used
[INFO] [stdout]    --> src/routes/voyage.rs:257:14
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub async fn delete_voyage(
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalidate_cache` is never used
[INFO] [stdout]    --> src/routes/voyage.rs:280:10
[INFO] [stdout]     |
[INFO] [stdout] 280 | async fn invalidate_cache(pool: &PgPool) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JikanResponse` is never constructed
[INFO] [stdout]  --> src/sync/jikan.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct JikanResponse {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JikanAnime` is never constructed
[INFO] [stdout]   --> src/sync/jikan.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct JikanAnime {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JikanImages` is never constructed
[INFO] [stdout]   --> src/sync/jikan.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct JikanImages {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JikanJpg` is never constructed
[INFO] [stdout]   --> src/sync/jikan.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct JikanJpg {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JikanGenre` is never constructed
[INFO] [stdout]   --> src/sync/jikan.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct JikanGenre {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JikanStudio` is never constructed
[INFO] [stdout]   --> src/sync/jikan.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct JikanStudio {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnimeData` is never constructed
[INFO] [stdout]   --> src/sync/jikan.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct AnimeData {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_anime` is never used
[INFO] [stdout]   --> src/sync/jikan.rs:57:14
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub async fn fetch_anime(mal_id: i32) -> Result<AnimeData> {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawgGame` is never constructed
[INFO] [stdout]  --> src/sync/rawg.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct RawgGame {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawgGenre` is never constructed
[INFO] [stdout]   --> src/sync/rawg.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct RawgGenre {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawgDeveloper` is never constructed
[INFO] [stdout]   --> src/sync/rawg.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct RawgDeveloper {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameData` is never constructed
[INFO] [stdout]   --> src/sync/rawg.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct GameData {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_game` is never used
[INFO] [stdout]   --> src/sync/rawg.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub async fn fetch_game(rawg_id: i32) -> Result<GameData> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TokenResponse` is never constructed
[INFO] [stdout]   --> src/sync/strava.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct TokenResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_access_token` is never used
[INFO] [stdout]   --> src/sync/strava.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub async fn get_access_token() -> Result<String, AppError> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StravaMap` is never constructed
[INFO] [stdout]   --> src/sync/strava.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct StravaMap {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawActivity` is never constructed
[INFO] [stdout]   --> src/sync/strava.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct RawActivity {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StravaActivity` is never constructed
[INFO] [stdout]   --> src/sync/strava.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct StravaActivity {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_all_activities` is never used
[INFO] [stdout]    --> src/sync/strava.rs:107:14
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub async fn fetch_all_activities(access_token: &str) -> Result<Vec<StravaActivity>, AppError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmdbMovieResponse` is never constructed
[INFO] [stdout]  --> src/sync/tmdb.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct TmdbMovieResponse {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmdbTvResponse` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct TmdbTvResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmdbCreditsResponse` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct TmdbCreditsResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmdbGenre` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct TmdbGenre {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmdbCreator` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct TmdbCreator {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmdbNetwork` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | struct TmdbNetwork {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmdbCrewMember` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct TmdbCrewMember {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovieData` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct MovieData {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SeriesData` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct SeriesData {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_year` is never used
[INFO] [stdout]   --> src/sync/tmdb.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn extract_year(date: Option<&str>) -> Option<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_movie` is never used
[INFO] [stdout]   --> src/sync/tmdb.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub async fn fetch_movie(tmdb_id: i32, api_key: &str) -> Result<MovieData, AppError> {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_series` is never used
[INFO] [stdout]    --> src/sync/tmdb.rs:122:14
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub async fn fetch_series(tmdb_id: i32, api_key: &str) -> Result<SeriesData, AppError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ExternalApi` is never constructed
[INFO] [stdout]   --> src/error.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum AppError {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     ExternalApi(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MediaType` is never used
[INFO] [stdout]  --> src/models.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum MediaType {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MediaStatus` is never used
[INFO] [stdout]   --> src/models.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum MediaStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MediaEntry` is never constructed
[INFO] [stdout]   --> src/models.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct MediaEntry {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SyncAnimePayload` is never constructed
[INFO] [stdout]   --> src/models.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct SyncAnimePayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SyncGamePayload` is never constructed
[INFO] [stdout]   --> src/models.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct SyncGamePayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SyncMoviePayload` is never constructed
[INFO] [stdout]   --> src/models.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct SyncMoviePayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SyncSeriesPayload` is never constructed
[INFO] [stdout]   --> src/models.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct SyncSeriesPayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_api_key` is never used
[INFO] [stdout]  --> src/routes/cycling.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn check_api_key(headers: &HeaderMap) -> Result<(), AppError> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CyclingActivity` is never constructed
[INFO] [stdout]   --> src/routes/cycling.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct CyclingActivity {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MonthlyTotal` is never constructed
[INFO] [stdout]   --> src/routes/cycling.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct MonthlyTotal {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SportTypeStat` is never constructed
[INFO] [stdout]   --> src/routes/cycling.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct SportTypeStat {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TopRide` is never constructed
[INFO] [stdout]   --> src/routes/cycling.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct TopRide {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CyclingStats` is never constructed
[INFO] [stdout]   --> src/routes/cycling.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct CyclingStats {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SportQuery` is never constructed
[INFO] [stdout]   --> src/routes/cycling.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct SportQuery {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sport_types` is never used
[INFO] [stdout]   --> src/routes/cycling.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn sport_types(sport: &Option<String>) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list` is never used
[INFO] [stdout]    --> src/routes/cycling.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn list(
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_stats` is never used
[INFO] [stdout]    --> src/routes/cycling.rs:157:10
[INFO] [stdout]     |
[INFO] [stdout] 157 | async fn compute_stats(pool: &PgPool, types: &[String]) -> Result<CyclingStats, AppError> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stats` is never used
[INFO] [stdout]    --> src/routes/cycling.rs:243:14
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub async fn stats(
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sync` is never used
[INFO] [stdout]    --> src/routes/cycling.rs:284:14
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub async fn sync(
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MediaQuery` is never constructed
[INFO] [stdout]   --> src/routes/media.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct MediaQuery {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SELECT` is never used
[INFO] [stdout]   --> src/routes/media.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const SELECT: &str =
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list` is never used
[INFO] [stdout]   --> src/routes/media.rs:25:14
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub async fn list(
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_one` is never used
[INFO] [stdout]   --> src/routes/media.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub async fn get_one(
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenreCount` is never constructed
[INFO] [stdout]   --> src/routes/stats.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct GenreCount {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenreStat` is never constructed
[INFO] [stdout]   --> src/routes/stats.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct GenreStat {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScoreCount` is never constructed
[INFO] [stdout]   --> src/routes/stats.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ScoreCount {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatusCount` is never constructed
[INFO] [stdout]   --> src/routes/stats.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct StatusCount {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreatorStat` is never constructed
[INFO] [stdout]   --> src/routes/stats.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct CreatorStat {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Stats` is never constructed
[INFO] [stdout]   --> src/routes/stats.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Stats {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count` is never used
[INFO] [stdout]   --> src/routes/stats.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | async fn count(pool: &PgPool, sql: &str) -> Result<i64, sqlx::Error> {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `genre_stats` is never used
[INFO] [stdout]   --> src/routes/stats.rs:86:10
[INFO] [stdout]    |
[INFO] [stdout] 86 | async fn genre_stats(pool: &PgPool, media_type: &str) -> Result<Vec<GenreStat>, sqlx::Error> {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `score_dist` is never used
[INFO] [stdout]    --> src/routes/stats.rs:106:10
[INFO] [stdout]     |
[INFO] [stdout] 106 | async fn score_dist(pool: &PgPool, media_type: &str) -> Result<Vec<ScoreCount>, sqlx::Error> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_counts` is never used
[INFO] [stdout]    --> src/routes/stats.rs:120:10
[INFO] [stdout]     |
[INFO] [stdout] 120 | async fn status_counts(pool: &PgPool, media_type: &str) -> Result<Vec<StatusCount>, sqlx::Error> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `top_creators` is never used
[INFO] [stdout]    --> src/routes/stats.rs:134:10
[INFO] [stdout]     |
[INFO] [stdout] 134 | async fn top_creators(pool: &PgPool, media_type: &str) -> Result<Vec<CreatorStat>, sqlx::Error> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_and_store` is never used
[INFO] [stdout]    --> src/routes/stats.rs:153:14
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub async fn compute_and_store(pool: &PgPool) -> Result<Value, AppError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalidate` is never used
[INFO] [stdout]    --> src/routes/stats.rs:250:14
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub async fn invalidate(pool: &PgPool) {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handler` is never used
[INFO] [stdout]    --> src/routes/stats.rs:261:14
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub async fn handler(State(pool): State<PgPool>) -> Result<Json<Value>, AppError> {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_api_key` is never used
[INFO] [stdout]   --> src/routes/sync.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn check_api_key(headers: &HeaderMap) -> Result<(), AppError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sync_anime` is never used
[INFO] [stdout]   --> src/routes/sync.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub async fn sync_anime(
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sync_game` is never used
[INFO] [stdout]   --> src/routes/sync.rs:69:14
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub async fn sync_game(
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sync_movie` is never used
[INFO] [stdout]    --> src/routes/sync.rs:113:14
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub async fn sync_movie(
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sync_series` is never used
[INFO] [stdout]    --> src/routes/sync.rs:170:14
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub async fn sync_series(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdatePayload` is never constructed
[INFO] [stdout]  --> src/routes/update.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct UpdatePayload {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_api_key` is never used
[INFO] [stdout]   --> src/routes/update.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn check_api_key(headers: &HeaderMap) -> Result<(), AppError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_entry` is never used
[INFO] [stdout]   --> src/routes/update.rs:29:14
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub async fn delete_entry(
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_entry` is never used
[INFO] [stdout]   --> src/routes/update.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub async fn update_entry(
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_api_key` is never used
[INFO] [stdout]  --> src/routes/voyage.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn check_api_key(headers: &HeaderMap) -> Result<(), AppError> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Voyage` is never constructed
[INFO] [stdout]   --> src/routes/voyage.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Voyage {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YearCount` is never constructed
[INFO] [stdout]   --> src/routes/voyage.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct YearCount {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VoyageStats` is never constructed
[INFO] [stdout]   --> src/routes/voyage.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct VoyageStats {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateVoyagePayload` is never constructed
[INFO] [stdout]   --> src/routes/voyage.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct CreateVoyagePayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateVoyagePayload` is never constructed
[INFO] [stdout]   --> src/routes/voyage.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct UpdateVoyagePayload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list` is never used
[INFO] [stdout]   --> src/routes/voyage.rs:79:14
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub async fn list(
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_stats` is never used
[INFO] [stdout]   --> src/routes/voyage.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 | async fn compute_stats(pool: &PgPool) -> Result<VoyageStats, AppError> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stats` is never used
[INFO] [stdout]    --> src/routes/voyage.rs:145:14
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub async fn stats(
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create` is never used
[INFO] [stdout]    --> src/routes/voyage.rs:181:14
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub async fn create(
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update` is never used
[INFO] [stdout]    --> src/routes/voyage.rs:216:14
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub async fn update(
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_voyage` is never used
[INFO] [stdout]    --> src/routes/voyage.rs:257:14
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub async fn delete_voyage(
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalidate_cache` is never used
[INFO] [stdout]    --> src/routes/voyage.rs:280:10
[INFO] [stdout]     |
[INFO] [stdout] 280 | async fn invalidate_cache(pool: &PgPool) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JikanResponse` is never constructed
[INFO] [stdout]  --> src/sync/jikan.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct JikanResponse {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JikanAnime` is never constructed
[INFO] [stdout]   --> src/sync/jikan.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct JikanAnime {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JikanImages` is never constructed
[INFO] [stdout]   --> src/sync/jikan.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct JikanImages {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JikanJpg` is never constructed
[INFO] [stdout]   --> src/sync/jikan.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct JikanJpg {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JikanGenre` is never constructed
[INFO] [stdout]   --> src/sync/jikan.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct JikanGenre {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JikanStudio` is never constructed
[INFO] [stdout]   --> src/sync/jikan.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct JikanStudio {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnimeData` is never constructed
[INFO] [stdout]   --> src/sync/jikan.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct AnimeData {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_anime` is never used
[INFO] [stdout]   --> src/sync/jikan.rs:57:14
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub async fn fetch_anime(mal_id: i32) -> Result<AnimeData> {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawgGame` is never constructed
[INFO] [stdout]  --> src/sync/rawg.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct RawgGame {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawgGenre` is never constructed
[INFO] [stdout]   --> src/sync/rawg.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct RawgGenre {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawgDeveloper` is never constructed
[INFO] [stdout]   --> src/sync/rawg.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct RawgDeveloper {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameData` is never constructed
[INFO] [stdout]   --> src/sync/rawg.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct GameData {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_game` is never used
[INFO] [stdout]   --> src/sync/rawg.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub async fn fetch_game(rawg_id: i32) -> Result<GameData> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TokenResponse` is never constructed
[INFO] [stdout]   --> src/sync/strava.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct TokenResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_access_token` is never used
[INFO] [stdout]   --> src/sync/strava.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub async fn get_access_token() -> Result<String, AppError> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StravaMap` is never constructed
[INFO] [stdout]   --> src/sync/strava.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct StravaMap {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawActivity` is never constructed
[INFO] [stdout]   --> src/sync/strava.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct RawActivity {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StravaActivity` is never constructed
[INFO] [stdout]   --> src/sync/strava.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct StravaActivity {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_all_activities` is never used
[INFO] [stdout]    --> src/sync/strava.rs:107:14
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub async fn fetch_all_activities(access_token: &str) -> Result<Vec<StravaActivity>, AppError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmdbMovieResponse` is never constructed
[INFO] [stdout]  --> src/sync/tmdb.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct TmdbMovieResponse {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmdbTvResponse` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct TmdbTvResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmdbCreditsResponse` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct TmdbCreditsResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmdbGenre` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct TmdbGenre {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmdbCreator` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct TmdbCreator {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmdbNetwork` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | struct TmdbNetwork {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmdbCrewMember` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct TmdbCrewMember {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovieData` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct MovieData {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SeriesData` is never constructed
[INFO] [stdout]   --> src/sync/tmdb.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct SeriesData {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_year` is never used
[INFO] [stdout]   --> src/sync/tmdb.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn extract_year(date: Option<&str>) -> Option<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_movie` is never used
[INFO] [stdout]   --> src/sync/tmdb.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub async fn fetch_movie(tmdb_id: i32, api_key: &str) -> Result<MovieData, AppError> {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_series` is never used
[INFO] [stdout]    --> src/sync/tmdb.rs:122:14
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub async fn fetch_series(tmdb_id: i32, api_key: &str) -> Result<SeriesData, AppError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 57.61s
[INFO] running `Command { std: "docker" "inspect" "6cc934bb6ba76e1f2f7424ac6e78d78c26bf8d53f06b531790544379e490a4d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6cc934bb6ba76e1f2f7424ac6e78d78c26bf8d53f06b531790544379e490a4d4", kill_on_drop: false }`
[INFO] [stdout] 6cc934bb6ba76e1f2f7424ac6e78d78c26bf8d53f06b531790544379e490a4d4
