[INFO] fetching crate miHoYo-API 0.2.18...
[INFO] testing miHoYo-API-0.2.18 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate miHoYo-API 0.2.18 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate miHoYo-API 0.2.18 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 177 packages to latest compatible versions
[INFO] [stderr]       Adding addr2line v0.21.0 (latest: v0.22.0)
[INFO] [stderr]       Adding base64 v0.21.7 (latest: v0.22.1)
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding cookie v0.17.0 (latest: v0.18.1)
[INFO] [stderr]       Adding cookie_store v0.20.0 (latest: v0.21.0)
[INFO] [stderr]       Adding foreign-types v0.3.2 (latest: v0.5.0)
[INFO] [stderr]       Adding foreign-types-shared v0.1.1 (latest: v0.3.1)
[INFO] [stderr]       Adding gimli v0.28.1 (latest: v0.29.0)
[INFO] [stderr]       Adding h2 v0.3.26 (latest: v0.4.5)
[INFO] [stderr]       Adding http v0.2.12 (latest: v1.1.0)
[INFO] [stderr]       Adding http-body v0.4.6 (latest: v1.0.0)
[INFO] [stderr]       Adding hyper v0.14.28 (latest: v1.3.1)
[INFO] [stderr]       Adding hyper-tls v0.5.0 (latest: v0.6.0)
[INFO] [stderr]       Adding idna v0.3.0 (latest: v0.5.0)
[INFO] [stderr]       Adding itertools v0.12.1 (latest: v0.13.0)
[INFO] [stderr]       Adding linux-raw-sys v0.4.14 (latest: v0.6.4)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] [stderr]       Adding rand v0.3.23 (latest: v0.8.5)
[INFO] [stderr]       Adding rand v0.4.6 (latest: v0.8.5)
[INFO] [stderr]       Adding rand_core v0.3.1 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_core v0.4.2 (latest: v0.6.4)
[INFO] [stderr]       Adding rdrand v0.4.0 (latest: v0.8.3)
[INFO] [stderr]       Adding reqwest v0.11.27 (latest: v0.12.4)
[INFO] [stderr]       Adding rustls-pemfile v1.0.4 (latest: v2.1.2)
[INFO] [stderr]       Adding sync_wrapper v0.1.2 (latest: v1.0.1)
[INFO] [stderr]       Adding system-configuration v0.5.1 (latest: v0.6.0)
[INFO] [stderr]       Adding system-configuration-sys v0.5.0 (latest: v0.6.0)
[INFO] [stderr]       Adding time v0.1.45 (latest: v0.3.36)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (latest: v0.13.1+wasi-0.2.0)
[INFO] [stderr]       Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.13.1+wasi-0.2.0)
[INFO] [stderr]       Adding windows-core v0.52.0 (latest: v0.56.0)
[INFO] [stderr]       Adding windows-sys v0.48.0 (latest: v0.52.0)
[INFO] [stderr]       Adding windows-targets v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_aarch64_gnullvm v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_aarch64_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_i686_gnu v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_i686_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_gnu v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_gnullvm v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding winreg v0.50.0 (latest: v0.52.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded collecting-hashmap v0.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fd5788c7341e8f8a3a28f0ba4b06bada97da10a9f3c99265e03c5135cc887194
[INFO] running `Command { std: "docker" "start" "-a" "fd5788c7341e8f8a3a28f0ba4b06bada97da10a9f3c99265e03c5135cc887194", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fd5788c7341e8f8a3a28f0ba4b06bada97da10a9f3c99265e03c5135cc887194", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd5788c7341e8f8a3a28f0ba4b06bada97da10a9f3c99265e03c5135cc887194", kill_on_drop: false }`
[INFO] [stdout] fd5788c7341e8f8a3a28f0ba4b06bada97da10a9f3c99265e03c5135cc887194
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 21b2518dc1aeac5b233e9401e225ed0bc8854583e4cc8e07dacb20d86ae9283a
[INFO] running `Command { std: "docker" "start" "-a" "21b2518dc1aeac5b233e9401e225ed0bc8854583e4cc8e07dacb20d86ae9283a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling proc-macro2 v1.0.83
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling pin-project-lite v0.2.14
[INFO] [stderr]    Compiling cc v1.0.98
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling bytes v1.6.0
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling serde v1.0.202
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]    Compiling unicode-bidi v0.3.15
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling cookie v0.17.0
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]    Compiling deranged v0.3.11
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling socket2 v0.5.7
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling indexmap v2.2.6
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling ryu v1.0.18
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling tokio v1.37.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.23
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]    Compiling openssl-sys v0.9.102
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling psl-types v2.0.11
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling tower-service v0.3.2
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling idna v0.3.0
[INFO] [stderr]    Compiling idna v0.5.0
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling publicsuffix v2.2.3
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling url v2.5.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling encoding_rs v0.8.34
[INFO] [stderr]    Compiling either v1.12.0
[INFO] [stderr]    Compiling rustc-serialize v0.3.25
[INFO] [stderr]    Compiling ipnet v2.9.0
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]    Compiling iana-time-zone v0.1.60
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling time v0.3.36
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling collecting-hashmap v0.2.0
[INFO] [stderr]    Compiling unicode-segmentation v1.11.0
[INFO] [stderr]    Compiling chrono v0.4.38
[INFO] [stderr]    Compiling serde_derive v1.0.202
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling async-trait v0.1.80
[INFO] [stderr]    Compiling tokio-util v0.7.11
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling hyper v0.14.28
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling cookie_store v0.20.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)]` 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 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)]` 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/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)]` on by default
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `list` is never read
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct RecordCardList {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 40 |     pub list: Vec<RecordCard>
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecordCardList` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct RecordCard {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 45 |     pub has_role: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 46 |     pub game_id: i32,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 47 |     pub game_role_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub nickname: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 49 |     pub region: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 50 |     pub level: i8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 51 |     pub background_image: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     pub is_public: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 53 |     pub data: Vec<RecordData>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 54 |     #[serde(rename = "region_name")]
[INFO] [stdout] 55 |     pub server_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 56 |     pub url: String,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 57 |     pub data_switches: Vec<DataSwitch>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 58 |     // pub h5_data_switches: serde_json::Value,
[INFO] [stdout] 59 |     pub background_color: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecordCard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `type_name`, and `value` are never read
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct RecordData {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 64 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 65 |     #[serde(rename = "type")]
[INFO] [stdout] 66 |     pub type_name: i8,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 67 |     pub value: String
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecordData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `switch_id`, `is_public`, and `switch_name` are never read
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct DataSwitch {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 72 |     pub switch_id: i8,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 73 |     pub is_public: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 74 |     pub switch_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataSwitch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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/e20200923adopt_cal...
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 56 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.99s
[INFO] running `Command { std: "docker" "inspect" "21b2518dc1aeac5b233e9401e225ed0bc8854583e4cc8e07dacb20d86ae9283a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21b2518dc1aeac5b233e9401e225ed0bc8854583e4cc8e07dacb20d86ae9283a", kill_on_drop: false }`
[INFO] [stdout] 21b2518dc1aeac5b233e9401e225ed0bc8854583e4cc8e07dacb20d86ae9283a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 944fd8d62455aed3e9012ae06df36faed01e61302932af22cb80314d8c2bb64a
[INFO] running `Command { std: "docker" "start" "-a" "944fd8d62455aed3e9012ae06df36faed01e61302932af22cb80314d8c2bb64a", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling tokio v1.37.0
[INFO] [stderr]    Compiling tokio-util v0.7.11
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling hyper v0.14.28
[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)]` 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 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)]` 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/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)]` on by default
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `list` is never read
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct RecordCardList {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 40 |     pub list: Vec<RecordCard>
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecordCardList` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct RecordCard {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 45 |     pub has_role: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 46 |     pub game_id: i32,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 47 |     pub game_role_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub nickname: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 49 |     pub region: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 50 |     pub level: i8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 51 |     pub background_image: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     pub is_public: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 53 |     pub data: Vec<RecordData>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 54 |     #[serde(rename = "region_name")]
[INFO] [stdout] 55 |     pub server_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 56 |     pub url: String,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 57 |     pub data_switches: Vec<DataSwitch>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 58 |     // pub h5_data_switches: serde_json::Value,
[INFO] [stdout] 59 |     pub background_color: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecordCard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `type_name`, and `value` are never read
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct RecordData {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 64 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 65 |     #[serde(rename = "type")]
[INFO] [stdout] 66 |     pub type_name: i8,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 67 |     pub value: String
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecordData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `switch_id`, `is_public`, and `switch_name` are never read
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct DataSwitch {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 72 |     pub switch_id: i8,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 73 |     pub is_public: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 74 |     pub switch_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataSwitch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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/e20200923adopt_cal...
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 56 warnings emitted
[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)]` 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)]` 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: 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)]` 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/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)]` on by default
[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: 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: 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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `list` is never read
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct RecordCardList {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 40 |     pub list: Vec<RecordCard>
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecordCardList` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct RecordCard {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 45 |     pub has_role: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 46 |     pub game_id: i32,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 47 |     pub game_role_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub nickname: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 49 |     pub region: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 50 |     pub level: i8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 51 |     pub background_image: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     pub is_public: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 53 |     pub data: Vec<RecordData>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 54 |     #[serde(rename = "region_name")]
[INFO] [stdout] 55 |     pub server_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 56 |     pub url: String,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 57 |     pub data_switches: Vec<DataSwitch>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 58 |     // pub h5_data_switches: serde_json::Value,
[INFO] [stdout] 59 |     pub background_color: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecordCard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `type_name`, and `value` are never read
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct RecordData {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 64 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 65 |     #[serde(rename = "type")]
[INFO] [stdout] 66 |     pub type_name: i8,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 67 |     pub value: String
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecordData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `switch_id`, `is_public`, and `switch_name` are never read
[INFO] [stdout]   --> src/components/models/hoyolab/record.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct DataSwitch {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 72 |     pub switch_id: i8,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 73 |     pub is_public: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 74 |     pub switch_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataSwitch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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/e20200923adopt_cal...
[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: 68 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 17.92s
[INFO] running `Command { std: "docker" "inspect" "944fd8d62455aed3e9012ae06df36faed01e61302932af22cb80314d8c2bb64a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "944fd8d62455aed3e9012ae06df36faed01e61302932af22cb80314d8c2bb64a", kill_on_drop: false }`
[INFO] [stdout] 944fd8d62455aed3e9012ae06df36faed01e61302932af22cb80314d8c2bb64a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 54d8e3f2c3e32da525d8f693baad9e7a934c66034c49edb42a2b7318c8b63916
[INFO] running `Command { std: "docker" "start" "-a" "54d8e3f2c3e32da525d8f693baad9e7a934c66034c49edb42a2b7318c8b63916", 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)]` 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: 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)]` 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: 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)]` on by default
[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)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `list` is never read
[INFO] [stderr]   --> src/components/models/hoyolab/record.rs:40:9
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub struct RecordCardList {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] 40 |     pub list: Vec<RecordCard>
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RecordCardList` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/components/models/hoyolab/record.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub struct RecordCard {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 45 |     pub has_role: bool,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 46 |     pub game_id: i32,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 47 |     pub game_role_id: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 48 |     pub nickname: String,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 49 |     pub region: String,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 50 |     pub level: i8,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 51 |     pub background_image: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 52 |     pub is_public: bool,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 53 |     pub data: Vec<RecordData>,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 54 |     #[serde(rename = "region_name")]
[INFO] [stderr] 55 |     pub server_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 56 |     pub url: String,
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 57 |     pub data_switches: Vec<DataSwitch>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 58 |     // pub h5_data_switches: serde_json::Value,
[INFO] [stderr] 59 |     pub background_color: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RecordCard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name`, `type_name`, and `value` are never read
[INFO] [stderr]   --> src/components/models/hoyolab/record.rs:64:9
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub struct RecordData {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 64 |     pub name: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 65 |     #[serde(rename = "type")]
[INFO] [stderr] 66 |     pub type_name: i8,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 67 |     pub value: String
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RecordData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `switch_id`, `is_public`, and `switch_name` are never read
[INFO] [stderr]   --> src/components/models/hoyolab/record.rs:72:9
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub struct DataSwitch {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 72 |     pub switch_id: i8,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 73 |     pub is_public: bool,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 74 |     pub switch_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DataSwitch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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/e20200923adopt_cal...
[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)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `miHoYo-API` (lib) generated 56 warnings (run `cargo fix --lib -p miHoYo-API` to apply 4 suggestions)
[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)]` 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: 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: 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: `miHoYo-API` (lib test) generated 68 warnings (55 duplicates) (run `cargo fix --lib -p miHoYo-API --tests` to apply 1 suggestion)
[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-7d4cca9937f6f4ec)
[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::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/anyhow-1.0.86/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/result.rs:1964: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}}
[INFO] [stdout]              at ./src/lib.rs:17:26
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/future/future.rs:123:9
[INFO] [stdout]    5: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/future/future.rs:123:9
[INFO] [stdout]    6: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:659:57
[INFO] [stdout]    7: tokio::runtime::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/coop.rs:107:5
[INFO] [stdout]    8: tokio::runtime::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/coop.rs:73:5
[INFO] [stdout]    9: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:659:25
[INFO] [stdout]   10: tokio::runtime::scheduler::current_thread::Context::enter
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:404:19
[INFO] [stdout]   11: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:658:36
[INFO] [stdout]   12: tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:737:68
[INFO] [stdout]   13: tokio::runtime::context::scoped::Scoped<T>::set
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   14: tokio::runtime::context::set_scheduler::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/context.rs:176:26
[INFO] [stdout]   15: std::thread::local::LocalKey<T>::try_with
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/local.rs:286:12
[INFO] [stdout]   16: std::thread::local::LocalKey<T>::with
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/local.rs:262:9
[INFO] [stdout]   17: tokio::runtime::context::set_scheduler
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/context.rs:176:9
[INFO] [stdout]   18: tokio::runtime::scheduler::current_thread::CoreGuard::enter
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:737:27
[INFO] [stdout]   19: tokio::runtime::scheduler::current_thread::CoreGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:646:19
[INFO] [stdout]   20: tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:175:28
[INFO] [stdout]   21: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   22: tokio::runtime::scheduler::current_thread::CurrentThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/current_thread/mod.rs:167:9
[INFO] [stdout]   23: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/runtime.rs:349:47
[INFO] [stdout]   24: miHoYo_API::test::demo
[INFO] [stdout]              at ./src/lib.rs:37:9
[INFO] [stdout]   25: miHoYo_API::test::demo::{{closure}}
[INFO] [stdout]              at ./src/lib.rs:13:24
[INFO] [stdout]   26: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28: test::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:625:18
[INFO] [stdout]   29: test::run_test_in_process::{{closure}}
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:60
[INFO] [stdout]   30: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   31: std::panicking::try::do_call
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   32: std::panicking::try
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   33: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   34: test::run_test_in_process
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:27
[INFO] [stdout]   35: test::run_test::{{closure}}
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:569:43
[INFO] [stdout]   36: test::run_test::{{closure}}
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:599:41
[INFO] [stdout]   37: std::sys_common::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   38: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   39: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   40: std::panicking::try::do_call
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   41: std::panicking::try
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   42: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   43: std::thread::Builder::spawn_unchecked_::{{closure}}
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   44: core::ops::function::FnOnce::call_once{{vtable.shim}}
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   46: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   47: std::sys::pal::unix::thread::Thread::new::thread_start
[INFO] [stdout]              at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys/pal/unix/thread.rs:108: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.04s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "54d8e3f2c3e32da525d8f693baad9e7a934c66034c49edb42a2b7318c8b63916", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "54d8e3f2c3e32da525d8f693baad9e7a934c66034c49edb42a2b7318c8b63916", kill_on_drop: false }`
[INFO] [stdout] 54d8e3f2c3e32da525d8f693baad9e7a934c66034c49edb42a2b7318c8b63916
