[INFO] cloning repository https://github.com/lifegpc/pixiv_downloader
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lifegpc/pixiv_downloader" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flifegpc%2Fpixiv_downloader", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flifegpc%2Fpixiv_downloader'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8173d2a6b35dd8814da71ba3b8d703b3a078fb9f
[INFO] checking lifegpc/pixiv_downloader against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flifegpc%2Fpixiv_downloader" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lifegpc/pixiv_downloader
[INFO] finished tweaking git repo https://github.com/lifegpc/pixiv_downloader
[INFO] tweaked toml for git repo https://github.com/lifegpc/pixiv_downloader written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lifegpc/pixiv_downloader on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/lifegpc/pixiv_downloader 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 11e56d9653b7e649a7917c9310cc5ee13c94e705cdb3405602dcd9812c42a88b
[INFO] running `Command { std: "docker" "start" "-a" "11e56d9653b7e649a7917c9310cc5ee13c94e705cdb3405602dcd9812c42a88b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "11e56d9653b7e649a7917c9310cc5ee13c94e705cdb3405602dcd9812c42a88b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "11e56d9653b7e649a7917c9310cc5ee13c94e705cdb3405602dcd9812c42a88b", kill_on_drop: false }`
[INFO] [stdout] 11e56d9653b7e649a7917c9310cc5ee13c94e705cdb3405602dcd9812c42a88b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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 -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e872435298a468bef6cec6312595035473437af18b9c345b853e639789755651
[INFO] running `Command { std: "docker" "start" "-a" "e872435298a468bef6cec6312595035473437af18b9c345b853e639789755651", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling regex-syntax v0.8.4
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling libloading v0.8.4
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling bindgen v0.70.1
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling phf_shared v0.11.2
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking miniz_oxide v0.7.4
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking brotli-decompressor v5.0.0
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]     Checking tinyvec v1.6.1
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]     Checking foreign-types-shared v0.3.1
[INFO] [stderr]    Compiling indexmap v2.2.6
[INFO] [stderr]     Checking flate2 v1.0.30
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling toml_datetime v0.6.6
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking brotli v8.0.1
[INFO] [stderr]     Checking webpki-root-certs v1.0.0
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]    Compiling fslock v0.2.1
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling cc v1.2.25
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking destructure_traitobject v0.2.0
[INFO] [stderr]    Compiling serde_json v1.0.120
[INFO] [stderr]    Compiling portable-atomic v1.6.0
[INFO] [stderr]     Checking iana-time-zone v0.1.60
[INFO] [stderr]     Checking arc-swap v1.7.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]     Checking unsafe-any-ors v1.0.0
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]     Checking linked_hash_set v0.1.5
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking webpki-root-certs v0.26.11
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking lru v0.13.0
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]     Checking antidote v1.0.0
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling num v0.2.1
[INFO] [stderr]     Checking typemap-ors v1.0.0
[INFO] [stderr]     Checking console v0.15.8
[INFO] [stderr]     Checking thread-id v4.2.1
[INFO] [stderr]     Checking number_prefix v0.4.0
[INFO] [stderr]    Compiling json v0.12.4
[INFO] [stderr]    Compiling pixiv_downloader v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]     Checking log-mdc v0.1.0
[INFO] [stderr]     Checking url v2.5.2
[INFO] [stderr]     Checking gettext v0.4.0
[INFO] [stderr]    Compiling phf_codegen v0.11.2
[INFO] [stderr]    Compiling string_cache_codegen v0.5.2
[INFO] [stderr]     Checking fancy-regex v0.11.0
[INFO] [stderr]     Checking subprocess v0.2.9
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking indicatif v0.17.8
[INFO] [stderr]    Compiling zstd-sys v2.0.15+zstd.1.5.7
[INFO] [stderr]     Checking is-terminal v0.4.12
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling markup5ever v0.12.1
[INFO] [stderr]     Checking parse-size v1.0.0
[INFO] [stderr]     Checking urlparse v0.7.3
[INFO] [stderr]     Checking md5 v0.7.0
[INFO] [stderr]    Compiling regex-automata v0.4.7
[INFO] [stderr]     Checking RustyXML v0.3.0
[INFO] [stderr]     Checking http-content-range v0.1.2
[INFO] [stderr]    Compiling int-enum-impl v0.5.0
[INFO] [stderr]    Compiling modular-bitfield-impl v0.11.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking int-enum v0.5.0
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]     Checking modular-bitfield v0.11.2
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling tokio-macros v2.3.0
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling foreign-types-macros v0.2.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling typed-builder-macro v0.21.0
[INFO] [stderr]    Compiling html5ever v0.27.0
[INFO] [stderr]    Compiling derive-getters v0.5.0
[INFO] [stderr]    Compiling derive_more v0.99.18
[INFO] [stderr]    Compiling regex v1.10.5
[INFO] [stderr]     Checking foreign-types v0.5.0
[INFO] [stderr]     Checking tokio v1.38.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling parse_duration v2.1.1
[INFO] [stderr]     Checking typed-builder v0.21.0
[INFO] [stderr]    Compiling proc_macros v0.0.1 (/opt/rustwide/workdir/proc_macros)
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]    Compiling derive_builder_core v0.20.1
[INFO] [stderr]    Compiling derive_setters v0.1.6
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]    Compiling derive_builder_macro v0.20.1
[INFO] [stderr]     Checking derive_builder v0.20.1
[INFO] [stderr]     Checking tokio-util v0.7.11
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking async-compression v0.4.23
[INFO] [stderr]     Checking tokio-socks v0.5.2
[INFO] [stderr]     Checking http2 v0.4.21
[INFO] [stderr]    Compiling boring-sys2 v4.15.13
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking string_cache v0.8.7
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking serde-value v0.7.0
[INFO] [stderr]     Checking xml5ever v0.18.1
[INFO] [stderr]     Checking hyper2 v1.5.5
[INFO] [stderr]     Checking markup5ever_rcdom v0.3.0
[INFO] [stderr]     Checking log4rs v1.3.0
[INFO] [stderr]     Checking dateparser v0.2.1
[INFO] [stderr]     Checking boring2 v4.15.13
[INFO] [stderr]     Checking tokio-boring2 v4.15.13
[INFO] [stderr]     Checking wreq v5.1.0
[INFO] [stderr]     Checking wreq-util v2.2.1
[INFO] [stdout] warning: unused import: `proc_macros::print_error`
[INFO] [stdout]   --> src/download.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | use proc_macros::print_error;
[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: `std::path::PathBuf`
[INFO] [stdout]   --> src/opthelper.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ext::cstr::ToCStr`
[INFO] [stdout]  --> src/ugoira.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::ext::cstr::ToCStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ext::json::ToJson`
[INFO] [stdout]  --> src/ugoira.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::ext::json::ToJson;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ext::try_err::TryErr`
[INFO] [stdout]   --> src/ugoira.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::ext::try_err::TryErr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CStr`
[INFO] [stdout]   --> src/ugoira.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::ffi::CStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Drop`
[INFO] [stdout]   --> src/ugoira.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::ops::Drop;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::raw::c_void`
[INFO] [stdout]   --> src/ugoira.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::os::raw::c_void;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `proc_macros::print_error`
[INFO] [stdout]   --> src/download.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | use proc_macros::print_error;
[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: `std::path::PathBuf`
[INFO] [stdout]   --> src/opthelper.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ext::cstr::ToCStr`
[INFO] [stdout]  --> src/ugoira.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::ext::cstr::ToCStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ext::json::ToJson`
[INFO] [stdout]  --> src/ugoira.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::ext::json::ToJson;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ext::try_err::TryErr`
[INFO] [stdout]   --> src/ugoira.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::ext::try_err::TryErr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CStr`
[INFO] [stdout]   --> src/ugoira.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::ffi::CStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `File`
[INFO] [stdout]   --> src/ugoira.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::fs::{create_dir, File};
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Drop`
[INFO] [stdout]   --> src/ugoira.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::ops::Drop;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::raw::c_void`
[INFO] [stdout]   --> src/ugoira.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::os::raw::c_void;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/download.rs:1191:9
[INFO] [stdout]      |
[INFO] [stdout] 1191 |     let mut fdata = FanboxData::new(PixivID::FanboxCreator(id.clone()), &*data)
[INFO] [stdout]      |         ----^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/download.rs:1191:9
[INFO] [stdout]      |
[INFO] [stdout] 1191 |     let mut fdata = FanboxData::new(PixivID::FanboxCreator(id.clone()), &*data)
[INFO] [stdout]      |         ----^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/download.rs:948:17
[INFO] [stdout]     |
[INFO] [stdout] 948 |             let mut datas = data.clone();
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/download.rs:1086:17
[INFO] [stdout]      |
[INFO] [stdout] 1086 |             let mut datas = data.clone();
[INFO] [stdout]      |                 ----^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/download.rs:948:17
[INFO] [stdout]     |
[INFO] [stdout] 948 |             let mut datas = data.clone();
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/download.rs:1086:17
[INFO] [stdout]      |
[INFO] [stdout] 1086 |             let mut datas = data.clone();
[INFO] [stdout]      |                 ----^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `np`
[INFO] [stdout]    --> src/download.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     np: u16,
[INFO] [stdout]     |     ^^ help: if this is intentional, prefix it with an underscore: `_np`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `datas`
[INFO] [stdout]    --> src/download.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     datas: Arc<PixivData>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_datas`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `np`
[INFO] [stdout]    --> src/download.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     np: u16,
[INFO] [stdout]     |     ^^ help: if this is intentional, prefix it with an underscore: `_np`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `datas`
[INFO] [stdout]    --> src/download.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     datas: Arc<PixivData>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_datas`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_name`
[INFO] [stdout]    --> src/download.rs:833:9
[INFO] [stdout]     |
[INFO] [stdout] 833 |     let file_name = ndh
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_name`
[INFO] [stdout]    --> src/download.rs:833:9
[INFO] [stdout]     |
[INFO] [stdout] 833 |     let file_name = ndh
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_changed` is never used
[INFO] [stdout]    --> src/cookies.rs:436:12
[INFO] [stdout]     |
[INFO] [stdout] 332 | impl CookieJar {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 436 |     pub fn is_changed(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save` is never used
[INFO] [stdout]    --> src/cookies.rs:509:12
[INFO] [stdout]     |
[INFO] [stdout] 502 | impl CookieJarManager {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 509 |     pub fn save(&self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_all_cookies` is never used
[INFO] [stdout]    --> src/cookies.rs:577:8
[INFO] [stdout]     |
[INFO] [stdout] 577 | pub fn save_all_cookies() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_downloading` is never used
[INFO] [stdout]    --> src/downloader/downloader.rs:755:9
[INFO] [stdout]     |
[INFO] [stdout] 626 | / impl<T: Write + Seek + Send + Sync + ClearFile + GetTargetFileName + SetLen + 'static>
[INFO] [stdout] 627 | |     Downloader<T>
[INFO] [stdout]     | |_________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 755 |           is_downloading,
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_downloader_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `close` and `get_part_data` are never used
[INFO] [stdout]    --> src/downloader/pd_file/file.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl PdFile {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn close(&self) -> Result<(), PdFileError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn get_part_data(&self, index: usize) -> Option<Arc<PdFilePartStatus>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToCStr` is never used
[INFO] [stdout]   --> src/ext/cstr.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub trait ToCStr {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `client` is never read
[INFO] [stdout]   --> src/fanbox/article/url_embed.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct FanboxArticleUrlEmbedHTML {
[INFO] [stdout]    |            ------------------------- field in this struct
[INFO] [stdout] 69 |     pub data: JsonValue,
[INFO] [stdout] 70 |     client: Arc<FanboxClientInternal>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FormData` is never constructed
[INFO] [stdout]   --> src/formdata.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct FormData {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FormDataError` is never used
[INFO] [stdout]   --> src/formdata.rs:92:10
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub enum FormDataError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `data`, `file`, `part`, and `to_form` are never used
[INFO] [stdout]    --> src/formdata.rs:98:12
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl FormData {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  98 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn data<'a, K: AsRef<str> + ?Sized, V: AsRef<[u8]> + ?Sized>(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn file<'a, K: AsRef<str> + ?Sized, P: AsRef<Path> + ?Sized>(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn part<'a, K: AsRef<str> + ?Sized>(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub async fn to_form(&self) -> Result<Form, FormDataError> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ffprobe` and `ffmpeg` are never used
[INFO] [stdout]    --> src/opthelper.rs:744:12
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl OptHelper {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 744 |     pub fn ffprobe(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 759 |     pub fn ffmpeg(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_description_to_tg_html` is never used
[INFO] [stdout]    --> src/parser/description.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub fn convert_description_to_tg_html<S: AsRef<str> + ?Sized>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PixivRestrictType` is never used
[INFO] [stdout]   --> src/pixiv_app.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum PixivRestrictType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PixivRestrictLessType` is never used
[INFO] [stdout]   --> src/pixiv_app.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum PixivRestrictLessType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_follow`, `get_user_bookmarks`, and `get_user_illusts` are never used
[INFO] [stdout]    --> src/pixiv_app.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl PixivAppClientInternal {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub async fn get_follow(
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     pub async fn get_user_bookmarks(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub async fn get_user_illusts(&self, uid: u64) -> Result<JsonValue, PixivDownloaderError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_follow`, `get_user_bookmarks`, and `get_user_illusts` are never used
[INFO] [stdout]    --> src/pixiv_app.rs:429:18
[INFO] [stdout]     |
[INFO] [stdout] 398 | impl PixivAppClient {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 429 |     pub async fn get_follow(
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     pub async fn get_user_bookmarks(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 447 |     pub async fn get_user_illusts(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_follow`, `get_user_bookmarks`, and `get_user_works` are never used
[INFO] [stdout]    --> src/pixiv_web.rs:293:18
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl PixivWebClient {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub async fn get_follow(&self, page: u64, r18: bool) -> Option<JsonValue> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     pub async fn get_user_bookmarks(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub async fn get_user_works(&self, uid: u64) -> Option<JsonValue> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `illusts` and `user` are never read
[INFO] [stdout]   --> src/pixivapp/illusts.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct PixivAppIllusts {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout]  9 |     pub illusts: Vec<PixivAppIllust>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub user: Option<JsonValue>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EveryPushTextType` is never used
[INFO] [stdout]  --> src/push/every_push.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum EveryPushTextType {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EveryPushClient` is never constructed
[INFO] [stdout]   --> src/push/every_push.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct EveryPushClient {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `push_message` are never used
[INFO] [stdout]   --> src/push/every_push.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl EveryPushClient {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 36 |     pub fn new<S: AsRef<str> + ?Sized>(server: &S) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub async fn push_message<
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PushdeerClient` is never constructed
[INFO] [stdout]  --> src/push/pushdeer.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct PushdeerClient {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `handle_result`, `push_text_message`, `push_image`, and `push_markdown_message` are never used
[INFO] [stdout]   --> src/push/pushdeer.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl PushdeerClient {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new<S: AsRef<str> + ?Sized>(server: &S) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     async fn handle_result(re: wreq::Response) -> Result<(), String> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub async fn push_text_message<P: AsRef<str> + ?Sized, T: AsRef<str> + ?Sized>(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub async fn push_image<P: AsRef<str> + ?Sized, I: AsRef<str> + ?Sized>(
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub async fn push_markdown_message<
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BotapiClient` is never constructed
[INFO] [stdout]   --> src/push/telegram/botapi_client.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct BotapiClient {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/push/telegram/botapi_client.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl BotapiClient {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  52 |     pub fn new(cfg: &BotapiClientConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn is_custom(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub async fn send_animation<T: AsRef<str> + ?Sized>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub async fn send_document(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub async fn send_photo(
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     pub async fn send_media_group(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 469 |     pub async fn send_message<T: AsRef<str> + ?Sized>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 546 |     pub async fn send_video<T: AsRef<str> + ?Sized>(
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PHOTO_SIZE` is never used
[INFO] [stdout]  --> src/push/telegram/image.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const MAX_PHOTO_SIZE: u64 = 10485760;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SupportedImage` is never constructed
[INFO] [stdout]   --> src/push/telegram/image.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SupportedImage {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/push/telegram/image.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl SupportedImage {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(supported: bool, size_too_big: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_image_size` is never used
[INFO] [stdout]   --> src/push/telegram/image.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub async fn get_image_size<S: AsRef<OsStr> + ?Sized, P: AsRef<OsStr> + ?Sized>(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_image` is never used
[INFO] [stdout]   --> src/push/telegram/image.rs:83:14
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub async fn generate_image<S: AsRef<OsStr> + ?Sized, D: AsRef<OsStr> + ?Sized>(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_thumbnail_filename` is never used
[INFO] [stdout]    --> src/push/telegram/image.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn get_thumbnail_filename(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_supported_image` is never used
[INFO] [stdout]    --> src/push/telegram/image.rs:167:14
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub async fn is_supported_image<S: AsRef<OsStr> + ?Sized>(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_data` is never used
[INFO] [stdout]  --> src/push/telegram/text.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn encode_data<S: AsRef<str> + ?Sized>(data: &S) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MessageEntityType` is never used
[INFO] [stdout]   --> src/push/telegram/text.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | enum MessageEntityType {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_equal` is never used
[INFO] [stdout]   --> src/push/telegram/text.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl MessageEntityType {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] 48 |     pub fn is_equal(&self, s: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessageEntity` is never constructed
[INFO] [stdout]   --> src/push/telegram/text.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct MessageEntity {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextSpliterBuilder` is never constructed
[INFO] [stdout]   --> src/push/telegram/text.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct TextSpliterBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disable_scan_link`, `max_length`, and `build` are never used
[INFO] [stdout]   --> src/push/telegram/text.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl TextSpliterBuilder {
[INFO] [stdout]    | ----------------------- methods in this implementation
[INFO] [stdout] 84 |     /// Disable scanning links in the message text
[INFO] [stdout] 85 |     pub fn disable_scan_link(mut self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn max_length(mut self, max_length: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn build(self) -> TextSpliter {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Stack` is never used
[INFO] [stdout]    --> src/push/telegram/text.rs:110:6
[INFO] [stdout]     |
[INFO] [stdout] 110 | enum Stack {
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_equal` is never used
[INFO] [stdout]    --> src/push/telegram/text.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl Stack {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 116 |     pub fn is_equal(&self, s: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `push_end` is never used
[INFO] [stdout]    --> src/push/telegram/text.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn push_end(ends: &mut BTreeMap<usize, Vec<String>>, end: usize, s: String) {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextSpliter` is never constructed
[INFO] [stdout]    --> src/push/telegram/text.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct TextSpliter {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/push/telegram/text.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl TextSpliter {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 140 |     pub fn builder() -> TextSpliterBuilder {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn get_str(&mut self, len: usize) -> String {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     fn is_conflict_with_link_entities(&self, offset: usize, length: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     fn is_in_entities(&self, pos: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     fn iter(&mut self, node: &Node) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 494 |     pub fn to_html(&mut self, max_len: Option<usize>) -> String {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 531 |     pub fn parse<S: AsRef<str> + ?Sized>(&mut self, text: &S) -> Result<(), PixivDownloaderError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 547 |     fn scan_link(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 583 |     fn sort(&mut self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 591 |     fn text_get(&self, start: usize, end: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn text_len(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BotApiResult` is never used
[INFO] [stdout]   --> src/push/telegram/tg_type.rs:93:10
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub enum BotApiResult<T>
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `unwrap` and `to_result` are never used
[INFO] [stdout]    --> src/push/telegram/tg_type.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | / impl<T> BotApiResult<T>
[INFO] [stdout] 109 | | where
[INFO] [stdout] 110 | |     T: Clone + Serialize,
[INFO] [stdout]     | |_________________________- methods in this implementation
[INFO] [stdout] 111 |   {
[INFO] [stdout] 112 |       pub fn unwrap(self) -> T {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |       pub fn to_result(self) -> Result<T, String> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Message` is never constructed
[INFO] [stdout]    --> src/push/telegram/tg_type.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub struct Message {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InputFile` is never used
[INFO] [stdout]    --> src/push/telegram/tg_type.rs:183:10
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum InputFile {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_size` is never used
[INFO] [stdout]    --> src/push/telegram/tg_type.rs:191:18
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl InputFile {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 191 |     pub async fn get_size(&self) -> Result<Option<u64>, std::io::Error> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InputMedia` is never used
[INFO] [stdout]    --> src/push/telegram/tg_type.rs:361:10
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub enum InputMedia {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaxCount` is never constructed
[INFO] [stdout]   --> src/task_manager.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct MaxCount {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/task_manager.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl MaxCount {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 66 |     pub fn new(max_count: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TaskManagerWithId` is never constructed
[INFO] [stdout]    --> src/task_manager.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct TaskManagerWithId<K, T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/task_manager.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 234 | / impl<K, O> TaskManagerWithId<K, O>
[INFO] [stdout] 235 | | where
[INFO] [stdout] 236 | |     K: Eq + std::hash::Hash,
[INFO] [stdout] 237 | |     O: Send + 'static,
[INFO] [stdout]     | |______________________- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 240 |       pub fn new<T: GetMaxCount + Send + Sync + 'static>(
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |       pub async fn add_pending_task<F>(&self, id: K, future: F)
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |       pub async fn add_task<F>(&self, id: K, future: F, before_pedding: bool)
[INFO] [stdout]     |                    ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |       pub async fn check_task(&self) {
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |       pub fn is_pending(&self, id: &K) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |       pub fn is_pending_or_running(&self, id: &K) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 351 |       pub fn is_running(&self, id: &K) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |       pub async fn join(&self) {
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |       pub fn take_finished_tasks(&self) -> HashMap<K, JoinHandle<O>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_pixiv_id` is never used
[INFO] [stdout]   --> src/utils.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn parse_pixiv_id(id: &JsonValue) -> Option<u64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `post_multipart` is never used
[INFO] [stdout]    --> src/webclient.rs:453:18
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl WebClient {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 453 |     pub async fn post_multipart<U: IntoUrl + Clone, H: ToHeaders + Clone>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/ext/rw_lock.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn get_ref(&self) -> RwLockReadGuard<Self::Target>;
[INFO] [stdout]   |                ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                |
[INFO] [stdout]   |                the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn get_ref(&self) -> RwLockReadGuard<'_, Self::Target>;
[INFO] [stdout]   |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ext/rw_lock.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn get_mut(&self) -> RwLockWriteGuard<Self::Target>;
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn get_mut(&self) -> RwLockWriteGuard<'_, Self::Target>;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_changed` is never used
[INFO] [stdout]    --> src/cookies.rs:436:12
[INFO] [stdout]     |
[INFO] [stdout] 332 | impl CookieJar {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 436 |     pub fn is_changed(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save` is never used
[INFO] [stdout]    --> src/cookies.rs:509:12
[INFO] [stdout]     |
[INFO] [stdout] 502 | impl CookieJarManager {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 509 |     pub fn save(&self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_all_cookies` is never used
[INFO] [stdout]    --> src/cookies.rs:577:8
[INFO] [stdout]     |
[INFO] [stdout] 577 | pub fn save_all_cookies() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_downloading` is never used
[INFO] [stdout]    --> src/downloader/downloader.rs:755:9
[INFO] [stdout]     |
[INFO] [stdout] 626 | / impl<T: Write + Seek + Send + Sync + ClearFile + GetTargetFileName + SetLen + 'static>
[INFO] [stdout] 627 | |     Downloader<T>
[INFO] [stdout]     | |_________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 755 |           is_downloading,
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_downloader_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `close` and `get_part_data` are never used
[INFO] [stdout]    --> src/downloader/pd_file/file.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl PdFile {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn close(&self) -> Result<(), PdFileError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn get_part_data(&self, index: usize) -> Option<Arc<PdFilePartStatus>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToCStr` is never used
[INFO] [stdout]   --> src/ext/cstr.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub trait ToCStr {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `client` is never read
[INFO] [stdout]   --> src/fanbox/article/url_embed.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct FanboxArticleUrlEmbedHTML {
[INFO] [stdout]    |            ------------------------- field in this struct
[INFO] [stdout] 69 |     pub data: JsonValue,
[INFO] [stdout] 70 |     client: Arc<FanboxClientInternal>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ffprobe` and `ffmpeg` are never used
[INFO] [stdout]    --> src/opthelper.rs:744:12
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl OptHelper {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 744 |     pub fn ffprobe(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 759 |     pub fn ffmpeg(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PixivRestrictType` is never used
[INFO] [stdout]   --> src/pixiv_app.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum PixivRestrictType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PixivRestrictLessType` is never used
[INFO] [stdout]   --> src/pixiv_app.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum PixivRestrictLessType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_follow`, `get_user_bookmarks`, and `get_user_illusts` are never used
[INFO] [stdout]    --> src/pixiv_app.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl PixivAppClientInternal {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub async fn get_follow(
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     pub async fn get_user_bookmarks(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub async fn get_user_illusts(&self, uid: u64) -> Result<JsonValue, PixivDownloaderError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_follow`, `get_user_bookmarks`, and `get_user_illusts` are never used
[INFO] [stdout]    --> src/pixiv_app.rs:429:18
[INFO] [stdout]     |
[INFO] [stdout] 398 | impl PixivAppClient {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 429 |     pub async fn get_follow(
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     pub async fn get_user_bookmarks(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 447 |     pub async fn get_user_illusts(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_follow`, `get_user_bookmarks`, and `get_user_works` are never used
[INFO] [stdout]    --> src/pixiv_web.rs:293:18
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl PixivWebClient {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub async fn get_follow(&self, page: u64, r18: bool) -> Option<JsonValue> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     pub async fn get_user_bookmarks(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub async fn get_user_works(&self, uid: u64) -> Option<JsonValue> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `illusts` and `user` are never read
[INFO] [stdout]   --> src/pixivapp/illusts.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct PixivAppIllusts {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout]  9 |     pub illusts: Vec<PixivAppIllust>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub user: Option<JsonValue>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_custom`, `send_animation`, `send_document`, `send_media_group`, and `send_video` are never used
[INFO] [stdout]    --> src/push/telegram/botapi_client.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl BotapiClient {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn is_custom(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub async fn send_animation<T: AsRef<str> + ?Sized>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub async fn send_document(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     pub async fn send_media_group(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 546 |     pub async fn send_video<T: AsRef<str> + ?Sized>(
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PHOTO_SIZE` is never used
[INFO] [stdout]  --> src/push/telegram/image.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const MAX_PHOTO_SIZE: u64 = 10485760;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SupportedImage` is never constructed
[INFO] [stdout]   --> src/push/telegram/image.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SupportedImage {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/push/telegram/image.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl SupportedImage {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(supported: bool, size_too_big: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_image_size` is never used
[INFO] [stdout]   --> src/push/telegram/image.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub async fn get_image_size<S: AsRef<OsStr> + ?Sized, P: AsRef<OsStr> + ?Sized>(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_image` is never used
[INFO] [stdout]   --> src/push/telegram/image.rs:83:14
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub async fn generate_image<S: AsRef<OsStr> + ?Sized, D: AsRef<OsStr> + ?Sized>(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_thumbnail_filename` is never used
[INFO] [stdout]    --> src/push/telegram/image.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn get_thumbnail_filename(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_supported_image` is never used
[INFO] [stdout]    --> src/push/telegram/image.rs:167:14
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub async fn is_supported_image<S: AsRef<OsStr> + ?Sized>(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]    --> src/push/telegram/text.rs:314:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl TextSpliter {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_result` is never used
[INFO] [stdout]    --> src/push/telegram/tg_type.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | / impl<T> BotApiResult<T>
[INFO] [stdout] 109 | | where
[INFO] [stdout] 110 | |     T: Clone + Serialize,
[INFO] [stdout]     | |_________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 123 |       pub fn to_result(self) -> Result<T, String> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_size` is never used
[INFO] [stdout]    --> src/push/telegram/tg_type.rs:191:18
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl InputFile {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 191 |     pub async fn get_size(&self) -> Result<Option<u64>, std::io::Error> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InputMedia` is never used
[INFO] [stdout]    --> src/push/telegram/tg_type.rs:361:10
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub enum InputMedia {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaxCount` is never constructed
[INFO] [stdout]   --> src/task_manager.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct MaxCount {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/task_manager.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl MaxCount {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 66 |     pub fn new(max_count: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TaskManagerWithId` is never constructed
[INFO] [stdout]    --> src/task_manager.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct TaskManagerWithId<K, T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/task_manager.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 234 | / impl<K, O> TaskManagerWithId<K, O>
[INFO] [stdout] 235 | | where
[INFO] [stdout] 236 | |     K: Eq + std::hash::Hash,
[INFO] [stdout] 237 | |     O: Send + 'static,
[INFO] [stdout]     | |______________________- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 240 |       pub fn new<T: GetMaxCount + Send + Sync + 'static>(
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |       pub async fn add_pending_task<F>(&self, id: K, future: F)
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |       pub async fn add_task<F>(&self, id: K, future: F, before_pedding: bool)
[INFO] [stdout]     |                    ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |       pub async fn check_task(&self) {
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |       pub fn is_pending(&self, id: &K) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |       pub fn is_pending_or_running(&self, id: &K) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 351 |       pub fn is_running(&self, id: &K) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |       pub async fn join(&self) {
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |       pub fn take_finished_tasks(&self) -> HashMap<K, JoinHandle<O>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_pixiv_id` is never used
[INFO] [stdout]   --> src/utils.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn parse_pixiv_id(id: &JsonValue) -> Option<u64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/ext/rw_lock.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn get_ref(&self) -> RwLockReadGuard<Self::Target>;
[INFO] [stdout]   |                ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                |
[INFO] [stdout]   |                the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn get_ref(&self) -> RwLockReadGuard<'_, Self::Target>;
[INFO] [stdout]   |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ext/rw_lock.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn get_mut(&self) -> RwLockWriteGuard<Self::Target>;
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn get_mut(&self) -> RwLockWriteGuard<'_, Self::Target>;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<tg_type::ChatId, Infallible>
[INFO] [stdout]    --> src/push/telegram/botapi_client.rs:696:27
[INFO] [stdout]     |
[INFO] [stdout] 696 |                 let cid = ChatId::try_from(c).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<tg_type::ChatId, Infallible>
[INFO] [stdout]    --> src/push/telegram/botapi_client.rs:753:27
[INFO] [stdout]     |
[INFO] [stdout] 753 |                 let cid = ChatId::try_from(c).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pixiv_downloader` (bin "pixiv_downloader" test) due to 2 previous errors; 48 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e872435298a468bef6cec6312595035473437af18b9c345b853e639789755651", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e872435298a468bef6cec6312595035473437af18b9c345b853e639789755651", kill_on_drop: false }`
[INFO] [stdout] e872435298a468bef6cec6312595035473437af18b9c345b853e639789755651
