[INFO] fetching crate miHoYo-API 0.2.18...
[INFO] testing miHoYo-API-0.2.18 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate miHoYo-API 0.2.18 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate miHoYo-API 0.2.18
[INFO] finished tweaking crates.io crate miHoYo-API 0.2.18
[INFO] tweaked toml for crates.io crate miHoYo-API 0.2.18 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate miHoYo-API 0.2.18 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 218 packages to latest compatible versions
[INFO] [stderr]       Adding itertools v0.12.1 (available: v0.14.0)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] [stderr]       Adding reqwest v0.11.27 (available: v0.13.1)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.17)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cookie v0.17.0
[INFO] [stderr]   Downloaded cookie_store v0.20.0
[INFO] [stderr]   Downloaded collecting-hashmap v0.2.0
[INFO] [stderr]   Downloaded rustc-serialize v0.3.25
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 18b1d54506e91df5c9ded37875b2e360e84d64c8760cf7db18f27f5cf033758d
[INFO] running `Command { std: "docker" "start" "-a" "18b1d54506e91df5c9ded37875b2e360e84d64c8760cf7db18f27f5cf033758d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "18b1d54506e91df5c9ded37875b2e360e84d64c8760cf7db18f27f5cf033758d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "18b1d54506e91df5c9ded37875b2e360e84d64c8760cf7db18f27f5cf033758d", kill_on_drop: false }`
[INFO] [stdout] 18b1d54506e91df5c9ded37875b2e360e84d64c8760cf7db18f27f5cf033758d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 36e6a3a2a11beb01026bfea428e4bb245d8d4383e05e8bf54e1cb794aac0a493
[INFO] running `Command { std: "docker" "start" "-a" "36e6a3a2a11beb01026bfea428e4bb245d8d4383e05e8bf54e1cb794aac0a493", kill_on_drop: false }`
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling cookie v0.17.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling psl-types v2.0.11
[INFO] [stderr]    Compiling idna v0.3.0
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling rustc-serialize v0.3.25
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling collecting-hashmap v0.2.0
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling publicsuffix v2.3.0
[INFO] [stderr]    Compiling cookie_store v0.20.0
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling miHoYo-API v0.2.18 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/components/cache.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use async_trait::async_trait;
[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::typing::Dict as normal_dict`
[INFO] [stdout]  --> src/components/cache.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::typing::Dict as normal_dict;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/components/cache.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/client.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn set_from_env(mut self, path: Option<&str>) -> anyhow::Result<Self> {
[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: `url`
[INFO] [stdout]    --> src/components/base.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `headers`
[INFO] [stdout]    --> src/components/base.rs:121:35
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kwargs`
[INFO] [stdout]    --> src/components/base.rs:121:93
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                                                                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_kwargs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/components/base.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let url = WEB_STATIC_URL.get_url(region.unwrap_or(&Region::OverSeas))?;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/components/cache.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/components/cache.rs:120:32
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/components/cache.rs:120:43
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `retcode` and `message` are never read
[INFO] [stdout]   --> src/components/models/mod.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct Base<T> {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 10 |     pub(crate) retcode: i32,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 11 |     pub(crate) message: String,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Base` 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: struct `RecordCardList` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct RecordCardList {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordCard` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct RecordCard {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordData` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct RecordData {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataSwitch` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct DataSwitch {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache`, `lang`, `hoyolab_id`, `auth_key`, and `proxy` are never read
[INFO] [stdout]   --> src/components/base.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) struct InnerClient {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 15 |     pub(crate) cookie_manager: CookieType,
[INFO] [stdout] 16 |     pub(crate) cache: super::cache::Cache,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 17 |     pub(crate) lang: Languages,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub(crate) hoyolab_id: Option<u32>,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 21 |     pub(crate) auth_key: Option<String>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 22 |     pub(crate) proxy: Option<String>,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `request_web_static` and `get_record_cards` are never used
[INFO] [stdout]    --> src/components/base.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl InnerClient {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub(crate) async fn request_web_static(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub(crate) async fn get_record_cards(&self, hoyolab_id: Option<u32>, lang: Option<Languages>) -> anyhow::Result<Vec<RecordCard>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cookie_identifier` is never used
[INFO] [stdout]   --> src/components/managers/manager.rs:62:15
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) fn get_cookie_identifier(cookie: Dict) -> Option<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BaseCookieManager` is never used
[INFO] [stdout]   --> src/components/managers/manager.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub(crate) trait BaseCookieManager: Sized {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_exist` is never used
[INFO] [stdout]    --> src/components/managers/manager.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl CookieManager {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) fn is_exist(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WEB_STATIC_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub(crate) static WEB_STATIC_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WEB_API_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(crate) static WEB_API_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ACCOUNT_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) static ACCOUNT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BBS_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) static BBS_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BBS_REFERER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:57:19
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(crate) static BBS_REFERER_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `COMMUNITY_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) static COMMUNITY_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LINEUP_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) static LINEUP_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `INFO_LEDGER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) static INFO_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DETAIL_LEDGER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:87:19
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) static DETAIL_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALCULATOR_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:97:19
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub(crate) static CALCULATOR_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALCULATOR_REFERER_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:101:19
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub(crate) static CALCULATOR_REFERER_URL: Lazy<Route> = Lazy::new(|| Route::new("https://webstatic.mihoyo.com/ys/event/e20200923ado...
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TEAPOT_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub(crate) static TEAPOT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WIKI_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:106:19
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub(crate) static WIKI_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-wiki-api.hoyolab.com/hoyowiki/wapi"));
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HK4E_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub(crate) static HK4E_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-hk4e-api.hoyoverse.com/common/hk4e_global/"));
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `REWARD_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub(crate) static REWARD_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CODE_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) static CODE_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GACHA_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub(crate) static GACHA_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `YSULOG_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:137:19
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub(crate) static YSULOG_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MI18N` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:141:19
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub(crate) static MI18N: Lazy<HashMap<&'_ str,
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GameTrait` is never used
[INFO] [stdout]  --> src/components/utils/route.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) trait GameTrait {
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Route` is never constructed
[INFO] [stdout]   --> src/components/utils/route.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct Route(String);
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameRoute` is never constructed
[INFO] [stdout]   --> src/components/utils/route.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct GameRoute(HashMap<Region, HashMap<Game, String>>);
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_url` are never used
[INFO] [stdout]   --> src/components/utils/route.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Route {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 19 |     pub(crate) fn new(url: &str) -> Route {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub(crate) fn get_url(&self) -> anyhow::Result<String> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_url` are never used
[INFO] [stdout]   --> src/components/utils/route.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl GameRoute {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 45 |     pub(crate) fn new(overseas: Option<&[(Game, &str)]>, chinese: Option<&[(Game, &str)]>) -> GameRoute {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub(crate) fn get_url(&self, region: &Region, game: &Game) -> anyhow::Result<String> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_genshin_server` is never used
[INFO] [stdout]  --> src/components/utils/uid.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) fn recognize_genshin_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_honkai_server` is never used
[INFO] [stdout]   --> src/components/utils/uid.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) fn recognize_honkai_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_server` is never used
[INFO] [stdout]   --> src/components/utils/uid.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) fn recognize_server(uid: &u32, game: Game) -> anyhow::Result<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEEK` is never used
[INFO] [stdout]   --> src/components/cache.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const WEEK: f32 = DAY * 7.;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheKey` is never constructed
[INFO] [stdout]   --> src/components/cache.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) struct CacheKey;
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache`, `maxsize`, `ttl`, and `static_ttl` are never read
[INFO] [stdout]   --> src/components/cache.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) struct Cache {
[INFO] [stdout]    |                   ----- fields in this struct
[INFO] [stdout] 54 |     pub(crate) cache: Dict,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 55 |     pub(crate) maxsize: usize,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 56 |     pub(crate) ttl: f32,
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 57 |     pub(crate) static_ttl: f32,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Cache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `len`, `get_static`, and `set_static` are never used
[INFO] [stdout]    --> src/components/cache.rs:61:19
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl Cache {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  61 |     pub(crate) fn new(maxsize: Option<usize>, ttl: Option<f32>, static_ttl: Option<f32>) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) fn len(&self) -> usize {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChronicleClient` is never constructed
[INFO] [stdout]   --> src/components/chronicle/mod.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct ChronicleClient<T>(pub(crate) T)
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BaseError` is never used
[INFO] [stdout]   --> src/error.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | trait BaseError {}
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ERRORS` is never used
[INFO] [stdout]    --> src/error.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | static ERRORS: Lazy<Vec<(i16, Errors)>> = Lazy::new(|| {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `miHoYo_API` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `mi_ho_yo_api`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.30s
[INFO] running `Command { std: "docker" "inspect" "36e6a3a2a11beb01026bfea428e4bb245d8d4383e05e8bf54e1cb794aac0a493", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "36e6a3a2a11beb01026bfea428e4bb245d8d4383e05e8bf54e1cb794aac0a493", kill_on_drop: false }`
[INFO] [stdout] 36e6a3a2a11beb01026bfea428e4bb245d8d4383e05e8bf54e1cb794aac0a493
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8bb6126d66951d45d985293f7261894e2b281a2c64cecf556d0ecb209305474c
[INFO] running `Command { std: "docker" "start" "-a" "8bb6126d66951d45d985293f7261894e2b281a2c64cecf556d0ecb209305474c", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling miHoYo-API v0.2.18 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/components/cache.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use async_trait::async_trait;
[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::typing::Dict as normal_dict`
[INFO] [stdout]  --> src/components/cache.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::typing::Dict as normal_dict;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/components/cache.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/client.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn set_from_env(mut self, path: Option<&str>) -> anyhow::Result<Self> {
[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: `url`
[INFO] [stdout]    --> src/components/base.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `headers`
[INFO] [stdout]    --> src/components/base.rs:121:35
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kwargs`
[INFO] [stdout]    --> src/components/base.rs:121:93
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                                                                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_kwargs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/components/base.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let url = WEB_STATIC_URL.get_url(region.unwrap_or(&Region::OverSeas))?;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/components/cache.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/components/cache.rs:120:32
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/components/cache.rs:120:43
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `retcode` and `message` are never read
[INFO] [stdout]   --> src/components/models/mod.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct Base<T> {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 10 |     pub(crate) retcode: i32,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 11 |     pub(crate) message: String,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Base` 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: struct `RecordCardList` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct RecordCardList {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordCard` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct RecordCard {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordData` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct RecordData {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataSwitch` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct DataSwitch {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache`, `lang`, `hoyolab_id`, `auth_key`, and `proxy` are never read
[INFO] [stdout]   --> src/components/base.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) struct InnerClient {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 15 |     pub(crate) cookie_manager: CookieType,
[INFO] [stdout] 16 |     pub(crate) cache: super::cache::Cache,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 17 |     pub(crate) lang: Languages,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub(crate) hoyolab_id: Option<u32>,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 21 |     pub(crate) auth_key: Option<String>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 22 |     pub(crate) proxy: Option<String>,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `request_web_static` and `get_record_cards` are never used
[INFO] [stdout]    --> src/components/base.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl InnerClient {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub(crate) async fn request_web_static(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub(crate) async fn get_record_cards(&self, hoyolab_id: Option<u32>, lang: Option<Languages>) -> anyhow::Result<Vec<RecordCard>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cookie_identifier` is never used
[INFO] [stdout]   --> src/components/managers/manager.rs:62:15
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) fn get_cookie_identifier(cookie: Dict) -> Option<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BaseCookieManager` is never used
[INFO] [stdout]   --> src/components/managers/manager.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub(crate) trait BaseCookieManager: Sized {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_exist` is never used
[INFO] [stdout]    --> src/components/managers/manager.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl CookieManager {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) fn is_exist(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WEB_STATIC_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub(crate) static WEB_STATIC_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WEB_API_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(crate) static WEB_API_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ACCOUNT_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) static ACCOUNT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BBS_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) static BBS_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BBS_REFERER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:57:19
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(crate) static BBS_REFERER_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `COMMUNITY_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) static COMMUNITY_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LINEUP_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) static LINEUP_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `INFO_LEDGER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) static INFO_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DETAIL_LEDGER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:87:19
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) static DETAIL_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALCULATOR_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:97:19
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub(crate) static CALCULATOR_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALCULATOR_REFERER_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:101:19
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub(crate) static CALCULATOR_REFERER_URL: Lazy<Route> = Lazy::new(|| Route::new("https://webstatic.mihoyo.com/ys/event/e20200923ado...
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TEAPOT_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub(crate) static TEAPOT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WIKI_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:106:19
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub(crate) static WIKI_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-wiki-api.hoyolab.com/hoyowiki/wapi"));
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HK4E_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub(crate) static HK4E_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-hk4e-api.hoyoverse.com/common/hk4e_global/"));
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `REWARD_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub(crate) static REWARD_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CODE_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) static CODE_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GACHA_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub(crate) static GACHA_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `YSULOG_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:137:19
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub(crate) static YSULOG_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MI18N` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:141:19
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub(crate) static MI18N: Lazy<HashMap<&'_ str,
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GameTrait` is never used
[INFO] [stdout]  --> src/components/utils/route.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) trait GameTrait {
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Route` is never constructed
[INFO] [stdout]   --> src/components/utils/route.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct Route(String);
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameRoute` is never constructed
[INFO] [stdout]   --> src/components/utils/route.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct GameRoute(HashMap<Region, HashMap<Game, String>>);
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_url` are never used
[INFO] [stdout]   --> src/components/utils/route.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Route {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 19 |     pub(crate) fn new(url: &str) -> Route {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub(crate) fn get_url(&self) -> anyhow::Result<String> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_url` are never used
[INFO] [stdout]   --> src/components/utils/route.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl GameRoute {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 45 |     pub(crate) fn new(overseas: Option<&[(Game, &str)]>, chinese: Option<&[(Game, &str)]>) -> GameRoute {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub(crate) fn get_url(&self, region: &Region, game: &Game) -> anyhow::Result<String> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_genshin_server` is never used
[INFO] [stdout]  --> src/components/utils/uid.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) fn recognize_genshin_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_honkai_server` is never used
[INFO] [stdout]   --> src/components/utils/uid.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) fn recognize_honkai_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_server` is never used
[INFO] [stdout]   --> src/components/utils/uid.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) fn recognize_server(uid: &u32, game: Game) -> anyhow::Result<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEEK` is never used
[INFO] [stdout]   --> src/components/cache.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const WEEK: f32 = DAY * 7.;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheKey` is never constructed
[INFO] [stdout]   --> src/components/cache.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) struct CacheKey;
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache`, `maxsize`, `ttl`, and `static_ttl` are never read
[INFO] [stdout]   --> src/components/cache.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) struct Cache {
[INFO] [stdout]    |                   ----- fields in this struct
[INFO] [stdout] 54 |     pub(crate) cache: Dict,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 55 |     pub(crate) maxsize: usize,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 56 |     pub(crate) ttl: f32,
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 57 |     pub(crate) static_ttl: f32,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Cache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `len`, `get_static`, and `set_static` are never used
[INFO] [stdout]    --> src/components/cache.rs:61:19
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl Cache {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  61 |     pub(crate) fn new(maxsize: Option<usize>, ttl: Option<f32>, static_ttl: Option<f32>) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) fn len(&self) -> usize {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChronicleClient` is never constructed
[INFO] [stdout]   --> src/components/chronicle/mod.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct ChronicleClient<T>(pub(crate) T)
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BaseError` is never used
[INFO] [stdout]   --> src/error.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | trait BaseError {}
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ERRORS` is never used
[INFO] [stdout]    --> src/error.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | static ERRORS: Lazy<Vec<(i16, Errors)>> = Lazy::new(|| {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `miHoYo_API` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `mi_ho_yo_api`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/components/cache.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use async_trait::async_trait;
[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::typing::Dict as normal_dict`
[INFO] [stdout]  --> src/components/cache.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::typing::Dict as normal_dict;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/components/cache.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         /// Initialize Client variable.
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stdout]    |         --------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         /// Setting for two cookies connect [Hoyolab](https://www.hoyolab.com/home).
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         /// And another way to set,  you can use [`Client::set_cookies`]
[INFO] [stdout] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stdout]    |         --------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         /// And another way to set,  you can use [`Client::set_cookies`]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stdout]    |         --------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         /// Getting [`crate::components::models::hoyolab::record::Account`] as elements in Vector.
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         let accounts = client.get_game_account(Some(Game::StarRail), None).await?;
[INFO] [stdout]    |         -------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         /// Extract UID from account.
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |         let uid = accounts.get(0).unwrap().get_uid();
[INFO] [stdout]    |         --------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |           /// Extract StarRail UID from [Hoyolab](https://www.hoyolab.com/home).
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |           /// getting user accounts as contains in Vector and then filtered by user level.
[INFO] [stdout] 27 | /         let account_id = client.get_game_accounts(Some(Languages::JaJp)).await?
[INFO] [stdout] 28 | |             .into_iter().filter(|account| account.level == 70).next().unwrap().get_uid();
[INFO] [stdout]    | |_________________________________________________________________________________________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |           /// getting user accounts as contains in Vector and then filtered by user level.
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 | /         let account_id = client.get_game_accounts(Some(Languages::JaJp)).await?
[INFO] [stdout] 28 | |             .into_iter().filter(|account| account.level == 70).next().unwrap().get_uid();
[INFO] [stdout]    | |_________________________________________________________________________________________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         /// This [`crate::components::chronicle::starrail::StarRailClient::get_preview_data`] is only β.
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |         let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stdout]    |         ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         /// Getting as [`crate::components::models::starrail::mihomo::Mihomo`].
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |         let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stdout]    |         ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | ...   /// --About lang argument, Here's [corresponding string list](https://github.com/Mar-7th/mihomo.py/blob/master/mihomo/model.py#L8)--
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 | ...   /// I will create a enum of Language.
[INFO] [stdout] 34 | ...   let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stdout]    |       ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lib.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         /// I will create a enum of Language.
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |         let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stdout]    |         ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/client.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn set_from_env(mut self, path: Option<&str>) -> anyhow::Result<Self> {
[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: `url`
[INFO] [stdout]    --> src/components/base.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `headers`
[INFO] [stdout]    --> src/components/base.rs:121:35
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kwargs`
[INFO] [stdout]    --> src/components/base.rs:121:93
[INFO] [stdout]     |
[INFO] [stdout] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stdout]     |                                                                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_kwargs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/components/base.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let url = WEB_STATIC_URL.get_url(region.unwrap_or(&Region::OverSeas))?;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/components/cache.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/components/cache.rs:120:32
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/components/cache.rs:120:43
[INFO] [stdout]     |
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uid`
[INFO] [stdout]   --> src/lib.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let uid = accounts.get(0).unwrap().get_uid();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_uid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `retcode` and `message` are never read
[INFO] [stdout]   --> src/components/models/mod.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct Base<T> {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 10 |     pub(crate) retcode: i32,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 11 |     pub(crate) message: String,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Base` 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: struct `RecordCardList` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct RecordCardList {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordCard` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct RecordCard {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordData` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct RecordData {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataSwitch` is never constructed
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct DataSwitch {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache`, `lang`, `hoyolab_id`, `auth_key`, and `proxy` are never read
[INFO] [stdout]   --> src/components/base.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) struct InnerClient {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 15 |     pub(crate) cookie_manager: CookieType,
[INFO] [stdout] 16 |     pub(crate) cache: super::cache::Cache,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 17 |     pub(crate) lang: Languages,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub(crate) hoyolab_id: Option<u32>,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 21 |     pub(crate) auth_key: Option<String>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 22 |     pub(crate) proxy: Option<String>,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `request_web_static` and `get_record_cards` are never used
[INFO] [stdout]    --> src/components/base.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl InnerClient {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub(crate) async fn request_web_static(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub(crate) async fn get_record_cards(&self, hoyolab_id: Option<u32>, lang: Option<Languages>) -> anyhow::Result<Vec<RecordCard>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cookie_identifier` is never used
[INFO] [stdout]   --> src/components/managers/manager.rs:62:15
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) fn get_cookie_identifier(cookie: Dict) -> Option<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BaseCookieManager` is never used
[INFO] [stdout]   --> src/components/managers/manager.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub(crate) trait BaseCookieManager: Sized {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_exist` is never used
[INFO] [stdout]    --> src/components/managers/manager.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl CookieManager {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) fn is_exist(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WEB_STATIC_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub(crate) static WEB_STATIC_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WEB_API_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(crate) static WEB_API_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ACCOUNT_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) static ACCOUNT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BBS_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) static BBS_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BBS_REFERER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:57:19
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(crate) static BBS_REFERER_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `COMMUNITY_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) static COMMUNITY_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LINEUP_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) static LINEUP_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `INFO_LEDGER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) static INFO_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DETAIL_LEDGER_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:87:19
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) static DETAIL_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALCULATOR_URL` is never used
[INFO] [stdout]   --> src/components/utils/constant.rs:97:19
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub(crate) static CALCULATOR_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CALCULATOR_REFERER_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:101:19
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub(crate) static CALCULATOR_REFERER_URL: Lazy<Route> = Lazy::new(|| Route::new("https://webstatic.mihoyo.com/ys/event/e20200923ado...
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TEAPOT_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub(crate) static TEAPOT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WIKI_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:106:19
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub(crate) static WIKI_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-wiki-api.hoyolab.com/hoyowiki/wapi"));
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HK4E_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub(crate) static HK4E_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-hk4e-api.hoyoverse.com/common/hk4e_global/"));
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `REWARD_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub(crate) static REWARD_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CODE_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) static CODE_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GACHA_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub(crate) static GACHA_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `YSULOG_URL` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:137:19
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub(crate) static YSULOG_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MI18N` is never used
[INFO] [stdout]    --> src/components/utils/constant.rs:141:19
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub(crate) static MI18N: Lazy<HashMap<&'_ str,
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GameTrait` is never used
[INFO] [stdout]  --> src/components/utils/route.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) trait GameTrait {
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Route` is never constructed
[INFO] [stdout]   --> src/components/utils/route.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct Route(String);
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameRoute` is never constructed
[INFO] [stdout]   --> src/components/utils/route.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct GameRoute(HashMap<Region, HashMap<Game, String>>);
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_url` are never used
[INFO] [stdout]   --> src/components/utils/route.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Route {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 19 |     pub(crate) fn new(url: &str) -> Route {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub(crate) fn get_url(&self) -> anyhow::Result<String> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_url` are never used
[INFO] [stdout]   --> src/components/utils/route.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl GameRoute {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 45 |     pub(crate) fn new(overseas: Option<&[(Game, &str)]>, chinese: Option<&[(Game, &str)]>) -> GameRoute {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub(crate) fn get_url(&self, region: &Region, game: &Game) -> anyhow::Result<String> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_genshin_server` is never used
[INFO] [stdout]  --> src/components/utils/uid.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) fn recognize_genshin_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_honkai_server` is never used
[INFO] [stdout]   --> src/components/utils/uid.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) fn recognize_honkai_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recognize_server` is never used
[INFO] [stdout]   --> src/components/utils/uid.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) fn recognize_server(uid: &u32, game: Game) -> anyhow::Result<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEEK` is never used
[INFO] [stdout]   --> src/components/cache.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const WEEK: f32 = DAY * 7.;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheKey` is never constructed
[INFO] [stdout]   --> src/components/cache.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) struct CacheKey;
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache`, `maxsize`, `ttl`, and `static_ttl` are never read
[INFO] [stdout]   --> src/components/cache.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) struct Cache {
[INFO] [stdout]    |                   ----- fields in this struct
[INFO] [stdout] 54 |     pub(crate) cache: Dict,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 55 |     pub(crate) maxsize: usize,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 56 |     pub(crate) ttl: f32,
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 57 |     pub(crate) static_ttl: f32,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Cache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `len`, `get_static`, and `set_static` are never used
[INFO] [stdout]    --> src/components/cache.rs:61:19
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl Cache {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  61 |     pub(crate) fn new(maxsize: Option<usize>, ttl: Option<f32>, static_ttl: Option<f32>) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) fn len(&self) -> usize {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChronicleClient` is never constructed
[INFO] [stdout]   --> src/components/chronicle/mod.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct ChronicleClient<T>(pub(crate) T)
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BaseError` is never used
[INFO] [stdout]   --> src/error.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | trait BaseError {}
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ERRORS` is never used
[INFO] [stdout]    --> src/error.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | static ERRORS: Lazy<Vec<(i16, Errors)>> = Lazy::new(|| {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 20.80s
[INFO] running `Command { std: "docker" "inspect" "8bb6126d66951d45d985293f7261894e2b281a2c64cecf556d0ecb209305474c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8bb6126d66951d45d985293f7261894e2b281a2c64cecf556d0ecb209305474c", kill_on_drop: false }`
[INFO] [stdout] 8bb6126d66951d45d985293f7261894e2b281a2c64cecf556d0ecb209305474c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 12bfd3fbf360ada221cfa16a034cf1ec4b0f465c1d0acdf745f079aafc763fa2
[INFO] running `Command { std: "docker" "start" "-a" "12bfd3fbf360ada221cfa16a034cf1ec4b0f465c1d0acdf745f079aafc763fa2", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `async_trait::async_trait`
[INFO] [stderr]  --> src/components/cache.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use async_trait::async_trait;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::typing::Dict as normal_dict`
[INFO] [stderr]  --> src/components/cache.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::typing::Dict as normal_dict;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `itertools::Itertools`
[INFO] [stderr]  --> src/components/cache.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use itertools::Itertools;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/client.rs:74:25
[INFO] [stderr]    |
[INFO] [stderr] 74 |     pub fn set_from_env(mut self, path: Option<&str>) -> anyhow::Result<Self> {
[INFO] [stderr]    |                         ----^^^^
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `url`
[INFO] [stderr]    --> src/components/base.rs:121:16
[INFO] [stderr]     |
[INFO] [stderr] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stderr]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `headers`
[INFO] [stderr]    --> src/components/base.rs:121:35
[INFO] [stderr]     |
[INFO] [stderr] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stderr]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `kwargs`
[INFO] [stderr]    --> src/components/base.rs:121:93
[INFO] [stderr]     |
[INFO] [stderr] 121 |         &self, url: Option<&str>, headers: Option<&mut HeaderMap>, region: Option<&Region>, kwargs: Dict
[INFO] [stderr]     |                                                                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_kwargs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `url`
[INFO] [stderr]    --> src/components/base.rs:123:13
[INFO] [stderr]     |
[INFO] [stderr] 123 |         let url = WEB_STATIC_URL.get_url(region.unwrap_or(&Region::OverSeas))?;
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/components/cache.rs:116:32
[INFO] [stderr]     |
[INFO] [stderr] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stderr]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/components/cache.rs:120:32
[INFO] [stderr]     |
[INFO] [stderr] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stderr]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/components/cache.rs:120:43
[INFO] [stderr]     |
[INFO] [stderr] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stderr]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `retcode` and `message` are never read
[INFO] [stderr]   --> src/components/models/mod.rs:10:16
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub(crate) struct Base<T> {
[INFO] [stderr]    |                   ---- fields in this struct
[INFO] [stderr] 10 |     pub(crate) retcode: i32,
[INFO] [stderr]    |                ^^^^^^^
[INFO] [stderr] 11 |     pub(crate) message: String,
[INFO] [stderr]    |                ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Base` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RecordCardList` is never constructed
[INFO] [stderr]   --> src/components/models/hoyolab/record.rs:39:12
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub struct RecordCardList {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RecordCard` is never constructed
[INFO] [stderr]   --> src/components/models/hoyolab/record.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub struct RecordCard {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RecordData` is never constructed
[INFO] [stderr]   --> src/components/models/hoyolab/record.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub struct RecordData {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DataSwitch` is never constructed
[INFO] [stderr]   --> src/components/models/hoyolab/record.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub struct DataSwitch {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `cache`, `lang`, `hoyolab_id`, `auth_key`, and `proxy` are never read
[INFO] [stderr]   --> src/components/base.rs:16:16
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub(crate) struct InnerClient {
[INFO] [stderr]    |                   ----------- fields in this struct
[INFO] [stderr] 15 |     pub(crate) cookie_manager: CookieType,
[INFO] [stderr] 16 |     pub(crate) cache: super::cache::Cache,
[INFO] [stderr]    |                ^^^^^
[INFO] [stderr] 17 |     pub(crate) lang: Languages,
[INFO] [stderr]    |                ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 20 |     pub(crate) hoyolab_id: Option<u32>,
[INFO] [stderr]    |                ^^^^^^^^^^
[INFO] [stderr] 21 |     pub(crate) auth_key: Option<String>,
[INFO] [stderr]    |                ^^^^^^^^
[INFO] [stderr] 22 |     pub(crate) proxy: Option<String>,
[INFO] [stderr]    |                ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `request_web_static` and `get_record_cards` are never used
[INFO] [stderr]    --> src/components/base.rs:120:25
[INFO] [stderr]     |
[INFO] [stderr]  43 | impl InnerClient {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 120 |     pub(crate) async fn request_web_static(
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 176 |     pub(crate) async fn get_record_cards(&self, hoyolab_id: Option<u32>, lang: Option<Languages>) -> anyhow::Result<Vec<RecordCard>> {
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_cookie_identifier` is never used
[INFO] [stderr]   --> src/components/managers/manager.rs:62:15
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub(crate) fn get_cookie_identifier(cookie: Dict) -> Option<String> {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `BaseCookieManager` is never used
[INFO] [stderr]   --> src/components/managers/manager.rs:74:18
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub(crate) trait BaseCookieManager: Sized {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_exist` is never used
[INFO] [stderr]    --> src/components/managers/manager.rs:100:19
[INFO] [stderr]     |
[INFO] [stderr]  84 | impl CookieManager {
[INFO] [stderr]     | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub(crate) fn is_exist(&self) -> bool {
[INFO] [stderr]     |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `WEB_STATIC_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:41:19
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub(crate) static WEB_STATIC_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `WEB_API_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:45:19
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub(crate) static WEB_API_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `ACCOUNT_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:49:19
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub(crate) static ACCOUNT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `BBS_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:53:19
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub(crate) static BBS_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `BBS_REFERER_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:57:19
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub(crate) static BBS_REFERER_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `COMMUNITY_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:65:19
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub(crate) static COMMUNITY_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `LINEUP_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:73:19
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub(crate) static LINEUP_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `INFO_LEDGER_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:77:19
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub(crate) static INFO_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `DETAIL_LEDGER_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:87:19
[INFO] [stderr]    |
[INFO] [stderr] 87 | pub(crate) static DETAIL_LEDGER_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `CALCULATOR_URL` is never used
[INFO] [stderr]   --> src/components/utils/constant.rs:97:19
[INFO] [stderr]    |
[INFO] [stderr] 97 | pub(crate) static CALCULATOR_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `CALCULATOR_REFERER_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:101:19
[INFO] [stderr]     |
[INFO] [stderr] 101 | pub(crate) static CALCULATOR_REFERER_URL: Lazy<Route> = Lazy::new(|| Route::new("https://webstatic.mihoyo.com/ys/event/e20200923ado...
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `TEAPOT_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:102:19
[INFO] [stderr]     |
[INFO] [stderr] 102 | pub(crate) static TEAPOT_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]     |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `WIKI_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:106:19
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub(crate) static WIKI_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-wiki-api.hoyolab.com/hoyowiki/wapi"));
[INFO] [stderr]     |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `HK4E_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:107:19
[INFO] [stderr]     |
[INFO] [stderr] 107 | pub(crate) static HK4E_URL: Lazy<Route> = Lazy::new(|| Route::new("https://sg-hk4e-api.hoyoverse.com/common/hk4e_global/"));
[INFO] [stderr]     |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `REWARD_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:108:19
[INFO] [stderr]     |
[INFO] [stderr] 108 | pub(crate) static REWARD_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stderr]     |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `CODE_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:120:19
[INFO] [stderr]     |
[INFO] [stderr] 120 | pub(crate) static CODE_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stderr]     |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `GACHA_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:127:19
[INFO] [stderr]     |
[INFO] [stderr] 127 | pub(crate) static GACHA_URL: Lazy<GameRoute> = Lazy::new(|| GameRoute::new(
[INFO] [stderr]     |                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `YSULOG_URL` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:137:19
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub(crate) static YSULOG_URL: Lazy<InternationalRoute> = Lazy::new(|| InternationalRoute::new(
[INFO] [stderr]     |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `MI18N` is never used
[INFO] [stderr]    --> src/components/utils/constant.rs:141:19
[INFO] [stderr]     |
[INFO] [stderr] 141 | pub(crate) static MI18N: Lazy<HashMap<&'_ str,
[INFO] [stderr]     |                   ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `GameTrait` is never used
[INFO] [stderr]  --> src/components/utils/route.rs:5:18
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub(crate) trait GameTrait {
[INFO] [stderr]   |                  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Route` is never constructed
[INFO] [stderr]   --> src/components/utils/route.rs:11:19
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub(crate) struct Route(String);
[INFO] [stderr]    |                   ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GameRoute` is never constructed
[INFO] [stderr]   --> src/components/utils/route.rs:15:19
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub(crate) struct GameRoute(HashMap<Region, HashMap<Game, String>>);
[INFO] [stderr]    |                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `get_url` are never used
[INFO] [stderr]   --> src/components/utils/route.rs:19:19
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl Route {
[INFO] [stderr]    | ---------- associated items in this implementation
[INFO] [stderr] 19 |     pub(crate) fn new(url: &str) -> Route {
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub(crate) fn get_url(&self) -> anyhow::Result<String> {
[INFO] [stderr]    |                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `get_url` are never used
[INFO] [stderr]   --> src/components/utils/route.rs:45:19
[INFO] [stderr]    |
[INFO] [stderr] 44 | impl GameRoute {
[INFO] [stderr]    | -------------- associated items in this implementation
[INFO] [stderr] 45 |     pub(crate) fn new(overseas: Option<&[(Game, &str)]>, chinese: Option<&[(Game, &str)]>) -> GameRoute {
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     pub(crate) fn get_url(&self, region: &Region, game: &Game) -> anyhow::Result<String> {
[INFO] [stderr]    |                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `recognize_genshin_server` is never used
[INFO] [stderr]  --> src/components/utils/uid.rs:5:15
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub(crate) fn recognize_genshin_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stderr]   |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `recognize_honkai_server` is never used
[INFO] [stderr]   --> src/components/utils/uid.rs:20:15
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub(crate) fn recognize_honkai_server(uid: &u32) -> anyhow::Result<String> {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `recognize_server` is never used
[INFO] [stderr]   --> src/components/utils/uid.rs:50:15
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub(crate) fn recognize_server(uid: &u32, game: Game) -> anyhow::Result<String> {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WEEK` is never used
[INFO] [stderr]   --> src/components/cache.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | const WEEK: f32 = DAY * 7.;
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CacheKey` is never constructed
[INFO] [stderr]   --> src/components/cache.rs:44:19
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub(crate) struct CacheKey;
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `cache`, `maxsize`, `ttl`, and `static_ttl` are never read
[INFO] [stderr]   --> src/components/cache.rs:54:16
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub(crate) struct Cache {
[INFO] [stderr]    |                   ----- fields in this struct
[INFO] [stderr] 54 |     pub(crate) cache: Dict,
[INFO] [stderr]    |                ^^^^^
[INFO] [stderr] 55 |     pub(crate) maxsize: usize,
[INFO] [stderr]    |                ^^^^^^^
[INFO] [stderr] 56 |     pub(crate) ttl: f32,
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 57 |     pub(crate) static_ttl: f32,
[INFO] [stderr]    |                ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Cache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `len`, `get_static`, and `set_static` are never used
[INFO] [stderr]    --> src/components/cache.rs:61:19
[INFO] [stderr]     |
[INFO] [stderr]  60 | impl Cache {
[INFO] [stderr]     | ---------- associated items in this implementation
[INFO] [stderr]  61 |     pub(crate) fn new(maxsize: Option<usize>, ttl: Option<f32>, static_ttl: Option<f32>) -> Self {
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub(crate) fn len(&self) -> usize {
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 |     async fn get_static(&self, key: &str) -> Option<reqwest::Response> {
[INFO] [stderr]     |              ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 120 |     async fn set_static(&self, key: &str, value: reqwest::Response) {
[INFO] [stderr]     |              ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ChronicleClient` is never constructed
[INFO] [stderr]   --> src/components/chronicle/mod.rs:12:19
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub(crate) struct ChronicleClient<T>(pub(crate) T)
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `BaseError` is never used
[INFO] [stderr]   --> src/error.rs:51:7
[INFO] [stderr]    |
[INFO] [stderr] 51 | trait BaseError {}
[INFO] [stderr]    |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `ERRORS` is never used
[INFO] [stderr]    --> src/error.rs:114:8
[INFO] [stderr]     |
[INFO] [stderr] 114 | static ERRORS: Lazy<Vec<(i16, Errors)>> = Lazy::new(|| {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: crate `miHoYo_API` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = help: convert the identifier to snake case: `mi_ho_yo_api`
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |         /// Initialize Client variable.
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stderr]    |         --------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |         /// Setting for two cookies connect [Hoyolab](https://www.hoyolab.com/home).
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 16 |         /// And another way to set,  you can use [`Client::set_cookies`]
[INFO] [stderr] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stderr]    |         --------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |         /// And another way to set,  you can use [`Client::set_cookies`]
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stderr]    |         --------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |         /// Getting [`crate::components::models::hoyolab::record::Account`] as elements in Vector.
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 20 |         let accounts = client.get_game_account(Some(Game::StarRail), None).await?;
[INFO] [stderr]    |         -------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 22 |         /// Extract UID from account.
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 23 |         let uid = accounts.get(0).unwrap().get_uid();
[INFO] [stderr]    |         --------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 25 |           /// Extract StarRail UID from [Hoyolab](https://www.hoyolab.com/home).
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 26 |           /// getting user accounts as contains in Vector and then filtered by user level.
[INFO] [stderr] 27 | /         let account_id = client.get_game_accounts(Some(Languages::JaJp)).await?
[INFO] [stderr] 28 | |             .into_iter().filter(|account| account.level == 70).next().unwrap().get_uid();
[INFO] [stderr]    | |_________________________________________________________________________________________- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 |           /// getting user accounts as contains in Vector and then filtered by user level.
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 27 | /         let account_id = client.get_game_accounts(Some(Languages::JaJp)).await?
[INFO] [stderr] 28 | |             .into_iter().filter(|account| account.level == 70).next().unwrap().get_uid();
[INFO] [stderr]    | |_________________________________________________________________________________________- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |         /// This [`crate::components::chronicle::starrail::StarRailClient::get_preview_data`] is only β.
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |         let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stderr]    |         ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 |         /// Getting as [`crate::components::models::starrail::mihomo::Mihomo`].
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |         let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stderr]    |         ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:32:9
[INFO] [stderr]    |
[INFO] [stderr] 32 | ...   /// --About lang argument, Here's [corresponding string list](https://github.com/Mar-7th/mihomo.py/blob/master/mihomo/model.py#L8)--
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 33 | ...   /// I will create a enum of Language.
[INFO] [stderr] 34 | ...   let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stderr]    |       ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/lib.rs:33:9
[INFO] [stderr]    |
[INFO] [stderr] 33 |         /// I will create a enum of Language.
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 34 |         let user_data = client.starrail.get_preview_data(account_id, Some("jp")).await.unwrap();
[INFO] [stderr]    |         ---------------------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:17:13
[INFO] [stderr]    |
[INFO] [stderr] 17 |         let mut client = Client::new().set_from_env(None)?;
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `uid`
[INFO] [stderr]   --> src/lib.rs:23:13
[INFO] [stderr]    |
[INFO] [stderr] 23 |         let uid = accounts.get(0).unwrap().get_uid();
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_uid`
[INFO] [stderr] 
[INFO] [stderr] warning: `miHoYo-API` (lib) generated 56 warnings (run `cargo fix --lib -p miHoYo-API` to apply 11 suggestions)
[INFO] [stderr] warning: `miHoYo-API` (lib test) generated 68 warnings (55 duplicates) (run `cargo fix --lib -p miHoYo-API --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/miHoYo_API-8f6b02c096beaf06)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test::demo ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test::demo stdout ----
[INFO] [stdout] Error: path not found
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     path not found
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<dotenv::errors::Error>>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<miHoYo_API::client::Client, anyhow::Error> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible, dotenv::errors::Error>>>::from_residual
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:2189:27
[INFO] [stdout]    2: <miHoYo_API::client::Client>::set_from_env
[INFO] [stdout]              at ./src/client.rs:78:21
[INFO] [stdout]    3: miHoYo_API::test::demo::{closure#0}
[INFO] [stdout]              at ./src/lib.rs:17:40
[INFO] [stdout]    4: <core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:70
[INFO] [stdout]    7: tokio::task::coop::with_budget::<core::task::poll::Poll<core::result::Result<(), anyhow::Error>>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]    8: tokio::task::coop::budget::<core::task::poll::Poll<core::result::Result<(), anyhow::Error>>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]    9: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:25
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<core::result::Result<(), anyhow::Error>>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:442:19
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:752:44
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:68
[INFO] [stdout]   13: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   14: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:38
[INFO] [stdout]   15: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   17: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:17
[INFO] [stdout]   18: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:27
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:740:24
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   21: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>::{closure#0}, core::result::Result<(), anyhow::Error>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   22: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   23: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   25: miHoYo_API::test::demo
[INFO] [stdout]              at ./src/lib.rs:37:11
[INFO] [stdout]   26: miHoYo_API::test::demo::{closure#0}
[INFO] [stdout]              at ./src/lib.rs:13:24
[INFO] [stdout]   27: <miHoYo_API::test::demo::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   30: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   31: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   32: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   33: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   34: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   35: test::run_test_in_process
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   36: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   37: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   38: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   39: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   40: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   41: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   42: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   43: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   44: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   45: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   47: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   48: <unknown>
[INFO] [stdout]   49: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test::demo
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "12bfd3fbf360ada221cfa16a034cf1ec4b0f465c1d0acdf745f079aafc763fa2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "12bfd3fbf360ada221cfa16a034cf1ec4b0f465c1d0acdf745f079aafc763fa2", kill_on_drop: false }`
[INFO] [stdout] 12bfd3fbf360ada221cfa16a034cf1ec4b0f465c1d0acdf745f079aafc763fa2
