[INFO] cloning repository https://github.com/rsuu/emeta
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rsuu/emeta" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frsuu%2Femeta", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frsuu%2Femeta'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 055cb6f171a81d2009d49f11b48b300bfc3ff05d
[INFO] checking rsuu/emeta against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frsuu%2Femeta" "/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/rsuu/emeta
[INFO] finished tweaking git repo https://github.com/rsuu/emeta
[INFO] tweaked toml for git repo https://github.com/rsuu/emeta written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rsuu/emeta on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rsuu/emeta 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded untrusted v0.7.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.87
[INFO] [stderr]   Downloaded fallible-streaming-iterator v0.1.9
[INFO] [stderr]   Downloaded form_urlencoded v1.2.0
[INFO] [stderr]   Downloaded tabled_derive v0.6.0
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.87
[INFO] [stderr]   Downloaded bytecount v0.6.3
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.87
[INFO] [stderr]   Downloaded waker-fn v1.1.0
[INFO] [stderr]   Downloaded spin v0.5.2
[INFO] [stderr]   Downloaded strum v0.25.0
[INFO] [stderr]   Downloaded pico-args v0.5.0
[INFO] [stderr]   Downloaded vte_generate_state_changes v0.1.1
[INFO] [stderr]   Downloaded nanoserde-derive v0.1.20
[INFO] [stderr]   Downloaded fastrand v2.0.0
[INFO] [stderr]   Downloaded parking v2.1.0
[INFO] [stderr]   Downloaded esyn v0.5.1
[INFO] [stderr]   Downloaded time-core v0.1.1
[INFO] [stderr]   Downloaded is-terminal v0.4.9
[INFO] [stderr]   Downloaded thiserror-impl v1.0.44
[INFO] [stderr]   Downloaded percent-encoding v2.3.0
[INFO] [stderr]   Downloaded tempfile v3.7.1
[INFO] [stderr]   Downloaded esyn-derive v0.5.1
[INFO] [stderr]   Downloaded ansitok v0.2.0
[INFO] [stderr]   Downloaded strum_macros v0.25.2
[INFO] [stderr]   Downloaded async-lock v2.7.0
[INFO] [stderr]   Downloaded nanoserde v0.1.33
[INFO] [stderr]   Downloaded thiserror v1.0.44
[INFO] [stderr]   Downloaded ansi-str v0.8.0
[INFO] [stderr]   Downloaded anyhow v1.0.72
[INFO] [stderr]   Downloaded ahash v0.8.3
[INFO] [stderr]   Downloaded vte v0.10.1
[INFO] [stderr]   Downloaded getrandom v0.2.10
[INFO] [stderr]   Downloaded allocator-api2 v0.2.16
[INFO] [stderr]   Downloaded base64 v0.21.2
[INFO] [stderr]   Downloaded flate2 v1.0.26
[INFO] [stderr]   Downloaded time v0.3.23
[INFO] [stderr]   Downloaded hashbrown v0.14.0
[INFO] [stderr]   Downloaded aho-corasick v1.0.2
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.87
[INFO] [stderr]   Downloaded rustls-webpki v0.101.2
[INFO] [stderr]   Downloaded tabled v0.14.0
[INFO] [stderr]   Downloaded webpki-roots v0.23.1
[INFO] [stderr]   Downloaded rusqlite v0.29.0
[INFO] [stderr]   Downloaded bumpalo v3.13.0
[INFO] [stderr]   Downloaded regex v1.9.1
[INFO] [stderr]   Downloaded url v2.4.0
[INFO] [stderr]   Downloaded ureq v2.7.1
[INFO] [stderr]   Downloaded rustls v0.21.5
[INFO] [stderr]   Downloaded rustix v0.38.4
[INFO] [stderr]   Downloaded regex-syntax v0.7.4
[INFO] [stderr]   Downloaded serde v1.0.178
[INFO] [stderr]   Downloaded prettyplease v0.2.12
[INFO] [stderr]   Downloaded js-sys v0.3.64
[INFO] [stderr]   Downloaded crc32fast v1.3.2
[INFO] [stderr]   Downloaded rustls-webpki v0.100.1
[INFO] [stderr]   Downloaded papergrid v0.10.0
[INFO] [stderr]   Downloaded bitflags v2.3.3
[INFO] [stderr]   Downloaded log v0.4.19
[INFO] [stderr]   Downloaded hashlink v0.8.3
[INFO] [stderr]   Downloaded rustversion v1.0.14
[INFO] [stderr]   Downloaded sct v0.7.0
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.87
[INFO] [stderr]   Downloaded regex-automata v0.3.4
[INFO] [stderr]   Downloaded web-sys v0.3.64
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.3
[INFO] [stderr]   Downloaded libsqlite3-sys v0.26.0
[INFO] [stderr]   Downloaded ring v0.16.20
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 18238e0a79feec80290431bdff51b8eb228ef8bd0f1b928c90102e1e17945120
[INFO] running `Command { std: "docker" "start" "-a" "18238e0a79feec80290431bdff51b8eb228ef8bd0f1b928c90102e1e17945120", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "18238e0a79feec80290431bdff51b8eb228ef8bd0f1b928c90102e1e17945120", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "18238e0a79feec80290431bdff51b8eb228ef8bd0f1b928c90102e1e17945120", kill_on_drop: false }`
[INFO] [stdout] 18238e0a79feec80290431bdff51b8eb228ef8bd0f1b928c90102e1e17945120
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b81dd8be564c64143c9e10482a19a2595d0478276085d154d44a687e8ce4c96d
[INFO] running `Command { std: "docker" "start" "-a" "b81dd8be564c64143c9e10482a19a2595d0478276085d154d44a687e8ce4c96d", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]    Compiling rustix v0.38.4
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking bitflags v2.3.3
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling ahash v0.8.3
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking linux-raw-sys v0.4.3
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling thiserror v1.0.44
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking log v0.4.19
[INFO] [stderr]    Compiling prettyplease v0.2.12
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]     Checking percent-encoding v2.3.0
[INFO] [stderr]     Checking allocator-api2 v0.2.16
[INFO] [stderr]     Checking regex-syntax v0.7.4
[INFO] [stderr]     Checking unicode-bidi v0.3.13
[INFO] [stderr]    Compiling rustls v0.21.5
[INFO] [stderr]     Checking form_urlencoded v1.2.0
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking bytecount v0.6.3
[INFO] [stderr]    Compiling quote v1.0.32
[INFO] [stderr]     Checking hashbrown v0.14.0
[INFO] [stderr]     Checking unicode-width v0.1.10
[INFO] [stderr]    Compiling anyhow v1.0.72
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking aho-corasick v1.0.2
[INFO] [stderr]    Compiling syn v2.0.27
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling vte_generate_state_changes v0.1.1
[INFO] [stderr]     Checking termcolor v1.2.0
[INFO] [stderr]     Checking flate2 v1.0.26
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]    Compiling libsqlite3-sys v0.26.0
[INFO] [stderr]    Compiling nanoserde-derive v0.1.20
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking vte v0.10.1
[INFO] [stderr]     Checking hashlink v0.8.3
[INFO] [stderr]     Checking futures-io v0.3.28
[INFO] [stderr]     Checking waker-fn v1.1.0
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking time-core v0.1.1
[INFO] [stderr]     Checking parking v2.1.0
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking smallvec v1.11.0
[INFO] [stderr]     Checking fallible-iterator v0.2.0
[INFO] [stderr]     Checking pin-project-lite v0.2.10
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking fastrand v1.9.0
[INFO] [stderr]     Checking base64 v0.21.2
[INFO] [stderr]     Checking event-listener v2.5.3
[INFO] [stderr]     Checking fastrand v2.0.0
[INFO] [stderr]     Checking regex-automata v0.3.4
[INFO] [stderr]     Checking async-lock v2.7.0
[INFO] [stderr]     Checking rusqlite v0.29.0
[INFO] [stderr]     Checking time v0.3.23
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking url v2.4.0
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]     Checking nanoserde v0.1.33
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking tempfile v3.7.1
[INFO] [stderr]     Checking ansitok v0.2.0
[INFO] [stderr]    Compiling tabled_derive v0.6.0
[INFO] [stderr]     Checking ansi-str v0.8.0
[INFO] [stderr]     Checking papergrid v0.10.0
[INFO] [stderr]     Checking tabled v0.14.0
[INFO] [stderr]     Checking regex v1.9.1
[INFO] [stderr]     Checking env_logger v0.10.0
[INFO] [stderr]     Checking rustls-webpki v0.100.1
[INFO] [stderr]     Checking sct v0.7.0
[INFO] [stderr]     Checking rustls-webpki v0.101.2
[INFO] [stderr]     Checking webpki-roots v0.23.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.44
[INFO] [stderr]    Compiling strum_macros v0.25.2
[INFO] [stderr]    Compiling esyn-derive v0.5.1
[INFO] [stderr]     Checking esyn v0.5.1
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking ureq v2.7.1
[INFO] [stderr]     Checking emeta v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `default` and `fmt::Display`
[INFO] [stdout]  --> src/api/anilist/media.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{default, fmt::Display, str::FromStr};
[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: `crate::meta::Progress`
[INFO] [stdout]  --> src/api/anilist.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::meta::Progress;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SerJson`
[INFO] [stdout]   --> src/api/anilist.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | use nanoserde::{DeJson, SerJson};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum::Display`
[INFO] [stdout]   --> src/api/anilist.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use strum::Display;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `themes::Colorization`
[INFO] [stdout]   --> src/api/anilist.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         themes::Colorization,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `default`, and `sync::Arc`
[INFO] [stdout]  --> src/api/dlsite.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::HashMap, default, fmt::Display, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `USER_AGENT`, `bail`, and `debug`
[INFO] [stdout]  --> src/api/mangadex.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{bail, debug, meta::*, App, Query, Res, USER_AGENT};
[INFO] [stdout]   |             ^^^^  ^^^^^                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> src/api/mangadex.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `io::Write` and `write`
[INFO] [stdout]   --> src/api/mangadex.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |             fs::{write, File},
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 64 |             io::Write,
[INFO] [stdout]    |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `api`
[INFO] [stdout]  --> src/cli.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{api, bail, debug, info, meta::MediaType, Res, Site, WatchStatus, VERSION};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]  --> src/cli.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{default, ffi::OsString, fs::File, io::Read, path::PathBuf, str::FromStr};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]  --> src/meta/format.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{default, fmt};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]  --> src/meta/site.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{default, fmt::Display, str::FromStr};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]  --> src/meta/status.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{default, fmt, fmt::Display, str::FromStr};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]  --> src/meta/types.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{default, fmt::Display, str::FromStr};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `manga::*`
[INFO] [stdout]   --> src/meta.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use {format::*, manga::*, progress::*, site::*, status::*, types::*};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `default` and `fmt::Display`
[INFO] [stdout]  --> src/api/anilist/media.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{default, fmt::Display, str::FromStr};
[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: `crate::meta::Progress`
[INFO] [stdout]  --> src/api/anilist.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::meta::Progress;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SerJson`
[INFO] [stdout]   --> src/api/anilist.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | use nanoserde::{DeJson, SerJson};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum::Display`
[INFO] [stdout]   --> src/api/anilist.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use strum::Display;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `themes::Colorization`
[INFO] [stdout]   --> src/api/anilist.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         themes::Colorization,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `default`, and `sync::Arc`
[INFO] [stdout]  --> src/api/dlsite.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::HashMap, default, fmt::Display, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `USER_AGENT`, `bail`, and `debug`
[INFO] [stdout]  --> src/api/mangadex.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{bail, debug, meta::*, App, Query, Res, USER_AGENT};
[INFO] [stdout]   |             ^^^^  ^^^^^                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> src/api/mangadex.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `io::Write` and `write`
[INFO] [stdout]   --> src/api/mangadex.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |             fs::{write, File},
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 64 |             io::Write,
[INFO] [stdout]    |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `api`
[INFO] [stdout]  --> src/cli.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{api, bail, debug, info, meta::MediaType, Res, Site, WatchStatus, VERSION};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]  --> src/cli.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{default, ffi::OsString, fs::File, io::Read, path::PathBuf, str::FromStr};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]  --> src/meta/format.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{default, fmt};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]  --> src/meta/site.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{default, fmt::Display, str::FromStr};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]  --> src/meta/status.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{default, fmt, fmt::Display, str::FromStr};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]  --> src/meta/types.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{default, fmt::Display, str::FromStr};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `manga::*`
[INFO] [stdout]   --> src/meta.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use {format::*, manga::*, progress::*, site::*, status::*, types::*};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/api/mangadex.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             todo!();
[INFO] [stdout]     |             ------- any code following this expression is unreachable
[INFO] [stdout] 120 |             println!("OK: {page}");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/api/mangadex.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             todo!();
[INFO] [stdout]     |             ------- any code following this expression is unreachable
[INFO] [stdout] 120 |             println!("OK: {page}");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `red`
[INFO] [stdout]   --> src/api/anilist.rs:95:21
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let (green, red, yellow, blue) = (
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_red`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `yellow`
[INFO] [stdout]   --> src/api/anilist.rs:95:26
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let (green, red, yellow, blue) = (
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_yellow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `red`
[INFO] [stdout]    --> src/api/anilist.rs:242:21
[INFO] [stdout]     |
[INFO] [stdout] 242 |         let (green, red, yellow, blue) = (
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_red`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `yellow`
[INFO] [stdout]    --> src/api/anilist.rs:242:26
[INFO] [stdout]     |
[INFO] [stdout] 242 |         let (green, red, yellow, blue) = (
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_yellow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `red`
[INFO] [stdout]   --> src/api/anilist.rs:95:21
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let (green, red, yellow, blue) = (
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_red`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `yellow`
[INFO] [stdout]   --> src/api/anilist.rs:95:26
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let (green, red, yellow, blue) = (
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_yellow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `red`
[INFO] [stdout]    --> src/api/anilist.rs:242:21
[INFO] [stdout]     |
[INFO] [stdout] 242 |         let (green, red, yellow, blue) = (
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_red`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `yellow`
[INFO] [stdout]    --> src/api/anilist.rs:242:26
[INFO] [stdout]     |
[INFO] [stdout] 242 |         let (green, red, yellow, blue) = (
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_yellow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/api/mangadex.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |             let mut f = File::create(page)?;
[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: unused variable: `f`
[INFO] [stdout]    --> src/api/mangadex.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |             let mut f = File::create(page)?;
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/meta/status.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |                 _ => unreachable!(),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/meta/status.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout]  99 |                 Self::Cancelled => "CANCELLED",
[INFO] [stdout]     |                 --------------- matches some of the same values
[INFO] [stdout] 100 |                 Self::Completed => "COMPLETED",
[INFO] [stdout]     |                 --------------- matches some of the same values
[INFO] [stdout] 101 |                 Self::Current => "CURRENT",
[INFO] [stdout]     |                 ------------- matches some of the same values
[INFO] [stdout] 102 |                 Self::Dropped => "DROPPED",
[INFO] [stdout]     |                 ------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 110 |                 _ => unreachable!(),
[INFO] [stdout]     |                 ^ ...and 7 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/api/anilist/media.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Media {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     id_mal: Option<u32>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 32 |     #[nserde(rename = "startDate")]
[INFO] [stdout] 33 |     start_date: Option<TinyDate>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 34 |     #[nserde(rename = "endDate")]
[INFO] [stdout] 35 |     end_date: Option<TinyDate>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 36 |     season: Option<MediaSeason>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 37 |     #[nserde(rename = "seasonYear")]
[INFO] [stdout] 38 |     season_year: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 39 |     #[nserde(rename = "type")]
[INFO] [stdout] 40 |     ty: Option<String>,
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     episodes: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 44 |     duration: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     chapters: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 46 |     volumes: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 47 |     #[nserde(rename = "isAdult")]
[INFO] [stdout] 48 |     is_adult: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 49 |     genre: Option<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 50 |     tag: Option<String>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Media` 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: field `user_preferred` is never read
[INFO] [stdout]    --> src/api/anilist/media.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct Title {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 112 |     user_preferred: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Title` 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 `year`, `month`, and `day` are never read
[INFO] [stdout]    --> src/api/anilist/media.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct TinyDate {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 117 |     year: Option<u32>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 118 |     month: Option<u32>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 119 |     day: Option<u32>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TinyDate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MediaFormat` is never used
[INFO] [stdout]    --> src/api/anilist/media.rs:135:10
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub enum MediaFormat {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MediaSource` is never used
[INFO] [stdout]    --> src/api/anilist/media.rs:161:10
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub enum MediaSource {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CountryCode` is never used
[INFO] [stdout]    --> src/api/anilist/media.rs:175:10
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub enum CountryCode {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MediaSort` is never used
[INFO] [stdout]    --> src/api/anilist/media.rs:187:10
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub enum MediaSort {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MediaListQuery` is never constructed
[INFO] [stdout]  --> src/api/anilist/medialist.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MediaListQuery {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Query` is never constructed
[INFO] [stdout]   --> src/api/anilist/medialist.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Query {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MediaListArgs` is never constructed
[INFO] [stdout]   --> src/api/anilist/medialist.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct MediaListArgs {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Variables` is never constructed
[INFO] [stdout]   --> src/api/anilist/medialist.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Variables {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FuzzyDateInput` is never constructed
[INFO] [stdout]   --> src/api/anilist/medialist.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct FuzzyDateInput {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MediaListSort` is never constructed
[INFO] [stdout]   --> src/api/anilist/medialist.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct MediaListSort {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SaveMediaListEntry` is never constructed
[INFO] [stdout]  --> src/api/anilist/mutation.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct SaveMediaListEntry {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FuzzyDateInput` is never constructed
[INFO] [stdout]   --> src/api/anilist/mutation.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct FuzzyDateInput {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListEntry` is never constructed
[INFO] [stdout]  --> src/api/bilibili/video.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ListEntry {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TList` is never constructed
[INFO] [stdout]   --> src/api/bilibili/video.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct TList {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Danbooru` is never constructed
[INFO] [stdout]  --> src/api/danbooru.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Danbooru {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `app` is never read
[INFO] [stdout]  --> src/api/fs.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Fs {
[INFO] [stdout]   |            -- field in this struct
[INFO] [stdout] 5 |     app: App,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Fs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Imdb` is never constructed
[INFO] [stdout]  --> src/api/imdb.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Imdb {}
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Description` is never constructed
[INFO] [stdout]   --> src/api/mangadex/meta.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct Description {}
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Relationship` is never constructed
[INFO] [stdout]   --> src/api/mangadex/meta.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct Relationship {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NovelUpdate` is never constructed
[INFO] [stdout]  --> src/api/novelupdate.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct NovelUpdate {}
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Youtube` is never constructed
[INFO] [stdout]  --> src/api/youtube.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Youtube {}
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `points_value` is never used
[INFO] [stdout]   --> src/meta/score.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Score {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 28 |     fn points_value(&self, score: &str) -> Option<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `MediaList` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     MediaList: MediaListArgs,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `media_list`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userId` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     userId: Option<i32>,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userName` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     userName: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `user_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `mediaType` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     mediaType: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `media_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `mediaId` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     mediaId: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `media_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isFollowing` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     isFollowing: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `is_following`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startedAt` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     startedAt: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `started_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `completedAt` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     completedAt: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `completed_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `compareWithAuthList` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     compareWithAuthList: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `compare_with_auth_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userId_in` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     userId_in: Option<Vec<i32>>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `user_id_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `mediaId_in` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     mediaId_in: Option<Vec<i32>>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `media_id_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `mediaId_not_in` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     mediaId_not_in: Option<Vec<i32>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `media_id_not_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startedAt_greater` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     startedAt_greater: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `started_at_greater`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startedAt_lesser` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     startedAt_lesser: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `started_at_lesser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startedAt_like` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     startedAt_like: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `started_at_like`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `completedAt_greater` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     completedAt_greater: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `completed_at_greater`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `completedAt_lesser` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     completedAt_lesser: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `completed_at_lesser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `completedAt_like` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     completedAt_like: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `completed_at_like`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sortType` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     sortType: String,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `sort_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `mediaId` should have a snake case name
[INFO] [stdout]  --> src/api/anilist/mutation.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     mediaId: i32,
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to snake case: `media_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreRaw` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/mutation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     scoreRaw: i32,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `score_raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `progressVolumes` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/mutation.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     progressVolumes: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `progress_volumes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `hiddenFromStatusLists` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/mutation.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     hiddenFromStatusLists: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hidden_from_status_lists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `customLists` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/mutation.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     customLists: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `custom_lists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `advancedScores` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/mutation.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     advancedScores: Vec<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `advanced_scores`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startedAt` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/mutation.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     startedAt: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `started_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `completedAt` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/mutation.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     completedAt: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `completed_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/api/mangadex.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |             let mut f = File::create(page)?;
[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: unused variable: `f`
[INFO] [stdout]    --> src/api/mangadex.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |             let mut f = File::create(page)?;
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/meta/status.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |                 _ => unreachable!(),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/meta/status.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout]  99 |                 Self::Cancelled => "CANCELLED",
[INFO] [stdout]     |                 --------------- matches some of the same values
[INFO] [stdout] 100 |                 Self::Completed => "COMPLETED",
[INFO] [stdout]     |                 --------------- matches some of the same values
[INFO] [stdout] 101 |                 Self::Current => "CURRENT",
[INFO] [stdout]     |                 ------------- matches some of the same values
[INFO] [stdout] 102 |                 Self::Dropped => "DROPPED",
[INFO] [stdout]     |                 ------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 110 |                 _ => unreachable!(),
[INFO] [stdout]     |                 ^ ...and 7 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/api/anilist/media.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Media {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     id_mal: Option<u32>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 32 |     #[nserde(rename = "startDate")]
[INFO] [stdout] 33 |     start_date: Option<TinyDate>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 34 |     #[nserde(rename = "endDate")]
[INFO] [stdout] 35 |     end_date: Option<TinyDate>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 36 |     season: Option<MediaSeason>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 37 |     #[nserde(rename = "seasonYear")]
[INFO] [stdout] 38 |     season_year: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 39 |     #[nserde(rename = "type")]
[INFO] [stdout] 40 |     ty: Option<String>,
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     episodes: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 44 |     duration: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     chapters: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 46 |     volumes: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 47 |     #[nserde(rename = "isAdult")]
[INFO] [stdout] 48 |     is_adult: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 49 |     genre: Option<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 50 |     tag: Option<String>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Media` 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: field `user_preferred` is never read
[INFO] [stdout]    --> src/api/anilist/media.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct Title {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 112 |     user_preferred: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Title` 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 `year`, `month`, and `day` are never read
[INFO] [stdout]    --> src/api/anilist/media.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct TinyDate {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 117 |     year: Option<u32>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 118 |     month: Option<u32>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 119 |     day: Option<u32>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TinyDate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MediaFormat` is never used
[INFO] [stdout]    --> src/api/anilist/media.rs:135:10
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub enum MediaFormat {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MediaSource` is never used
[INFO] [stdout]    --> src/api/anilist/media.rs:161:10
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub enum MediaSource {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CountryCode` is never used
[INFO] [stdout]    --> src/api/anilist/media.rs:175:10
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub enum CountryCode {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MediaSort` is never used
[INFO] [stdout]    --> src/api/anilist/media.rs:187:10
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub enum MediaSort {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MediaListQuery` is never constructed
[INFO] [stdout]  --> src/api/anilist/medialist.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MediaListQuery {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Query` is never constructed
[INFO] [stdout]   --> src/api/anilist/medialist.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Query {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MediaListArgs` is never constructed
[INFO] [stdout]   --> src/api/anilist/medialist.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct MediaListArgs {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Variables` is never constructed
[INFO] [stdout]   --> src/api/anilist/medialist.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Variables {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FuzzyDateInput` is never constructed
[INFO] [stdout]   --> src/api/anilist/medialist.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct FuzzyDateInput {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MediaListSort` is never constructed
[INFO] [stdout]   --> src/api/anilist/medialist.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct MediaListSort {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SaveMediaListEntry` is never constructed
[INFO] [stdout]  --> src/api/anilist/mutation.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct SaveMediaListEntry {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FuzzyDateInput` is never constructed
[INFO] [stdout]   --> src/api/anilist/mutation.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct FuzzyDateInput {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListEntry` is never constructed
[INFO] [stdout]  --> src/api/bilibili/video.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ListEntry {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TList` is never constructed
[INFO] [stdout]   --> src/api/bilibili/video.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct TList {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Danbooru` is never constructed
[INFO] [stdout]  --> src/api/danbooru.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Danbooru {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `app` is never read
[INFO] [stdout]  --> src/api/fs.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Fs {
[INFO] [stdout]   |            -- field in this struct
[INFO] [stdout] 5 |     app: App,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Fs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Imdb` is never constructed
[INFO] [stdout]  --> src/api/imdb.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Imdb {}
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Description` is never constructed
[INFO] [stdout]   --> src/api/mangadex/meta.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct Description {}
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Relationship` is never constructed
[INFO] [stdout]   --> src/api/mangadex/meta.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct Relationship {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NovelUpdate` is never constructed
[INFO] [stdout]  --> src/api/novelupdate.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct NovelUpdate {}
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Youtube` is never constructed
[INFO] [stdout]  --> src/api/youtube.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Youtube {}
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `points_value` is never used
[INFO] [stdout]   --> src/meta/score.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Score {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 28 |     fn points_value(&self, score: &str) -> Option<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `MediaList` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     MediaList: MediaListArgs,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `media_list`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userId` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     userId: Option<i32>,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userName` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     userName: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `user_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `mediaType` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     mediaType: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `media_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `mediaId` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     mediaId: Option<i32>,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `media_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isFollowing` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     isFollowing: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `is_following`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startedAt` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     startedAt: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `started_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `completedAt` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     completedAt: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `completed_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `compareWithAuthList` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     compareWithAuthList: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `compare_with_auth_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userId_in` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     userId_in: Option<Vec<i32>>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `user_id_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `mediaId_in` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     mediaId_in: Option<Vec<i32>>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `media_id_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `mediaId_not_in` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     mediaId_not_in: Option<Vec<i32>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `media_id_not_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startedAt_greater` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     startedAt_greater: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `started_at_greater`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startedAt_lesser` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     startedAt_lesser: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `started_at_lesser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startedAt_like` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     startedAt_like: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `started_at_like`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `completedAt_greater` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     completedAt_greater: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `completed_at_greater`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `completedAt_lesser` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     completedAt_lesser: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `completed_at_lesser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `completedAt_like` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     completedAt_like: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `completed_at_like`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sortType` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/medialist.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     sortType: String,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `sort_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `mediaId` should have a snake case name
[INFO] [stdout]  --> src/api/anilist/mutation.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     mediaId: i32,
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to snake case: `media_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `scoreRaw` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/mutation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     scoreRaw: i32,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `score_raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `progressVolumes` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/mutation.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     progressVolumes: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `progress_volumes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `hiddenFromStatusLists` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/mutation.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     hiddenFromStatusLists: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `hidden_from_status_lists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `customLists` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/mutation.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     customLists: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `custom_lists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `advancedScores` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/mutation.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     advancedScores: Vec<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `advanced_scores`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startedAt` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/mutation.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     startedAt: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to snake case: `started_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `completedAt` should have a snake case name
[INFO] [stdout]   --> src/api/anilist/mutation.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     completedAt: Option<FuzzyDateInput>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `completed_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.23s
[INFO] running `Command { std: "docker" "inspect" "b81dd8be564c64143c9e10482a19a2595d0478276085d154d44a687e8ce4c96d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b81dd8be564c64143c9e10482a19a2595d0478276085d154d44a687e8ce4c96d", kill_on_drop: false }`
[INFO] [stdout] b81dd8be564c64143c9e10482a19a2595d0478276085d154d44a687e8ce4c96d
