[INFO] cloning repository https://github.com/lengsh/mowan
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lengsh/mowan" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flengsh%2Fmowan", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flengsh%2Fmowan'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 851ac3e972565a3523a18e9fee345ba256333723
[INFO] checking lengsh/mowan against f1c52bf13c990fc425c542cc90a0396a87db24ba for pr-164812
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flengsh%2Fmowan" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lengsh/mowan
[INFO] finished tweaking git repo https://github.com/lengsh/mowan
[INFO] tweaked toml for git repo https://github.com/lengsh/mowan written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lengsh/mowan on toolchain f1c52bf13c990fc425c542cc90a0396a87db24ba
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f1c52bf13c990fc425c542cc90a0396a87db24ba" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/lengsh/mowan already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f1c52bf13c990fc425c542cc90a0396a87db24ba" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d0ef844b2eb29c14cbe19b039a99f0eb53513037d722779638b368e61dd4fd1c
[INFO] running `Command { std: "docker" "start" "d0ef844b2eb29c14cbe19b039a99f0eb53513037d722779638b368e61dd4fd1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d0ef844b2eb29c14cbe19b039a99f0eb53513037d722779638b368e61dd4fd1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d0ef844b2eb29c14cbe19b039a99f0eb53513037d722779638b368e61dd4fd1c" "/opt/rustwide/cargo-home/bin/cargo" "+f1c52bf13c990fc425c542cc90a0396a87db24ba" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d0ef844b2eb29c14cbe19b039a99f0eb53513037d722779638b368e61dd4fd1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d0ef844b2eb29c14cbe19b039a99f0eb53513037d722779638b368e61dd4fd1c" "/opt/rustwide/cargo-home/bin/cargo" "+f1c52bf13c990fc425c542cc90a0396a87db24ba" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling find-msvc-tools v0.1.10
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking bytes v1.12.1
[INFO] [stderr]     Checking futures-core v0.3.33
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]     Checking futures-sink v0.3.33
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking futures-io v0.3.33
[INFO] [stderr]     Checking futures-task v0.3.33
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking simd-adler32 v0.3.10
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking futures-channel v0.3.33
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling aws-lc-rs v1.18.0
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking bitflags v2.13.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]     Checking rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v6.0.1
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling pathfinder_simd v0.5.6
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking dlib v0.5.3
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking bytemuck v1.25.2
[INFO] [stderr]     Checking jpeg-decoder v0.3.2
[INFO] [stderr]     Checking http v1.5.0
[INFO] [stderr]    Compiling font-kit v0.14.3
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking rustls-native-certs v0.8.4
[INFO] [stderr]     Checking gif v0.12.0
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]    Compiling cc v1.4.2
[INFO] [stderr]     Checking http-body v1.1.0
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking http-body-util v0.1.4
[INFO] [stderr]     Checking float-ord v0.3.2
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking clap_builder v4.6.6
[INFO] [stderr]    Compiling time-macros v0.2.32
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking csv-core v0.1.13
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking ttf-parser v0.20.0
[INFO] [stderr]     Checking colored v1.9.4
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking thread_local v1.1.10
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking either v1.17.0
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking ta v0.5.0
[INFO] [stderr]     Checking alloc-stdlib v0.2.4
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]     Checking crossbeam-channel v0.5.16
[INFO] [stderr]     Checking symlink v0.1.0
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking sha1 v0.10.7
[INFO] [stderr]     Checking brotli-decompressor v5.0.3
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling openssl-src v300.6.1+3.6.3
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]     Checking itertools v0.15.0
[INFO] [stderr]     Checking log v0.4.33
[INFO] [stderr]     Checking csv v1.4.0
[INFO] [stderr]     Checking pathfinder_geometry v0.5.1
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]     Checking time v0.3.55
[INFO] [stderr]    Compiling rustc-hash v2.1.3
[INFO] [stderr]     Checking data-encoding v2.11.1
[INFO] [stderr]     Checking brotli v8.0.4
[INFO] [stderr]    Compiling basic-toml v0.1.10
[INFO] [stderr]     Checking spin v0.9.9
[INFO] [stderr]     Checking plotters-bitmap v0.3.7
[INFO] [stderr]    Compiling aws-lc-sys v0.44.0
[INFO] [stderr]    Compiling freetype-sys v0.20.1
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]     Checking compression-core v0.4.32
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking destructure_traitobject v0.2.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking unsafe-any-ors v1.0.0
[INFO] [stderr]     Checking headers-core v0.3.0
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]     Checking headers v0.4.1
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking typemap-ors v1.0.0
[INFO] [stderr]     Checking arc-swap v1.9.2
[INFO] [stderr]     Checking thread-id v5.1.0
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking unicode-segmentation v1.13.3
[INFO] [stderr]     Checking humantime v2.4.0
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]     Checking log-mdc v0.1.0
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]     Checking mock_instant v0.6.1
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling futures-macro v0.3.33
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking futures-util v0.3.33
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking thiserror v2.0.20
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking tungstenite v0.29.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking clap v4.6.6
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking tracing-appender v0.2.5
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]    Compiling askama_parser v0.16.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking compression-codecs v0.4.38
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking serde-value v0.7.0
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking futures-executor v0.3.33
[INFO] [stderr]     Checking futures v0.3.33
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking log4rs v1.4.0
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]     Checking tokio-tungstenite v0.29.0
[INFO] [stderr]     Checking async-compression v0.4.43
[INFO] [stderr]     Checking h2 v0.4.15
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tower-http v0.7.0
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]    Compiling askama_derive v0.16.0
[INFO] [stderr]    Compiling askama_macros v0.16.0
[INFO] [stderr]     Checking hyper v1.11.0
[INFO] [stderr]     Checking askama v0.16.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.7.0
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.13.4
[INFO] [stderr]     Checking axum-extra v0.10.3
[INFO] [stderr]     Checking wukong v1.0.0 (/opt/rustwide/workdir/wukong)
[INFO] [stderr]     Checking nezha v0.1.0 (/opt/rustwide/workdir/nezha)
[INFO] [stdout] warning: unused import: `reqwest::header::HeaderMap`
[INFO] [stdout]  --> wukong/src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use reqwest::header::HeaderMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> wukong/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> wukong/src/lib.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, error};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> wukong/src/hkget.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::{anyhow, bail, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::prelude::*`
[INFO] [stdout]  --> wukong/src/hkget.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chrono::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> wukong/src/hkget.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]   --> wukong/src/hkget.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, info};
[INFO] [stdout]    |               ^^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> wukong/src/usget.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]  --> wukong/src/usget.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{bail, Ok, Result};
[INFO] [stdout]   |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::prelude::*`
[INFO] [stdout]  --> wukong/src/usget.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `info`
[INFO] [stdout]  --> wukong/src/usget.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, error, info};
[INFO] [stdout]   |               ^^^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> wukong/src/bee.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> wukong/src/bee.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info`, `trace`, and `warn`
[INFO] [stdout]   --> wukong/src/bee.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{debug, error, info, trace, warn};
[INFO] [stdout]    |                             ^^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BLUE`, `GREEN`, `ORANGE`, `RED`, and `YELLOW`
[INFO] [stdout]   --> wukong/src/bee.rs:13:50
[INFO] [stdout]    |
[INFO] [stdout] 13 | use plotters::{prelude::*, style::full_palette::{YELLOW, ORANGE, BLUE, RED, GREEN}};
[INFO] [stdout]    |                                                  ^^^^^^  ^^^^^^  ^^^^  ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ta::indicators::ExponentialMovingAverage as Ema`
[INFO] [stdout]   --> wukong/src/bee.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ta::indicators::ExponentialMovingAverage as Ema;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::header::HeaderMap`
[INFO] [stdout]  --> wukong/src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use reqwest::header::HeaderMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> wukong/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> wukong/src/lib.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, error};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> wukong/src/hkget.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::{anyhow, bail, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::prelude::*`
[INFO] [stdout]  --> wukong/src/hkget.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chrono::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> wukong/src/hkget.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]   --> wukong/src/hkget.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, info};
[INFO] [stdout]    |               ^^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> wukong/src/usget.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]  --> wukong/src/usget.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{bail, Ok, Result};
[INFO] [stdout]   |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::prelude::*`
[INFO] [stdout]  --> wukong/src/usget.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `info`
[INFO] [stdout]  --> wukong/src/usget.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, error, info};
[INFO] [stdout]   |               ^^^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> wukong/src/bee.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> wukong/src/bee.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info`, `trace`, and `warn`
[INFO] [stdout]   --> wukong/src/bee.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{debug, error, info, trace, warn};
[INFO] [stdout]    |                             ^^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BLUE`, `GREEN`, `ORANGE`, `RED`, and `YELLOW`
[INFO] [stdout]   --> wukong/src/bee.rs:13:50
[INFO] [stdout]    |
[INFO] [stdout] 13 | use plotters::{prelude::*, style::full_palette::{YELLOW, ORANGE, BLUE, RED, GREEN}};
[INFO] [stdout]    |                                                  ^^^^^^  ^^^^^^  ^^^^  ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ta::indicators::ExponentialMovingAverage as Ema`
[INFO] [stdout]   --> wukong/src/bee.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ta::indicators::ExponentialMovingAverage as Ema;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `time::format_description::parse`: use `parse_borrowed` with the appropriate version for clarity
[INFO] [stdout]    --> wukong/src/lib.rs:499:33
[INFO] [stdout]     |
[INFO] [stdout] 499 |             format_description::parse(format).unwrap(),
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `time::format_description::parse`: use `parse_borrowed` with the appropriate version for clarity
[INFO] [stdout]    --> wukong/src/lib.rs:499:33
[INFO] [stdout]     |
[INFO] [stdout] 499 |             format_description::parse(format).unwrap(),
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> nezha/src/main.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{debug, error, info};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `format`
[INFO] [stdout]   --> nezha/src/web.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | use chrono::{format, prelude::*};
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> nezha/src/web.rs:37:25
[INFO] [stdout]    |
[INFO] [stdout] 37 | use log::{debug, error, info};
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `format`
[INFO] [stdout]  --> nezha/src/worker.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | use chrono::{format, prelude::*};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> nezha/src/worker.rs:65:26
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 .map(|x| (*x.0))
[INFO] [stdout]    |                          ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 65 -                 .map(|x| (*x.0))
[INFO] [stdout] 65 +                 .map(|x| *x.0)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> nezha/src/worker.rs:87:66
[INFO] [stdout]    |
[INFO] [stdout] 87 | ...                   let mut lastv = tasks.iter().map(|x| (*x.0)).collect::<Vec<_>>();
[INFO] [stdout]    |                                                            ^    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 87 -                             let mut lastv = tasks.iter().map(|x| (*x.0)).collect::<Vec<_>>();
[INFO] [stdout] 87 +                             let mut lastv = tasks.iter().map(|x| *x.0).collect::<Vec<_>>();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::web::*`
[INFO] [stdout]   --> nezha/src/server.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::web::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::worker::*`
[INFO] [stdout]   --> nezha/src/server.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::worker::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> nezha/src/server.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | use log::{debug, error, info};
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::bail`
[INFO] [stdout]  --> nezha/src/shared.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::bail;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> nezha/src/config.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::Colorize`
[INFO] [stdout]  --> nezha/src/config.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use colored::Colorize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]   --> nezha/src/hkget.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::{debug, error, info};
[INFO] [stdout]    |           ^^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> nezha/src/usget.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]  --> nezha/src/usget.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{bail, Ok, Result};
[INFO] [stdout]   |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `info`
[INFO] [stdout]  --> nezha/src/usget.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{debug, error, info};
[INFO] [stdout]   |           ^^^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]   --> nezha/src/png.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{collections::HashMap, hash::Hash};
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ta::indicators::ExponentialMovingAverage as Ema`
[INFO] [stdout]   --> nezha/src/png.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ta::indicators::ExponentialMovingAverage as Ema;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ta::Next`
[INFO] [stdout]   --> nezha/src/png.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ta::Next;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> nezha/src/png.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use log::{error,debug};
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> nezha/src/talon.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use colored::{Color, Colorize};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Map`
[INFO] [stdout]  --> nezha/src/talon.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::Map;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]   --> nezha/src/talon.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::hash::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> nezha/src/talon.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | use log::{debug, error, info};
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> wukong/src/hkget.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     return Ok(ret);
[INFO] [stdout]     |     -------------- any code following this expression is unreachable
[INFO] [stdout] 120 |     // println!("{}", raw);
[INFO] [stdout] 121 |     bail!("data is invalid")
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> nezha/src/main.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{debug, error, info};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> wukong/src/hkget.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     return Ok(ret);
[INFO] [stdout]     |     -------------- any code following this expression is unreachable
[INFO] [stdout] 120 |     // println!("{}", raw);
[INFO] [stdout] 121 |     bail!("data is invalid")
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `format`
[INFO] [stdout]   --> nezha/src/web.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | use chrono::{format, prelude::*};
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> nezha/src/web.rs:37:25
[INFO] [stdout]    |
[INFO] [stdout] 37 | use log::{debug, error, info};
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `format`
[INFO] [stdout]  --> nezha/src/worker.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | use chrono::{format, prelude::*};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> nezha/src/worker.rs:65:26
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 .map(|x| (*x.0))
[INFO] [stdout]    |                          ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 65 -                 .map(|x| (*x.0))
[INFO] [stdout] 65 +                 .map(|x| *x.0)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> nezha/src/worker.rs:87:66
[INFO] [stdout]    |
[INFO] [stdout] 87 | ...                   let mut lastv = tasks.iter().map(|x| (*x.0)).collect::<Vec<_>>();
[INFO] [stdout]    |                                                            ^    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 87 -                             let mut lastv = tasks.iter().map(|x| (*x.0)).collect::<Vec<_>>();
[INFO] [stdout] 87 +                             let mut lastv = tasks.iter().map(|x| *x.0).collect::<Vec<_>>();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::web::*`
[INFO] [stdout]   --> nezha/src/server.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::web::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::worker::*`
[INFO] [stdout]   --> nezha/src/server.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::worker::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> nezha/src/server.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | use log::{debug, error, info};
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::bail`
[INFO] [stdout]  --> nezha/src/shared.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::bail;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> nezha/src/config.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::Colorize`
[INFO] [stdout]  --> nezha/src/config.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use colored::Colorize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]   --> nezha/src/hkget.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::{debug, error, info};
[INFO] [stdout]    |           ^^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> nezha/src/usget.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]  --> nezha/src/usget.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{bail, Ok, Result};
[INFO] [stdout]   |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `info`
[INFO] [stdout]  --> nezha/src/usget.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{debug, error, info};
[INFO] [stdout]   |           ^^^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]   --> nezha/src/png.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{collections::HashMap, hash::Hash};
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ta::indicators::ExponentialMovingAverage as Ema`
[INFO] [stdout]   --> nezha/src/png.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ta::indicators::ExponentialMovingAverage as Ema;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ta::Next`
[INFO] [stdout]   --> nezha/src/png.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ta::Next;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> nezha/src/png.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use log::{error,debug};
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> nezha/src/talon.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use colored::{Color, Colorize};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Map`
[INFO] [stdout]  --> nezha/src/talon.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::Map;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]   --> nezha/src/talon.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::hash::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> nezha/src/talon.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | use log::{debug, error, info};
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> nezha/src/web.rs:797:9
[INFO] [stdout]     |
[INFO] [stdout] 797 |     let mut recs = if let std::result::Result::Ok(rs) = read_hk_stock_cvs(&code_csv_file) {
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> nezha/src/web.rs:797:9
[INFO] [stdout]     |
[INFO] [stdout] 797 |     let mut recs = if let std::result::Result::Ok(rs) = read_hk_stock_cvs(&code_csv_file) {
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::Colorize`
[INFO] [stdout]  --> wukong/src/bee.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use colored::Colorize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude`
[INFO] [stdout]   --> wukong/src/bee.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | use plotters::{prelude::*, style::full_palette::{YELLOW, ORANGE, BLUE, RED, GREEN}};
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::Colorize`
[INFO] [stdout]  --> wukong/src/bee.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use colored::Colorize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude`
[INFO] [stdout]   --> wukong/src/bee.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | use plotters::{prelude::*, style::full_palette::{YELLOW, ORANGE, BLUE, RED, GREEN}};
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> wukong/src/bee.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout] 292 |         idx: usize,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> wukong/src/bee.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout] 292 |         idx: usize,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `info`
[INFO] [stdout]  --> wukong/src/bin/bee.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, info, error};
[INFO] [stdout]   |               ^^^^^  ^^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `png_generate`
[INFO] [stdout]  --> wukong/src/bin/bee.rs:6:79
[INFO] [stdout]   |
[INFO] [stdout] 6 | use wukong::{ read_daily_stock_cvs, BeeOptions, Bee, ORDER_OPEN, ORDER_CLOSE, png_generate, bee_png_generate, tracelog_init};
[INFO] [stdout]   |                                                                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> wukong/src/bin/wukong.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, info, error};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `read_daily_stock_cvs`
[INFO] [stdout]  --> wukong/src/bin/wukong.rs:6:105
[INFO] [stdout]   |
[INFO] [stdout] 6 | use wukong::{ get_hk_stock_token2, fetch_hk_stocks_years, fetch_us_stocks_years, write_daily_stock_cvs, read_daily_stock_cvs};
[INFO] [stdout]   |                                                                                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `info`
[INFO] [stdout]  --> wukong/src/bin/bee.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, info, error};
[INFO] [stdout]   |               ^^^^^  ^^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `png_generate`
[INFO] [stdout]  --> wukong/src/bin/bee.rs:6:79
[INFO] [stdout]   |
[INFO] [stdout] 6 | use wukong::{ read_daily_stock_cvs, BeeOptions, Bee, ORDER_OPEN, ORDER_CLOSE, png_generate, bee_png_generate, tracelog_init};
[INFO] [stdout]   |                                                                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> wukong/src/bin/wukong.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, info, error};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `read_daily_stock_cvs`
[INFO] [stdout]  --> wukong/src/bin/wukong.rs:6:105
[INFO] [stdout]   |
[INFO] [stdout] 6 | use wukong::{ get_hk_stock_token2, fetch_hk_stocks_years, fetch_us_stocks_years, write_daily_stock_cvs, read_daily_stock_cvs};
[INFO] [stdout]   |                                                                                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> wukong/src/bin/bee.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut out_path = PathBuf::from(&cli.output);
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> wukong/src/bin/bee.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut out_path = PathBuf::from(&cli.output);
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> wukong/src/bin/wukong.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut out_path = PathBuf::from(&cli.output);
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> wukong/src/bin/wukong.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut out_path = PathBuf::from(&cli.output);
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `img_width`
[INFO] [stdout]    --> nezha/src/worker.rs:577:67
[INFO] [stdout]     |
[INFO] [stdout] 577 | async fn crawl_us_stocks_batch(codes: Vec<String>, wpath: String, img_width: u32) -> Result<()> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_img_width`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fname`
[INFO] [stdout]    --> nezha/src/talon.rs:131:25
[INFO] [stdout]     |
[INFO] [stdout] 131 |                     let fname = entry.path().display().to_string();
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_fname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k2`
[INFO] [stdout]    --> nezha/src/talon.rs:620:14
[INFO] [stdout]     |
[INFO] [stdout] 620 |         let (k2, v2) = &ema_sig[i - 1];
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_k2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> nezha/src/talon.rs:911:14
[INFO] [stdout]     |
[INFO] [stdout] 911 |         let (idx, tick) = &max_points[i];
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_path`
[INFO] [stdout]    --> nezha/src/main.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let new_path = format!("http://localhost:{}/", port);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_browser_with_port` is never used
[INFO] [stdout]    --> nezha/src/main.rs:134:4
[INFO] [stdout]     |
[INFO] [stdout] 134 | fn open_browser_with_port(port: u16) -> Result<()> {   
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_browser_with_timer` is never used
[INFO] [stdout]    --> nezha/src/main.rs:164:4
[INFO] [stdout]     |
[INFO] [stdout] 164 | fn open_browser_with_timer(wtime: u32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOP_BIG_SIZE` is never used
[INFO] [stdout]   --> nezha/src/web.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const TOP_BIG_SIZE: usize = 5;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ttoken` and `crumb` are never read
[INFO] [stdout]    --> nezha/src/web.rs:464:5
[INFO] [stdout]     |
[INFO] [stdout] 463 | struct StockParam {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 464 |     ttoken: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 465 |     crumb: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]    --> nezha/src/web.rs:700:5
[INFO] [stdout]     |
[INFO] [stdout] 697 | struct ReviewParam {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 700 |     code: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ttoken` and `crumb` are never read
[INFO] [stdout]    --> nezha/src/web.rs:783:5
[INFO] [stdout]     |
[INFO] [stdout] 782 | struct DocumentviewParam {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 783 |     ttoken: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 784 |     crumb: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_shutdown` is never used
[INFO] [stdout]   --> nezha/src/shutdown.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Shutdown {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub(crate) fn is_shutdown(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sendmsg` is never read
[INFO] [stdout]    --> nezha/src/worker.rs:648:5
[INFO] [stdout]     |
[INFO] [stdout] 644 | struct NotifyHandle {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 648 |     sendmsg: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `img_width`
[INFO] [stdout]    --> nezha/src/worker.rs:577:67
[INFO] [stdout]     |
[INFO] [stdout] 577 | async fn crawl_us_stocks_batch(codes: Vec<String>, wpath: String, img_width: u32) -> Result<()> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_img_width`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fname`
[INFO] [stdout]    --> nezha/src/talon.rs:131:25
[INFO] [stdout]     |
[INFO] [stdout] 131 |                     let fname = entry.path().display().to_string();
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_fname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k2`
[INFO] [stdout]    --> nezha/src/talon.rs:620:14
[INFO] [stdout]     |
[INFO] [stdout] 620 |         let (k2, v2) = &ema_sig[i - 1];
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_k2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> nezha/src/talon.rs:911:14
[INFO] [stdout]     |
[INFO] [stdout] 911 |         let (idx, tick) = &max_points[i];
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> nezha/src/talon.rs:946:9
[INFO] [stdout]     |
[INFO] [stdout] 946 |     let mut files = get_futures_csv_files("/home/lengss/futures", "AP");
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_path`
[INFO] [stdout]    --> nezha/src/main.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let new_path = format!("http://localhost:{}/", port);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_browser_with_port` is never used
[INFO] [stdout]    --> nezha/src/main.rs:134:4
[INFO] [stdout]     |
[INFO] [stdout] 134 | fn open_browser_with_port(port: u16) -> Result<()> {   
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_browser_with_timer` is never used
[INFO] [stdout]    --> nezha/src/main.rs:164:4
[INFO] [stdout]     |
[INFO] [stdout] 164 | fn open_browser_with_timer(wtime: u32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOP_BIG_SIZE` is never used
[INFO] [stdout]   --> nezha/src/web.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const TOP_BIG_SIZE: usize = 5;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ttoken` and `crumb` are never read
[INFO] [stdout]    --> nezha/src/web.rs:464:5
[INFO] [stdout]     |
[INFO] [stdout] 463 | struct StockParam {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 464 |     ttoken: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 465 |     crumb: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]    --> nezha/src/web.rs:700:5
[INFO] [stdout]     |
[INFO] [stdout] 697 | struct ReviewParam {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 700 |     code: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ttoken` and `crumb` are never read
[INFO] [stdout]    --> nezha/src/web.rs:783:5
[INFO] [stdout]     |
[INFO] [stdout] 782 | struct DocumentviewParam {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 783 |     ttoken: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 784 |     crumb: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_shutdown` is never used
[INFO] [stdout]   --> nezha/src/shutdown.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Shutdown {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub(crate) fn is_shutdown(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sendmsg` is never read
[INFO] [stdout]    --> nezha/src/worker.rs:648:5
[INFO] [stdout]     |
[INFO] [stdout] 644 | struct NotifyHandle {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 648 |     sendmsg: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `axum-extra`
[INFO] [stderr]   --> nezha/Cargo.toml:27:1
[INFO] [stderr]    |
[INFO] [stderr] 27 | axum-extra = { version="0.10.0", features = ["typed-header"] }
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `axum-extra`
[INFO] [stderr] warning: unused dependency `openssl`
[INFO] [stderr]  --> nezha/Cargo.toml
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `openssl`
[INFO] [stderr] warning: unused dependency `urlencoding`
[INFO] [stderr]   --> nezha/Cargo.toml:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | urlencoding = "2"
[INFO] [stderr]    | ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `urlencoding`
[INFO] [stderr] warning: `nezha` (manifest) generated 3 warnings
[INFO] [stderr] warning: unused dependency `futures`
[INFO] [stderr]   --> wukong/Cargo.toml:29:1
[INFO] [stderr]    |
[INFO] [stderr] 29 | futures = {version = "0.3"}
[INFO] [stderr]    | ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `futures`
[INFO] [stderr] warning: unused dependency `itertools`
[INFO] [stderr]   --> wukong/Cargo.toml:27:1
[INFO] [stderr]    |
[INFO] [stderr] 27 | itertools = {version = "0.15"}
[INFO] [stderr]    | ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `itertools`
[INFO] [stderr] warning: unused dependency `openssl`
[INFO] [stderr]  --> wukong/Cargo.toml
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `openssl`
[INFO] [stderr] warning: unused dependency `rayon`
[INFO] [stderr]   --> wukong/Cargo.toml:28:1
[INFO] [stderr]    |
[INFO] [stderr] 28 | rayon = {version = "1.12" }
[INFO] [stderr]    | ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `rayon`
[INFO] [stderr] warning: unused dependency `thiserror`
[INFO] [stderr]   --> wukong/Cargo.toml:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | thiserror = "1"
[INFO] [stderr]    | ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `thiserror`
[INFO] [stderr] warning: unused dependency `tracing-appender`
[INFO] [stderr]   --> wukong/Cargo.toml:30:1
[INFO] [stderr]    |
[INFO] [stderr] 30 | tracing-appender ={ version= "0.2"}
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tracing-appender`
[INFO] [stderr] warning: `wukong` (manifest) generated 6 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 03s
[INFO] running `Command { std: "docker" "inspect" "d0ef844b2eb29c14cbe19b039a99f0eb53513037d722779638b368e61dd4fd1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d0ef844b2eb29c14cbe19b039a99f0eb53513037d722779638b368e61dd4fd1c", kill_on_drop: false }`
[INFO] [stdout] d0ef844b2eb29c14cbe19b039a99f0eb53513037d722779638b368e61dd4fd1c
