[INFO] cloning repository https://github.com/DOLLook/looklapi-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DOLLook/looklapi-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDOLLook%2Flooklapi-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDOLLook%2Flooklapi-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 281bfbcc93dfa2a0bf514e27148ba38fbea54849 [INFO] checking DOLLook/looklapi-rs against master#61cc47e367d7be91e13bcd01e4e96e0e233d4f6d for pr-133502-21 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDOLLook%2Flooklapi-rs" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/DOLLook/looklapi-rs [INFO] finished tweaking git repo https://github.com/DOLLook/looklapi-rs [INFO] tweaked toml for git repo https://github.com/DOLLook/looklapi-rs written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/DOLLook/looklapi-rs on toolchain 61cc47e367d7be91e13bcd01e4e96e0e233d4f6d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/DOLLook/looklapi-rs 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" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded critical-section v1.2.0 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.106 [INFO] [stderr] Downloaded wasm-bindgen v0.2.106 [INFO] [stderr] Downloaded smart-default v0.7.1 [INFO] [stderr] Downloaded quote v1.0.43 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.106 [INFO] [stderr] Downloaded proc-macro2 v1.0.105 [INFO] [stderr] Downloaded amq-protocol-types v8.3.1 [INFO] [stderr] Downloaded async-global-executor v3.1.0 [INFO] [stderr] Downloaded amq-protocol-tcp v8.3.1 [INFO] [stderr] Downloaded amq-protocol-uri v8.3.1 [INFO] [stderr] Downloaded from-attr v0.1.3 [INFO] [stderr] Downloaded cookie-factory v0.3.3 [INFO] [stderr] Downloaded serde-untagged v0.1.9 [INFO] [stderr] Downloaded time-core v0.1.7 [INFO] [stderr] Downloaded zune-core v0.5.0 [INFO] [stderr] Downloaded multer v3.1.0 [INFO] [stderr] Downloaded axum-core v0.5.6 [INFO] [stderr] Downloaded toml v0.9.11+spec-1.1.0 [INFO] [stderr] Downloaded bytemuck v1.24.0 [INFO] [stderr] Downloaded ron v0.12.0 [INFO] [stderr] Downloaded winnow v0.7.14 [INFO] [stderr] Downloaded axum v0.8.8 [INFO] [stderr] Downloaded pest v2.8.5 [INFO] [stderr] Downloaded fontdue v0.7.3 [INFO] [stderr] Downloaded serde_with v3.16.1 [INFO] [stderr] Downloaded cms v0.2.3 [INFO] [stderr] Downloaded time v0.3.45 [INFO] [stderr] Downloaded moka v0.12.12 [INFO] [stderr] Downloaded aws-lc-rs v1.15.2 [INFO] [stderr] Downloaded zerocopy v0.8.33 [INFO] [stderr] Downloaded webpki-roots v1.0.5 [INFO] [stderr] Downloaded redis v1.0.2 [INFO] [stderr] Downloaded tracing-subscriber v0.3.22 [INFO] [stderr] Downloaded webpki-root-certs v1.0.5 [INFO] [stderr] Downloaded ureq v3.1.4 [INFO] [stderr] Downloaded mongodb v3.5.0 [INFO] [stderr] Downloaded hickory-proto v0.25.2 [INFO] [stderr] Downloaded hashbrown v0.13.2 [INFO] [stderr] Downloaded x509-cert v0.2.5 [INFO] [stderr] Downloaded x509-parser v0.17.0 [INFO] [stderr] Downloaded portable-atomic v1.13.0 [INFO] [stderr] Downloaded ttf-parser v0.15.2 [INFO] [stderr] Downloaded der-parser v10.0.0 [INFO] [stderr] Downloaded asn1-rs v0.7.1 [INFO] [stderr] Downloaded lapin v3.7.2 [INFO] [stderr] Downloaded bson v2.15.0 [INFO] [stderr] Downloaded hyper-util v0.1.19 [INFO] [stderr] Downloaded yaml-rust2 v0.10.4 [INFO] [stderr] Downloaded web-sys v0.3.83 [INFO] [stderr] Downloaded zune-jpeg v0.5.8 [INFO] [stderr] Downloaded zerocopy-derive v0.8.33 [INFO] [stderr] Downloaded rustls-webpki v0.103.8 [INFO] [stderr] Downloaded cc v1.2.52 [INFO] [stderr] Downloaded pkcs12 v0.1.0 [INFO] [stderr] Downloaded p12-keystore v0.2.0 [INFO] [stderr] Downloaded widestring v1.2.1 [INFO] [stderr] Downloaded hickory-resolver v0.25.2 [INFO] [stderr] Downloaded darling_core v0.23.0 [INFO] [stderr] Downloaded bon-macros v3.8.2 [INFO] [stderr] Downloaded bytes v1.11.0 [INFO] [stderr] Downloaded config v0.15.19 [INFO] [stderr] Downloaded des v0.8.1 [INFO] [stderr] Downloaded pkcs5 v0.7.1 [INFO] [stderr] Downloaded polling v3.11.0 [INFO] [stderr] Downloaded arc-swap v1.8.0 [INFO] [stderr] Downloaded flate2 v1.1.8 [INFO] [stderr] Downloaded js-sys v0.3.83 [INFO] [stderr] Downloaded iana-time-zone v0.1.64 [INFO] [stderr] Downloaded pest_meta v2.8.5 [INFO] [stderr] Downloaded pest_generator v2.8.5 [INFO] [stderr] Downloaded pest_derive v2.8.5 [INFO] [stderr] Downloaded erased-serde v0.4.9 [INFO] [stderr] Downloaded toml_parser v1.0.6+spec-1.1.0 [INFO] [stderr] Downloaded der_derive v0.7.3 [INFO] [stderr] Downloaded base64ct v1.8.3 [INFO] [stderr] Downloaded block-padding v0.3.3 [INFO] [stderr] Downloaded oid-registry v0.8.1 [INFO] [stderr] Downloaded futures-rustls v0.26.0 [INFO] [stderr] Downloaded rustls-connector v0.21.11 [INFO] [stderr] Downloaded tcp-stream v0.30.9 [INFO] [stderr] Downloaded async-io v2.6.0 [INFO] [stderr] Downloaded derive-where v1.6.0 [INFO] [stderr] Downloaded typed-builder-macro v0.22.0 [INFO] [stderr] Downloaded bon v3.8.2 [INFO] [stderr] Downloaded slog v2.8.2 [INFO] [stderr] Downloaded litrs v1.0.0 [INFO] [stderr] Downloaded cookie_store v0.22.0 [INFO] [stderr] Downloaded ureq-proto v0.5.3 [INFO] [stderr] Downloaded rustls-pki-types v1.13.2 [INFO] [stderr] Downloaded rs-consul v0.13.0 [INFO] [stderr] Downloaded serde_path_to_error v0.1.20 [INFO] [stderr] Downloaded rust-ini v0.21.3 [INFO] [stderr] Downloaded serde_spanned v1.0.4 [INFO] [stderr] Downloaded toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Downloaded asn1-rs-derive v0.6.0 [INFO] [stderr] Downloaded rusticata-macros v4.1.0 [INFO] [stderr] Downloaded backon v1.6.0 [INFO] [stderr] Downloaded futures-lite v2.6.1 [INFO] [stderr] Downloaded serde_with_macros v3.16.1 [INFO] [stderr] Downloaded unicode-properties v0.1.4 [INFO] [stderr] Downloaded darling v0.23.0 [INFO] [stderr] Downloaded slog-scope v4.4.0 [INFO] [stderr] Downloaded cookie v0.18.1 [INFO] [stderr] Downloaded inventory v0.3.21 [INFO] [stderr] Downloaded zmij v1.0.14 [INFO] [stderr] Downloaded find-msvc-tools v0.1.7 [INFO] [stderr] Downloaded unicase v2.9.0 [INFO] [stderr] Downloaded cbc v0.1.2 [INFO] [stderr] Downloaded rc2 v0.8.1 [INFO] [stderr] Downloaded piper v0.2.4 [INFO] [stderr] Downloaded blocking v1.6.2 [INFO] [stderr] Downloaded data-encoding v2.10.0 [INFO] [stderr] Downloaded ipconfig v0.3.2 [INFO] [stderr] Downloaded resolv-conf v0.7.6 [INFO] [stderr] Downloaded mongocrypt-sys v0.1.5+1.15.1 [INFO] [stderr] Downloaded mongocrypt v0.3.2 [INFO] [stderr] Downloaded derive-syn-parse v0.2.0 [INFO] [stderr] Downloaded serde_bytes v0.11.19 [INFO] [stderr] Downloaded typed-builder v0.22.0 [INFO] [stderr] Downloaded arcstr v1.2.0 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.56 [INFO] [stderr] Downloaded erased-serde v0.3.31 [INFO] [stderr] Downloaded time-macros v0.2.25 [INFO] [stderr] Downloaded from-attr-macro v0.1.3 [INFO] [stderr] Downloaded rudi v0.8.3 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.106 [INFO] [stderr] Downloaded uuid v1.19.0 [INFO] [stderr] Downloaded flagset v0.4.7 [INFO] [stderr] Downloaded asn1-rs-impl v0.2.0 [INFO] [stderr] Downloaded amq-protocol v8.3.1 [INFO] [stderr] Downloaded async-executor v1.13.3 [INFO] [stderr] Downloaded reactor-trait v2.8.0 [INFO] [stderr] Downloaded document-features v0.2.12 [INFO] [stderr] Downloaded async-global-executor-trait v2.2.0 [INFO] [stderr] Downloaded executor-trait v3.1.0 [INFO] [stderr] Downloaded reactor-trait v3.1.1 [INFO] [stderr] Downloaded crunchy v0.2.4 [INFO] [stderr] Downloaded macro_magic_core v0.5.1 [INFO] [stderr] Downloaded crypto-common v0.1.7 [INFO] [stderr] Downloaded from-attr-core v0.1.3 [INFO] [stderr] Downloaded rudi-core v0.1.0 [INFO] [stderr] Downloaded rudi-macro v0.8.3 [INFO] [stderr] Downloaded async-lock v3.4.2 [INFO] [stderr] Downloaded async-channel v2.5.0 [INFO] [stderr] Downloaded async-global-executor-trait v3.1.0 [INFO] [stderr] Downloaded async-reactor-trait v3.1.1 [INFO] [stderr] Downloaded mongodb-internal-macros v3.5.0 [INFO] [stderr] Downloaded winapi-util v0.1.11 [INFO] [stderr] Downloaded http-range-header v0.4.2 [INFO] [stderr] Downloaded macro_magic_macros v0.5.1 [INFO] [stderr] Downloaded macro_magic v0.5.1 [INFO] [stderr] Downloaded openssl-probe v0.2.0 [INFO] [stderr] Downloaded executor-trait v2.1.2 [INFO] [stderr] Downloaded macro_magic_core_macros v0.5.1 [INFO] [stderr] Downloaded rustc_version_runtime v0.3.0 [INFO] [stderr] Downloaded darling_macro v0.23.0 [INFO] [stderr] Downloaded windows-registry v0.6.1 [INFO] [stderr] Downloaded aws-lc-sys v0.35.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:29356a839a4d14451438f794ce8414e707d72405f44418718d724d22562fe786" "/opt/rustwide/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 844a9ae0290bcba3b8b440df87a5736b8bdb66b4b78ffd66cc5f175d68b7c6ea [INFO] running `Command { std: "docker" "start" "-a" "844a9ae0290bcba3b8b440df87a5736b8bdb66b4b78ffd66cc5f175d68b7c6ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "844a9ae0290bcba3b8b440df87a5736b8bdb66b4b78ffd66cc5f175d68b7c6ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "844a9ae0290bcba3b8b440df87a5736b8bdb66b4b78ffd66cc5f175d68b7c6ea", kill_on_drop: false }` [INFO] [stdout] 844a9ae0290bcba3b8b440df87a5736b8bdb66b4b78ffd66cc5f175d68b7c6ea [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:29356a839a4d14451438f794ce8414e707d72405f44418718d724d22562fe786" "/opt/rustwide/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 27a4a6ff11876739db9615b04c65e81104a66804fbfe9d91f2697fa484fcb995 [INFO] running `Command { std: "docker" "start" "-a" "27a4a6ff11876739db9615b04c65e81104a66804fbfe9d91f2697fa484fcb995", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.105 [INFO] [stderr] Compiling quote v1.0.43 [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Checking cfg-if v1.0.4 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling portable-atomic v1.13.0 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Compiling find-msvc-tools v0.1.7 [INFO] [stderr] Checking critical-section v1.2.0 [INFO] [stderr] Checking itoa v1.0.17 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking log v0.4.29 [INFO] [stderr] Checking lock_api v0.4.14 [INFO] [stderr] Checking stable_deref_trait v1.2.1 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Checking zeroize v1.8.2 [INFO] [stderr] Checking bytes v1.11.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Checking generic-array v0.14.7 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Compiling zerocopy v0.8.33 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Checking tracing-core v0.1.36 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Compiling cc v1.2.52 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Checking hashbrown v0.16.1 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Checking socket2 v0.6.1 [INFO] [stderr] Checking rustls-pki-types v1.13.2 [INFO] [stderr] Compiling aws-lc-rs v1.15.2 [INFO] [stderr] Checking parking v2.2.1 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Checking litemap v0.8.1 [INFO] [stderr] Checking fastrand v2.3.0 [INFO] [stderr] Checking writeable v0.6.2 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Checking indexmap v2.13.0 [INFO] [stderr] Compiling zmij v1.0.14 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking bitflags v2.10.0 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking block-padding v0.3.3 [INFO] [stderr] Checking http v1.4.0 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Checking simd-adler32 v0.3.8 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Checking futures-lite v2.6.1 [INFO] [stderr] Compiling time-core v0.1.7 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Checking deranged v0.5.5 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Compiling aws-lc-sys v0.35.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling time-macros v0.2.25 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling async-io v2.6.0 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Checking base64ct v1.8.3 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking rand_core v0.9.5 [INFO] [stderr] Checking pem-rfc7468 v0.7.0 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Checking const-oid v0.9.6 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking time v0.3.45 [INFO] [stderr] Checking flagset v0.4.7 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking crc32fast v1.5.0 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Checking flate2 v1.1.8 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking nom v8.0.0 [INFO] [stderr] Checking data-encoding v2.10.0 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Checking pbkdf2 v0.12.2 [INFO] [stderr] Checking rusticata-macros v4.1.0 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerocopy-derive v0.8.33 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking tokio v1.49.0 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Checking polling v3.11.0 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Compiling der_derive v0.7.3 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking executor-trait v2.1.2 [INFO] [stderr] Compiling asn1-rs-derive v0.6.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Compiling asn1-rs-impl v0.2.0 [INFO] [stderr] Checking der v0.7.10 [INFO] [stderr] Checking asn1-rs v0.7.1 [INFO] [stderr] Compiling equator-macro v0.4.2 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking event-listener v5.4.1 [INFO] [stderr] Compiling oid-registry v0.8.1 [INFO] [stderr] Checking spki v0.7.3 [INFO] [stderr] Checking openssl-probe v0.2.0 [INFO] [stderr] Checking ipnet v2.11.0 [INFO] [stderr] Checking rustls-native-certs v0.8.3 [INFO] [stderr] Checking x509-cert v0.2.5 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Checking equator v0.4.2 [INFO] [stderr] Checking flume v0.11.1 [INFO] [stderr] Checking salsa20 v0.10.2 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Compiling proc-macro-utils v0.10.0 [INFO] [stderr] Checking aligned-vec v0.6.4 [INFO] [stderr] Checking scrypt v0.11.0 [INFO] [stderr] Checking reactor-trait v3.1.1 [INFO] [stderr] Checking der-parser v10.0.0 [INFO] [stderr] Compiling macro_magic_core_macros v0.5.1 [INFO] [stderr] Compiling derive-syn-parse v0.2.0 [INFO] [stderr] Checking cms v0.2.3 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking cbc v0.1.2 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Compiling const-random v0.1.18 [INFO] [stderr] Checking uuid v1.19.0 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Checking async-task v4.7.1 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Compiling typeid v1.0.3 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling pest v2.8.5 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Checking tinyvec v1.10.0 [INFO] [stderr] Compiling macro_magic_core v0.5.1 [INFO] [stderr] Checking x509-parser v0.17.0 [INFO] [stderr] Checking h2 v0.4.13 [INFO] [stderr] Checking pkcs12 v0.1.0 [INFO] [stderr] Checking pkcs5 v0.7.1 [INFO] [stderr] Compiling quote-use-macros v0.8.4 [INFO] [stderr] Checking v_frame v0.3.9 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Checking des v0.8.1 [INFO] [stderr] Checking rc2 v0.8.1 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking piper v0.2.4 [INFO] [stderr] Checking webpki-roots v1.0.5 [INFO] [stderr] Checking as-slice v0.2.1 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking sync_wrapper v1.0.2 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling radium v0.7.0 [INFO] [stderr] Compiling av-scenechange v0.14.1 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Checking cookie-factory v0.3.3 [INFO] [stderr] Compiling built v0.8.0 [INFO] [stderr] Checking zstd v0.13.3 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking amq-protocol-types v8.3.1 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking aligned v0.4.3 [INFO] [stderr] Compiling rav1e v0.8.1 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Checking p12-keystore v0.2.0 [INFO] [stderr] Compiling quote-use v0.8.4 [INFO] [stderr] Compiling pest_meta v2.8.5 [INFO] [stderr] Compiling macro_magic_macros v0.5.1 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Checking async-executor v1.13.3 [INFO] [stderr] Checking reactor-trait v2.8.0 [INFO] [stderr] Checking async-lock v3.4.2 [INFO] [stderr] Compiling profiling-procmacros v1.0.17 [INFO] [stderr] Compiling arg_enum_proc_macro v0.3.4 [INFO] [stderr] Compiling slog v2.8.2 [INFO] [stderr] Compiling from-attr-core v0.1.3 [INFO] [stderr] Checking rustls-pemfile v2.2.0 [INFO] [stderr] Checking core2 v0.4.0 [INFO] [stderr] Checking tap v1.0.1 [INFO] [stderr] Checking quick-error v2.0.1 [INFO] [stderr] Compiling erased-serde v0.4.9 [INFO] [stderr] Checking compression-core v0.4.31 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Checking y4m v0.8.0 [INFO] [stderr] Compiling pastey v0.1.1 [INFO] [stderr] Checking foldhash v0.1.5 [INFO] [stderr] Compiling pest_generator v2.8.5 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Checking compression-codecs v0.4.36 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling enum-as-inner v0.6.1 [INFO] [stderr] Checking async-global-executor v3.1.0 [INFO] [stderr] Checking wyz v0.5.1 [INFO] [stderr] Checking bitstream-io v4.9.0 [INFO] [stderr] Compiling from-attr-macro v0.1.3 [INFO] [stderr] Checking dlv-list v0.5.2 [INFO] [stderr] Checking profiling v1.0.17 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Checking amq-protocol-uri v8.3.1 [INFO] [stderr] Compiling rustc_version_runtime v0.3.0 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Checking maybe-rayon v0.1.1 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Checking av1-grain v0.2.5 [INFO] [stderr] Checking itertools v0.14.0 [INFO] [stderr] Checking hyper-util v0.1.19 [INFO] [stderr] Checking erased-serde v0.3.31 [INFO] [stderr] Checking half v2.7.1 [INFO] [stderr] Compiling fax_derive v0.2.0 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling simd_helpers v0.1.0 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Compiling multer v3.1.0 [INFO] [stderr] Checking imgref v1.12.0 [INFO] [stderr] Checking winnow v0.7.14 [INFO] [stderr] Compiling amq-protocol v8.3.1 [INFO] [stderr] Checking zune-core v0.4.12 [INFO] [stderr] Checking new_debug_unreachable v1.0.6 [INFO] [stderr] Checking ryu v1.0.22 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Compiling noop_proc_macro v0.3.0 [INFO] [stderr] Checking weezl v0.1.12 [INFO] [stderr] Checking funty v2.0.0 [INFO] [stderr] Checking tagptr v0.2.0 [INFO] [stderr] Checking moka v0.12.12 [INFO] [stderr] Checking ordered-multimap v0.7.3 [INFO] [stderr] Checking bitvec v1.0.1 [INFO] [stderr] Checking zune-jpeg v0.4.21 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Checking fax v0.2.6 [INFO] [stderr] Checking loop9 v0.1.5 [INFO] [stderr] Compiling bon-macros v3.8.2 [INFO] [stderr] Checking toml_parser v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling from-attr v0.1.3 [INFO] [stderr] Compiling pest_derive v2.8.5 [INFO] [stderr] Compiling serde_with_macros v3.16.1 [INFO] [stderr] Checking hickory-proto v0.25.2 [INFO] [stderr] Checking async-global-executor-trait v2.2.0 [INFO] [stderr] Checking async-compression v0.4.37 [INFO] [stderr] Checking hashlink v0.10.0 [INFO] [stderr] Compiling macro_magic v0.5.1 [INFO] [stderr] Checking unicode-normalization v0.1.25 [INFO] [stderr] Checking avif-serialize v0.8.6 [INFO] [stderr] Checking executor-trait v3.1.0 [INFO] [stderr] Compiling typed-builder-macro v0.22.0 [INFO] [stderr] Checking arc-swap v1.8.0 [INFO] [stderr] Checking ureq-proto v0.5.3 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking serde_bytes v0.11.19 [INFO] [stderr] Checking toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Checking serde_spanned v1.0.4 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking pxfm v0.1.27 [INFO] [stderr] Checking thread_local v1.1.9 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Checking iri-string v0.7.10 [INFO] [stderr] Compiling rudi-core v0.1.0 [INFO] [stderr] Checking resolv-conf v0.7.6 [INFO] [stderr] Checking http-range-header v0.4.2 [INFO] [stderr] Checking byteorder-lite v0.1.0 [INFO] [stderr] Checking rgb v0.8.52 [INFO] [stderr] Compiling lapin v3.7.2 [INFO] [stderr] Checking unicode-properties v0.1.4 [INFO] [stderr] Checking lebe v0.5.3 [INFO] [stderr] Checking bit_field v0.10.3 [INFO] [stderr] Checking zune-core v0.5.0 [INFO] [stderr] Checking unicode-bidi v0.3.18 [INFO] [stderr] Checking nu-ansi-term v0.50.3 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking arraydeque v0.5.1 [INFO] [stderr] Checking bytemuck v1.24.0 [INFO] [stderr] Checking gif v0.14.1 [INFO] [stderr] Checking ravif v0.12.0 [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Checking yaml-rust2 v0.10.4 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking stringprep v0.1.5 [INFO] [stderr] Checking convert_case v0.6.0 [INFO] [stderr] Checking tracing-subscriber v0.3.22 [INFO] [stderr] Checking zune-jpeg v0.5.8 [INFO] [stderr] Checking exr v1.74.0 [INFO] [stderr] Checking image-webp v0.2.4 [INFO] [stderr] Checking hickory-resolver v0.25.2 [INFO] [stderr] Checking bon v3.8.2 [INFO] [stderr] Checking typed-builder v0.22.0 [INFO] [stderr] Compiling rudi-macro v0.8.3 [INFO] [stderr] Checking toml v0.9.11+spec-1.1.0 [INFO] [stderr] Checking moxcms v0.7.11 [INFO] [stderr] Checking bson v2.15.0 [INFO] [stderr] Checking png v0.18.0 [INFO] [stderr] Checking slog-scope v4.4.0 [INFO] [stderr] Checking async-global-executor-trait v3.1.0 [INFO] [stderr] Checking derive_more v2.1.1 [INFO] [stderr] Checking serde-untagged v0.1.9 [INFO] [stderr] Compiling mongodb-internal-macros v3.5.0 [INFO] [stderr] Checking serde_with v3.16.1 [INFO] [stderr] Checking json5 v0.4.1 [INFO] [stderr] Checking tiff v0.10.3 [INFO] [stderr] Checking rust-ini v0.21.3 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking ron v0.12.0 [INFO] [stderr] Checking hashbrown v0.13.2 [INFO] [stderr] Checking axum-core v0.5.6 [INFO] [stderr] Checking combine v4.6.7 [INFO] [stderr] Checking async-reactor-trait v3.1.1 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Compiling derive-where v1.6.0 [INFO] [stderr] Compiling smart-default v0.7.1 [INFO] [stderr] Checking md-5 v0.10.6 [INFO] [stderr] Checking serde_path_to_error v0.1.20 [INFO] [stderr] Checking backon v1.6.0 [INFO] [stderr] Checking sha1_smol v1.0.1 [INFO] [stderr] Checking arcstr v1.2.0 [INFO] [stderr] Checking inventory v0.3.21 [INFO] [stderr] Checking take_mut v0.2.2 [INFO] [stderr] Checking xxhash-rust v0.8.15 [INFO] [stderr] Checking ttf-parser v0.15.2 [INFO] [stderr] Checking iana-time-zone v0.1.64 [INFO] [stderr] Checking pathdiff v0.2.3 [INFO] [stderr] Checking chrono v0.4.42 [INFO] [stderr] Checking config v0.15.19 [INFO] [stderr] Checking axum v0.8.8 [INFO] [stderr] Checking rudi v0.8.3 [INFO] [stderr] Checking image v0.25.9 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking fontdue v0.7.3 [INFO] [stderr] Checking tracing-error v0.2.1 [INFO] [stderr] Compiling looklapi-macro v0.1.0 (/opt/rustwide/workdir/looklapi-macro) [INFO] [stderr] Checking redis v1.0.2 [INFO] [stderr] Checking rustls-webpki v0.103.8 [INFO] [stderr] Checking futures-rustls v0.26.0 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking rustls-platform-verifier v0.6.2 [INFO] [stderr] Checking ureq v3.1.4 [INFO] [stderr] Checking rustls-connector v0.21.11 [INFO] [stderr] Checking hyper-rustls v0.27.7 [INFO] [stderr] Checking mongodb v3.5.0 [INFO] [stderr] Checking tcp-stream v0.30.9 [INFO] [stderr] Checking reqwest v0.13.1 [INFO] [stderr] Checking amq-protocol-tcp v8.3.1 [INFO] [stderr] Checking rs-consul v0.13.0 [INFO] [stderr] Checking looklapi v0.1.0 (/opt/rustwide/workdir/looklapi) [INFO] [stdout] warning: unused import: `tracing::info` [INFO] [stdout] --> looklapi/src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tracing::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: `std::backtrace` [INFO] [stdout] --> looklapi/src/common/loggers/logger.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::backtrace; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc` [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLock` [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:8:29 [INFO] [stdout] | [INFO] [stdout] 8 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `uuid::Uuid` [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use uuid::Uuid; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> looklapi/src/common/mqutils/rabbitmq_pool.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Commands` and `RedisError` [INFO] [stdout] --> looklapi/src/common/redisutils/multi_cmds.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | use redis::{Commands, Pipeline, RedisError, RedisResult}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ConnectionLike` [INFO] [stdout] --> looklapi/src/common/redisutils/redipool.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use redis::{Client, Connection, ConnectionLike, RedisResult}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `load_image_async` and `load_image` [INFO] [stdout] --> looklapi/src/commonapi/drawer/mod.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | pub use image_helper::{load_image, load_image_async}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TextLine`, `calculate_text_lines_position`, and `process_text_for_drawing` [INFO] [stdout] --> looklapi/src/commonapi/drawer/mod.rs:7:23 [INFO] [stdout] | [INFO] [stdout] 7 | pub use text_helper::{calculate_text_lines_position, process_text_for_drawing, TextLine}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `inventory::submit` [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use inventory::submit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `routing::post` [INFO] [stdout] --> looklapi/src/controller/user_controller.rs:1:45 [INFO] [stdout] | [INFO] [stdout] 1 | use axum::{Extension, Router, routing::get, routing::post}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `inventory::submit` [INFO] [stdout] --> looklapi/src/controller/user_controller.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use inventory::submit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DynamicTextModel` [INFO] [stdout] --> looklapi/src/model/modelimpl/draw/mod.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | pub use text_model::{DynamicTextModel, TextModel}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode [INFO] [stdout] --> looklapi/src/commonapi/drawer/image_helper.rs:51:25 [INFO] [stdout] | [INFO] [stdout] 51 | let bytes = base64::decode(data)?; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tracing::info` [INFO] [stdout] --> looklapi/src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tracing::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: `std::backtrace` [INFO] [stdout] --> looklapi/src/common/loggers/logger.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::backtrace; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc` [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLock` [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:8:29 [INFO] [stdout] | [INFO] [stdout] 8 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `uuid::Uuid` [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use uuid::Uuid; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> looklapi/src/common/mqutils/rabbitmq_pool.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Commands` and `RedisError` [INFO] [stdout] --> looklapi/src/common/redisutils/multi_cmds.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | use redis::{Commands, Pipeline, RedisError, RedisResult}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ConnectionLike` [INFO] [stdout] --> looklapi/src/common/redisutils/redipool.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use redis::{Client, Connection, ConnectionLike, RedisResult}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `load_image_async` and `load_image` [INFO] [stdout] --> looklapi/src/commonapi/drawer/mod.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | pub use image_helper::{load_image, load_image_async}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TextLine`, `calculate_text_lines_position`, and `process_text_for_drawing` [INFO] [stdout] --> looklapi/src/commonapi/drawer/mod.rs:7:23 [INFO] [stdout] | [INFO] [stdout] 7 | pub use text_helper::{calculate_text_lines_position, process_text_for_drawing, TextLine}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `inventory::submit` [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use inventory::submit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `routing::post` [INFO] [stdout] --> looklapi/src/controller/user_controller.rs:1:45 [INFO] [stdout] | [INFO] [stdout] 1 | use axum::{Extension, Router, routing::get, routing::post}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `inventory::submit` [INFO] [stdout] --> looklapi/src/controller/user_controller.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use inventory::submit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DynamicTextModel` [INFO] [stdout] --> looklapi/src/model/modelimpl/draw/mod.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | pub use text_model::{DynamicTextModel, TextModel}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode [INFO] [stdout] --> looklapi/src/commonapi/drawer/image_helper.rs:51:25 [INFO] [stdout] | [INFO] [stdout] 51 | let bytes = base64::decode(data)?; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `lapin::Channel::on_error`: Please use Connection::events_listener instead [INFO] [stdout] --> looklapi/src/common/mqutils/rabbitmq_pool.rs:333:28 [INFO] [stdout] | [INFO] [stdout] 333 | mq_channel.channel.on_error(move |_| { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> looklapi/src/common/redisutils/multi_cmds.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | let mut cmd = pipe.cmd("HMSET").arg(&args[0]); [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] --> looklapi/src/common/redisutils/multi_cmds.rs:50:25 [INFO] [stdout] | [INFO] [stdout] 50 | let mut cmd = pipe.cmd("LPUSH").arg(&args[0]); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> looklapi/src/common/redisutils/multi_cmds.rs:58:25 [INFO] [stdout] | [INFO] [stdout] 58 | let mut cmd = pipe.cmd("RPUSH").arg(&args[0]); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> looklapi/src/controller/middleware/request_context_middleware.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | mut req: Request, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> looklapi/src/controller/middleware/request_context_middleware.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | mut req: Request, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:101:21 [INFO] [stdout] | [INFO] [stdout] 101 | async fn test_begin(mut req: Request, next: axum::middleware::Next) -> impl IntoResponse { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:109:21 [INFO] [stdout] | [INFO] [stdout] 109 | async fn test_after(mut req: Request, next: axum::middleware::Next) -> impl IntoResponse { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `lapin::Channel::on_error`: Please use Connection::events_listener instead [INFO] [stdout] --> looklapi/src/common/mqutils/rabbitmq_pool.rs:333:28 [INFO] [stdout] | [INFO] [stdout] 333 | mq_channel.channel.on_error(move |_| { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> looklapi/src/common/loggers/mongo_logger.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | mut writer: Writer<'_>, [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> looklapi/src/common/loggers/mongo_logger.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | ctx: &FmtContext<'_, S, N>, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `writer` [INFO] [stdout] --> looklapi/src/common/loggers/mongo_logger.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | mut writer: Writer<'_>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_clone` [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:391:13 [INFO] [stdout] | [INFO] [stdout] 391 | let pool_clone = pool.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_clone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `worker_count` is assigned to, but never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:707:13 [INFO] [stdout] | [INFO] [stdout] 707 | let mut worker_count = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_worker_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `broadcaster_count` is assigned to, but never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:708:13 [INFO] [stdout] | [INFO] [stdout] 708 | let mut broadcaster_count = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_broadcaster_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `topic_count` is assigned to, but never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:709:13 [INFO] [stdout] | [INFO] [stdout] 709 | let mut topic_count = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_topic_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `worker_count` is never read [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:714:21 [INFO] [stdout] | [INFO] [stdout] 714 | worker_count += consumer.concurrency as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `broadcaster_count` is never read [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:717:21 [INFO] [stdout] | [INFO] [stdout] 717 | broadcaster_count += 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `topic_count` is never read [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:720:21 [INFO] [stdout] | [INFO] [stdout] 720 | topic_count += 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> looklapi/src/common/redisutils/multi_cmds.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | let mut cmd = pipe.cmd("HMSET").arg(&args[0]); [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] --> looklapi/src/common/redisutils/multi_cmds.rs:50:25 [INFO] [stdout] | [INFO] [stdout] 50 | let mut cmd = pipe.cmd("LPUSH").arg(&args[0]); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> looklapi/src/common/redisutils/multi_cmds.rs:58:25 [INFO] [stdout] | [INFO] [stdout] 58 | let mut cmd = pipe.cmd("RPUSH").arg(&args[0]); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> looklapi/src/controller/middleware/request_context_middleware.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | mut req: Request, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> looklapi/src/controller/middleware/request_context_middleware.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | mut req: Request, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:101:21 [INFO] [stdout] | [INFO] [stdout] 101 | async fn test_begin(mut req: Request, next: axum::middleware::Next) -> impl IntoResponse { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:109:21 [INFO] [stdout] | [INFO] [stdout] 109 | async fn test_after(mut req: Request, next: axum::middleware::Next) -> impl IntoResponse { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `db_index` [INFO] [stdout] --> looklapi/src/common/redisutils/multi_cmds.rs:75:19 [INFO] [stdout] | [INFO] [stdout] 75 | pub async fn eval(db_index: u8, script: &str, keys: &[&str], args: &[&str]) -> RedisResult { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:41:15 [INFO] [stdout] | [INFO] [stdout] 41 | Extension(ctx): Extension, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> looklapi/src/controller/user_controller.rs:38:15 [INFO] [stdout] | [INFO] [stdout] 38 | Extension(ctx): Extension, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> looklapi/src/app/app_config.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Server { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 12 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Server` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `uri` is never read [INFO] [stdout] --> looklapi/src/app/app_config.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Mysql { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 18 | pub uri: String, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mysql` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `uri` is never read [INFO] [stdout] --> looklapi/src/app/app_config.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Mssql { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 23 | pub uri: String, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mssql` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `host`, `port`, `password`, and `timeout` are never read [INFO] [stdout] --> looklapi/src/app/app_config.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Redis { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 33 | pub host: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 34 | pub port: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 35 | pub password: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 36 | /// 超时时间(毫秒) [INFO] [stdout] 37 | pub timeout: i32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Redis` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> looklapi/src/app/app_config.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 46 | pub struct Consul { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 47 | pub host: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 48 | pub port: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 49 | pub secure: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 50 | pub health_check: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 51 | /// 健康检查间隔(秒) [INFO] [stdout] 52 | pub health_check_interval: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 53 | /// 健康检查超时时间(秒) [INFO] [stdout] 54 | pub health_check_timeout: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 55 | /// 服务注册超时时间(秒) [INFO] [stdout] 56 | pub deregister_critical_service_after: i32, // 秒 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Consul` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `developer` is never read [INFO] [stdout] --> looklapi/src/app/app_config.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct Dev { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 66 | pub developer: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dev` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `profile`, `mysql`, `mssql`, `redis`, `consul`, and `dev` are never read [INFO] [stdout] --> looklapi/src/app/app_config.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct AppConfig { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 83 | pub profile: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 84 | pub server: Server, [INFO] [stdout] 85 | pub mysql: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 86 | pub mssql: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 87 | pub mongodb: Option, [INFO] [stdout] 88 | pub redis: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 89 | pub rabbitmq: Option, [INFO] [stdout] 90 | pub consul: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 91 | pub logger: Logger, [INFO] [stdout] 92 | pub dev: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppConfig` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AppEventInitCompleted` is never constructed [INFO] [stdout] --> looklapi/src/app/appcontext/events.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct AppEventInitCompleted; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AppEventConfigInitialized` is never constructed [INFO] [stdout] --> looklapi/src/app/appcontext/events.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct AppEventConfigInitialized; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_ctx_mut` is never used [INFO] [stdout] --> looklapi/src/app/appcontext/rudi_context.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl RudiContext { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn get_ctx_mut(&mut self) -> &mut rudi::Context { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `backtrace` and `span_trace` are never read [INFO] [stdout] --> looklapi/src/app/app_err.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct AppError { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | backtrace: Backtrace, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | span_trace: tracing_error::SpanTrace, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppError` 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`, `message`, `backtrace`, and `span_trace` are never used [INFO] [stdout] --> looklapi/src/app/app_err.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl AppError { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new(message: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn message(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn backtrace(&self) -> &Backtrace { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn span_trace(&self) -> &tracing_error::SpanTrace { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `log` is never used [INFO] [stdout] --> looklapi/src/app/app_err.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl AppError { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 86 | /// 记录日志 [INFO] [stdout] 87 | pub fn log(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `error` is never used [INFO] [stdout] --> looklapi/src/common/loggers/logger.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn error(err: &AppError) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOG_LEVEL_CHANGE` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/consts.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub const LOG_LEVEL_CHANGE: &str = "log_level_change"; // 日志等级变更交换器 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MANUAL_SERVICE_REFRESH` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/consts.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub const MANUAL_SERVICE_REFRESH: &str = "manual_service_refresh"; // 服务配置刷新交换器 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CONFIG_REFRESH_WATCH` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/consts.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub const CONFIG_REFRESH_WATCH: &str = "config_refresh_watch"; // 配置刷新交换器 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ConsumerType` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/consts.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum ConsumerType { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Consumer` is never constructed [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Consumer { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_work_queue_consumer`, `new_broadcast_consumer`, `new_topic_consumer`, and `on_received` are never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Consumer { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 37 | // 新建工作队列消费者 [INFO] [stdout] 38 | pub fn new_work_queue_consumer( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn new_broadcast_consumer( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn new_topic_consumer( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn on_received(&self, msg: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_workqueue_reconnect` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:180:10 [INFO] [stdout] | [INFO] [stdout] 180 | async fn handle_workqueue_reconnect( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_broadcast_reconnect` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:219:10 [INFO] [stdout] | [INFO] [stdout] 219 | async fn handle_broadcast_reconnect( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_topic_reconnect` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:258:10 [INFO] [stdout] | [INFO] [stdout] 258 | async fn handle_topic_reconnect( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConsumerBinder` is never constructed [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:298:8 [INFO] [stdout] | [INFO] [stdout] 298 | struct ConsumerBinder { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `bind_consumer`, `bind_work_queue_consumer`, `bind_broadcast_consumer`, `bind_topic_consumer`, and `init_consumers` are never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:305:8 [INFO] [stdout] | [INFO] [stdout] 304 | impl ConsumerBinder { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 305 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 314 | pub async fn bind_consumer(&self, consumer: Arc) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 346 | async fn bind_work_queue_consumer(&self, consumer: Arc) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 443 | async fn bind_broadcast_consumer(&self, consumer: Arc) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 565 | async fn bind_topic_consumer(&self, consumer: Arc) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 701 | pub async fn init_consumers(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CONN_IDLE_TIMEOUT_MIN` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const CONN_IDLE_TIMEOUT_MIN: i32 = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CH_IDLE_TIMEOUT_MIN` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const CH_IDLE_TIMEOUT_MIN: i32 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CONN_LIMIT` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const CONN_LIMIT: i32 = 100; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CH_LIMIT_FOR_CONN` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const CH_LIMIT_FOR_CONN: i32 = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Idle` is never constructed [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum ChannelStatus { [INFO] [stdout] | ------------- variant in this enum [INFO] [stdout] 23 | Idle, // 空闲 [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ChannelStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MqMessage` is never constructed [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | pub struct MqMessage { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 126 | impl MqMessage { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 127 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Consumer` is never constructed [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 138 | pub struct Consumer { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pub_work_queue_msg` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | pub async fn pub_work_queue_msg(route_key: &str, msg: T) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pub_broadcast_msg` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | pub async fn pub_broadcast_msg(exchange: &str, msg: T) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pub_topic_msg` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:51:14 [INFO] [stdout] | [INFO] [stdout] 51 | pub async fn pub_topic_msg(exchange: &str, route_key: &str, msg: T) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pub_work_queue_msg_internal` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:71:10 [INFO] [stdout] | [INFO] [stdout] 71 | async fn pub_work_queue_msg_internal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pub_broadcast_msg_internal` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:112:10 [INFO] [stdout] | [INFO] [stdout] 112 | async fn pub_broadcast_msg_internal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pub_topic_msg_internal` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:152:10 [INFO] [stdout] | [INFO] [stdout] 152 | async fn pub_topic_msg_internal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_message` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:195:4 [INFO] [stdout] | [INFO] [stdout] 195 | fn convert_message(msg: T) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pub_ch_pipeline_rx`, `rec_conns`, `rec_chs`, and `rec_mu` are never read [INFO] [stdout] --> looklapi/src/common/mqutils/rabbitmq_pool.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct RabbitmqConnPool { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 59 | pub_ch_pipeline_rx: Arc>>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 60 | /// 消费连接 [INFO] [stdout] 61 | rec_conns: Mutex>>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 62 | /// 消费者channel pool [INFO] [stdout] 63 | rec_chs: Mutex>>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 64 | /// 消费者管理锁 [INFO] [stdout] 65 | rec_mu: Arc>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RabbitmqConnPool` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_pub_channel`, `get_rec_channel`, `get_or_create_rec_conn`, and `release_channel` are never used [INFO] [stdout] --> looklapi/src/common/mqutils/rabbitmq_pool.rs:133:18 [INFO] [stdout] | [INFO] [stdout] 70 | impl RabbitmqConnPool { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 133 | pub async fn get_pub_channel(&self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub async fn get_rec_channel(&self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | async fn get_or_create_rec_conn( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn release_channel(&self, ch: Arc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `retry` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/retry.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn retry(meta_msg: &MqMessage, consumer: &crate::common::mqutils::consumer::Consumer) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `retry_success` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/retry.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn retry_success(meta_msg: &MqMessage, consumer_type: ConsumerType) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CONFIG_MANUAL_SERVICE` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/consts.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub const CONFIG_MANUAL_SERVICE: &str = "config_manual_service"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CONFIG_LOG` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/consts.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const CONFIG_LOG: &str = "config_log"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SERVICE_BOOT` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/consts.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const SERVICE_BOOT: &str = "service_boot"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `obj_to_json` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn obj_to_json(val: &T) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `json_to_obj` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn json_to_obj(json: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | pub async fn set(key: &str, val: &T) -> RedisResult<()> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_ex` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:30:14 [INFO] [stdout] | [INFO] [stdout] 30 | pub async fn set_ex(key: &str, val: &T, secs: u64) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:44:14 [INFO] [stdout] | [INFO] [stdout] 44 | pub async fn get(key: &str) -> RedisResult { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `incr` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:58:14 [INFO] [stdout] | [INFO] [stdout] 58 | pub async fn incr(key: &str, incr_val: i64) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scan` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | pub async fn scan(db_index: u8, pattern: &str, limit: usize) -> RedisResult> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_set` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:115:14 [INFO] [stdout] | [INFO] [stdout] 115 | pub async fn hash_set(key: &str, field: &str, val: &T) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_get` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:129:14 [INFO] [stdout] | [INFO] [stdout] 129 | pub async fn hash_get(key: &str, field: &str) -> RedisResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_keys` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:143:14 [INFO] [stdout] | [INFO] [stdout] 143 | pub async fn hash_keys(key: &str) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_values` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:156:14 [INFO] [stdout] | [INFO] [stdout] 156 | pub async fn hash_values(key: &str) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_get_all` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:173:14 [INFO] [stdout] | [INFO] [stdout] 173 | pub async fn hash_get_all(key: &str) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exist` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:194:14 [INFO] [stdout] | [INFO] [stdout] 194 | pub async fn exist(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `h_exist` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:204:14 [INFO] [stdout] | [INFO] [stdout] 204 | pub async fn h_exist(key: &str, field: &str) -> RedisResult { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `del` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:214:14 [INFO] [stdout] | [INFO] [stdout] 214 | pub async fn del(key: &str) -> RedisResult<()> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `h_del` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:225:14 [INFO] [stdout] | [INFO] [stdout] 225 | pub async fn h_del(key: &str, field: &str) -> RedisResult<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `h_del_multiple` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:236:14 [INFO] [stdout] | [INFO] [stdout] 236 | pub async fn h_del_multiple(key: &str, fields: &[&str]) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_incr` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:247:14 [INFO] [stdout] | [INFO] [stdout] 247 | pub async fn hash_incr(key: &str, field: &str, incr_val: i64) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `h_len` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:264:14 [INFO] [stdout] | [INFO] [stdout] 264 | pub async fn h_len(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_key_exp_secs` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:277:14 [INFO] [stdout] | [INFO] [stdout] 277 | pub async fn set_key_exp_secs(key: &str, exp_secs: u64) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_key_exp_millisecs` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:290:14 [INFO] [stdout] | [INFO] [stdout] 290 | pub async fn set_key_exp_millisecs(key: &str, exp_millisecs: u64) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_key_exp_unix_secs` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:303:14 [INFO] [stdout] | [INFO] [stdout] 303 | pub async fn set_key_exp_unix_secs(key: &str, exp_time: u64) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_key_exp_unix_millisecs` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:319:14 [INFO] [stdout] | [INFO] [stdout] 319 | pub async fn set_key_exp_unix_millisecs(key: &str, exp_time: u64) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `remove_key_exp` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:335:14 [INFO] [stdout] | [INFO] [stdout] 335 | pub async fn remove_key_exp(key: &str) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_key_ttl_secs` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:348:14 [INFO] [stdout] | [INFO] [stdout] 348 | pub async fn get_key_ttl_secs(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_key_ttl_millisecs` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:361:14 [INFO] [stdout] | [INFO] [stdout] 361 | pub async fn get_key_ttl_millisecs(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lpush` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn lpush(key: &str, values: &[T]) -> RedisResult { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpush` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:35:14 [INFO] [stdout] | [INFO] [stdout] 35 | pub async fn rpush(key: &str, values: &[T]) -> RedisResult { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lpop` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:63:14 [INFO] [stdout] | [INFO] [stdout] 63 | pub async fn lpop(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpop` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:77:14 [INFO] [stdout] | [INFO] [stdout] 77 | pub async fn rpop(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpoplpush` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:91:14 [INFO] [stdout] | [INFO] [stdout] 91 | pub async fn rpoplpush( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lremove` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | pub async fn lremove(key: &str, count: isize, value: &str) -> RedisResult { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `llen` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:121:14 [INFO] [stdout] | [INFO] [stdout] 121 | pub async fn llen(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lindex` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:134:14 [INFO] [stdout] | [INFO] [stdout] 134 | pub async fn lindex(key: &str, index: isize) -> RedisResult { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lset` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:148:14 [INFO] [stdout] | [INFO] [stdout] 148 | pub async fn lset(key: &str, index: isize, value: &T) -> RedisResult<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lrange` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:162:14 [INFO] [stdout] | [INFO] [stdout] 162 | pub async fn lrange( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ltrim` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:183:14 [INFO] [stdout] | [INFO] [stdout] 183 | pub async fn ltrim(key: &str, start: isize, end: isize) -> RedisResult<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sadd` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn sadd(key: &str, members: &[T]) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `srem` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:32:14 [INFO] [stdout] | [INFO] [stdout] 32 | pub async fn srem(key: &str, members: &[&str]) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sismember` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | pub async fn sismember(key: &str, member: &T) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `smembers` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:63:14 [INFO] [stdout] | [INFO] [stdout] 63 | pub async fn smembers(key: &str) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scard` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:80:14 [INFO] [stdout] | [INFO] [stdout] 80 | pub async fn scard(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spop` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:93:14 [INFO] [stdout] | [INFO] [stdout] 93 | pub async fn spop(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `srandmember` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:107:14 [INFO] [stdout] | [INFO] [stdout] 107 | pub async fn srandmember(key: &str, count: usize) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sdiff` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:129:14 [INFO] [stdout] | [INFO] [stdout] 129 | pub async fn sdiff(key1: &str, key2: &str) -> RedisResult> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sinter` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:146:14 [INFO] [stdout] | [INFO] [stdout] 146 | pub async fn sinter(key1: &str, key2: &str) -> RedisResult> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sunion` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:163:14 [INFO] [stdout] | [INFO] [stdout] 163 | pub async fn sunion(key1: &str, key2: &str) -> RedisResult> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zadd` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn zadd(key: &str, score: f64, member: &T) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zrem` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:18:14 [INFO] [stdout] | [INFO] [stdout] 18 | pub async fn zrem(key: &str, members: &[&str]) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zscore` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:32:14 [INFO] [stdout] | [INFO] [stdout] 32 | pub async fn zscore(key: &str, member: &T) -> RedisResult { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zincrby` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | pub async fn zincrby(key: &str, increment: f64, member: &T) -> RedisResult { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zcard` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:56:14 [INFO] [stdout] | [INFO] [stdout] 56 | pub async fn zcard(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zrangebyscore` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:66:14 [INFO] [stdout] | [INFO] [stdout] 66 | pub async fn zrangebyscore(key: &str, min: f64, max: f64) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zrange` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:77:14 [INFO] [stdout] | [INFO] [stdout] 77 | pub async fn zrange(key: &str, start: isize, stop: isize) -> RedisResult> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zrevrange` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:88:14 [INFO] [stdout] | [INFO] [stdout] 88 | pub async fn zrevrange(key: &str, start: isize, stop: isize) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zrank` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | pub async fn zrank(key: &str, member: &T) -> RedisResult> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zrevrank` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:110:14 [INFO] [stdout] | [INFO] [stdout] 110 | pub async fn zrevrank(key: &str, member: &T) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zremrangebyscore` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:121:14 [INFO] [stdout] | [INFO] [stdout] 121 | pub async fn zremrangebyscore(key: &str, min: f64, max: f64) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zremrangebyrank` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:133:14 [INFO] [stdout] | [INFO] [stdout] 133 | pub async fn zremrangebyrank(key: &str, start: isize, stop: isize) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lock` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/locker.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | pub async fn lock(key: &str, expire_secs: u64) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unlock` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/locker.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | pub async fn unlock(key: &str) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `try_lock` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/locker.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 34 | pub async fn try_lock(key: &str, expire_secs: u64, max_retry: usize, retry_interval_ms: u64) -> RedisResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multi_exec` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/multi_cmds.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | pub async fn multi_exec(key: &str, commands: &[(String, Vec<&str>)]) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `eval` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/multi_cmds.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | pub async fn eval(db_index: u8, script: &str, keys: &[&str], args: &[&str]) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_DB_INDEX` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/redipool.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const MAX_DB_INDEX: u8 = 15; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RedisPool` is never constructed [INFO] [stdout] --> looklapi/src/common/redisutils/redipool.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct RedisPool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_client`, and `get_connection` are never used [INFO] [stdout] --> looklapi/src/common/redisutils/redipool.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl RedisPool { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 15 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | async fn get_client(&mut self, db_index: u8) -> RedisResult<&Client> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | async fn get_connection(&mut self, db_index: u8) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_db_index_from_key` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/redipool.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn get_db_index_from_key(key: &str) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_conn` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/redipool.rs:87:14 [INFO] [stdout] | [INFO] [stdout] 87 | pub async fn get_conn(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_conn0` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/redipool.rs:94:14 [INFO] [stdout] | [INFO] [stdout] 94 | pub async fn get_conn0(db_index: u8) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `save_to_file`, `draw_image`, `draw_qr_code`, and `draw_head_img` are never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/image_drawer.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl ImageDrawer { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn save_to_file(&self, filename: &str) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn draw_image(&mut self, img: ImageContentModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn draw_qr_code(&mut self, qr_code: ImageContentModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn draw_head_img(&mut self, head_img: ImageContentModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `draw_template_async`, `draw_image_async`, `draw_qr_code_async`, `draw_head_img_async`, and `draw_text_async` are never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/image_drawer.rs:339:18 [INFO] [stdout] | [INFO] [stdout] 337 | impl ImageDrawer { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 338 | /// 绘制背景模板(异步) [INFO] [stdout] 339 | pub async fn draw_template_async(&mut self, template: ImageContentModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 385 | pub async fn draw_image_async(&mut self, img: ImageContentModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 419 | pub async fn draw_qr_code_async(&mut self, qr_code: ImageContentModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 425 | pub async fn draw_head_img_async(&mut self, head_img: ImageContentModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 431 | pub async fn draw_text_async(&mut self, text: TextModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_image_async` is never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/image_helper.rs:18:14 [INFO] [stdout] | [INFO] [stdout] 18 | pub async fn load_image_async(path: &str) -> anyhow::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_image_from_url_async` is never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/image_helper.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | async fn load_image_from_url_async(url: &str) -> anyhow::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resize_image` is never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/image_helper.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn resize_image(img: &DynamicImage, width: u32, height: u32) -> DynamicImage { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cover_image` is never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/image_helper.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn cover_image(img: &DynamicImage, width: u32, height: u32) -> DynamicImage { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TextLine` is never constructed [INFO] [stdout] --> looklapi/src/commonapi/drawer/text_helper.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct TextLine { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_text_for_drawing` is never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/text_helper.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn process_text_for_drawing( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_text_lines_position` is never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/text_helper.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn calculate_text_lines_position( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `login_validator_middleware` is never used [INFO] [stdout] --> looklapi/src/controller/middleware/request_context_middleware.rs:22:14 [INFO] [stdout] | [INFO] [stdout] 22 | pub async fn login_validator_middleware( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `manager_validator_middleware` is never used [INFO] [stdout] --> looklapi/src/controller/middleware/request_context_middleware.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | pub async fn manager_validator_middleware( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `TestTrait` is never used [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | trait TestTrait { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Test` is never constructed [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | struct Test; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestProxy` is never constructed [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | struct TestProxy { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `proxy_fn` and `other_fn` are never used [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 73 | impl TestProxy { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 74 | fn proxy_fn(&self) -> Result<(), AppError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn other_fn(&self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `serial` is never read [INFO] [stdout] --> looklapi/src/model/modelimpl/draw/image_content_model.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ImageContentModel { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | pub serial: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImageContentModel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `radius` is never read [INFO] [stdout] --> looklapi/src/model/modelimpl/draw/rectangle_content_model.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct RectangleContentModel { [INFO] [stdout] | --------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | pub radius: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RectangleContentModel` 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] --> looklapi/src/model/modelimpl/draw/text_model.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct TextModel { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub font: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub is_bold: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 24 | /// 是否倾斜 [INFO] [stdout] 25 | pub is_italic: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 26 | /// 水平间距 [INFO] [stdout] 27 | pub h_gap: f32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 28 | /// 行距 [INFO] [stdout] 29 | pub v_gap: f32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub boundary: i32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 34 | /// 行数限制 [INFO] [stdout] 35 | pub row_limit: i32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 36 | /// 关联动态字符 [INFO] [stdout] 37 | pub related_dynamic_text: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TextModel` 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 function `new` is never used [INFO] [stdout] --> looklapi/src/model/modelimpl/draw/text_model.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl TextModel { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 41 | /// 创建静态文字模型实例 [INFO] [stdout] 42 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HTTP_REQUEST_HEADER` is never used [INFO] [stdout] --> looklapi/src/request_context.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const HTTP_REQUEST_HEADER: HeaderName = HeaderName::from_static("http-request-header"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HTTP_REQUEST_EXTENSIONS` is never used [INFO] [stdout] --> looklapi/src/request_context.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const HTTP_REQUEST_EXTENSIONS: HeaderName = HeaderName::from_static("http-request-extensions"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `login_info` is never read [INFO] [stdout] --> looklapi/src/request_context.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct RequestContext { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 10 | pub header: HeaderMap, [INFO] [stdout] 11 | pub login_info: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RequestContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `User` and `Admin` are never constructed [INFO] [stdout] --> looklapi/src/request_context.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum LoginInfo { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 17 | User(()), [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | Admin(()), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LoginInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> looklapi/src/common/loggers/mongo_logger.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | mut writer: Writer<'_>, [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> looklapi/src/common/loggers/mongo_logger.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | ctx: &FmtContext<'_, S, N>, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `writer` [INFO] [stdout] --> looklapi/src/common/loggers/mongo_logger.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | mut writer: Writer<'_>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_clone` [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:391:13 [INFO] [stdout] | [INFO] [stdout] 391 | let pool_clone = pool.clone(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_clone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `worker_count` is assigned to, but never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:707:13 [INFO] [stdout] | [INFO] [stdout] 707 | let mut worker_count = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_worker_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `broadcaster_count` is assigned to, but never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:708:13 [INFO] [stdout] | [INFO] [stdout] 708 | let mut broadcaster_count = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_broadcaster_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `topic_count` is assigned to, but never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:709:13 [INFO] [stdout] | [INFO] [stdout] 709 | let mut topic_count = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_topic_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `worker_count` is never read [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:714:21 [INFO] [stdout] | [INFO] [stdout] 714 | worker_count += consumer.concurrency as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `broadcaster_count` is never read [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:717:21 [INFO] [stdout] | [INFO] [stdout] 717 | broadcaster_count += 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `topic_count` is never read [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:720:21 [INFO] [stdout] | [INFO] [stdout] 720 | topic_count += 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `db_index` [INFO] [stdout] --> looklapi/src/common/redisutils/multi_cmds.rs:75:19 [INFO] [stdout] | [INFO] [stdout] 75 | pub async fn eval(db_index: u8, script: &str, keys: &[&str], args: &[&str]) -> RedisResult { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:41:15 [INFO] [stdout] | [INFO] [stdout] 41 | Extension(ctx): Extension, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> looklapi/src/controller/user_controller.rs:38:15 [INFO] [stdout] | [INFO] [stdout] 38 | Extension(ctx): Extension, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> looklapi/src/app/app_config.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Server { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 12 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Server` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `uri` is never read [INFO] [stdout] --> looklapi/src/app/app_config.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Mysql { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 18 | pub uri: String, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mysql` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `uri` is never read [INFO] [stdout] --> looklapi/src/app/app_config.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Mssql { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 23 | pub uri: String, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mssql` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `host`, `port`, `password`, and `timeout` are never read [INFO] [stdout] --> looklapi/src/app/app_config.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Redis { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 33 | pub host: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 34 | pub port: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 35 | pub password: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 36 | /// 超时时间(毫秒) [INFO] [stdout] 37 | pub timeout: i32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Redis` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> looklapi/src/app/app_config.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 46 | pub struct Consul { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 47 | pub host: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 48 | pub port: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 49 | pub secure: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 50 | pub health_check: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 51 | /// 健康检查间隔(秒) [INFO] [stdout] 52 | pub health_check_interval: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 53 | /// 健康检查超时时间(秒) [INFO] [stdout] 54 | pub health_check_timeout: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 55 | /// 服务注册超时时间(秒) [INFO] [stdout] 56 | pub deregister_critical_service_after: i32, // 秒 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Consul` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `developer` is never read [INFO] [stdout] --> looklapi/src/app/app_config.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct Dev { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 66 | pub developer: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dev` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `profile`, `mysql`, `mssql`, `redis`, `consul`, and `dev` are never read [INFO] [stdout] --> looklapi/src/app/app_config.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct AppConfig { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 83 | pub profile: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 84 | pub server: Server, [INFO] [stdout] 85 | pub mysql: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 86 | pub mssql: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 87 | pub mongodb: Option, [INFO] [stdout] 88 | pub redis: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 89 | pub rabbitmq: Option, [INFO] [stdout] 90 | pub consul: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 91 | pub logger: Logger, [INFO] [stdout] 92 | pub dev: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppConfig` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AppEventConfigInitialized` is never constructed [INFO] [stdout] --> looklapi/src/app/appcontext/events.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct AppEventConfigInitialized; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_ctx_mut` is never used [INFO] [stdout] --> looklapi/src/app/appcontext/rudi_context.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl RudiContext { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn get_ctx_mut(&mut self) -> &mut rudi::Context { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset` is never used [INFO] [stdout] --> looklapi/src/app/appcontext/test.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 19 | impl TestObserver { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 28 | fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `backtrace` and `span_trace` are never read [INFO] [stdout] --> looklapi/src/app/app_err.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct AppError { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | backtrace: Backtrace, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | span_trace: tracing_error::SpanTrace, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppError` 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`, `message`, `backtrace`, and `span_trace` are never used [INFO] [stdout] --> looklapi/src/app/app_err.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl AppError { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new(message: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn message(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn backtrace(&self) -> &Backtrace { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn span_trace(&self) -> &tracing_error::SpanTrace { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `log` is never used [INFO] [stdout] --> looklapi/src/app/app_err.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl AppError { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 86 | /// 记录日志 [INFO] [stdout] 87 | pub fn log(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `error` is never used [INFO] [stdout] --> looklapi/src/common/loggers/logger.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn error(err: &AppError) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOG_LEVEL_CHANGE` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/consts.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub const LOG_LEVEL_CHANGE: &str = "log_level_change"; // 日志等级变更交换器 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MANUAL_SERVICE_REFRESH` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/consts.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub const MANUAL_SERVICE_REFRESH: &str = "manual_service_refresh"; // 服务配置刷新交换器 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CONFIG_REFRESH_WATCH` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/consts.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub const CONFIG_REFRESH_WATCH: &str = "config_refresh_watch"; // 配置刷新交换器 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ConsumerType` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/consts.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum ConsumerType { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Consumer` is never constructed [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Consumer { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_work_queue_consumer`, `new_broadcast_consumer`, `new_topic_consumer`, and `on_received` are never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Consumer { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 37 | // 新建工作队列消费者 [INFO] [stdout] 38 | pub fn new_work_queue_consumer( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn new_broadcast_consumer( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn new_topic_consumer( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn on_received(&self, msg: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_workqueue_reconnect` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:180:10 [INFO] [stdout] | [INFO] [stdout] 180 | async fn handle_workqueue_reconnect( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_broadcast_reconnect` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:219:10 [INFO] [stdout] | [INFO] [stdout] 219 | async fn handle_broadcast_reconnect( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_topic_reconnect` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:258:10 [INFO] [stdout] | [INFO] [stdout] 258 | async fn handle_topic_reconnect( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConsumerBinder` is never constructed [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:298:8 [INFO] [stdout] | [INFO] [stdout] 298 | struct ConsumerBinder { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `bind_consumer`, `bind_work_queue_consumer`, `bind_broadcast_consumer`, `bind_topic_consumer`, and `init_consumers` are never used [INFO] [stdout] --> looklapi/src/common/mqutils/consumer.rs:305:8 [INFO] [stdout] | [INFO] [stdout] 304 | impl ConsumerBinder { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 305 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 314 | pub async fn bind_consumer(&self, consumer: Arc) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 346 | async fn bind_work_queue_consumer(&self, consumer: Arc) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 443 | async fn bind_broadcast_consumer(&self, consumer: Arc) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 565 | async fn bind_topic_consumer(&self, consumer: Arc) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 701 | pub async fn init_consumers(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CONN_IDLE_TIMEOUT_MIN` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const CONN_IDLE_TIMEOUT_MIN: i32 = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CH_IDLE_TIMEOUT_MIN` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const CH_IDLE_TIMEOUT_MIN: i32 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CONN_LIMIT` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const CONN_LIMIT: i32 = 100; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CH_LIMIT_FOR_CONN` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const CH_LIMIT_FOR_CONN: i32 = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Idle` is never constructed [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum ChannelStatus { [INFO] [stdout] | ------------- variant in this enum [INFO] [stdout] 23 | Idle, // 空闲 [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ChannelStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MqMessage` is never constructed [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | pub struct MqMessage { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 126 | impl MqMessage { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 127 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Consumer` is never constructed [INFO] [stdout] --> looklapi/src/common/mqutils/models.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 138 | pub struct Consumer { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pub_work_queue_msg` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | pub async fn pub_work_queue_msg(route_key: &str, msg: T) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pub_broadcast_msg` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | pub async fn pub_broadcast_msg(exchange: &str, msg: T) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pub_topic_msg` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:51:14 [INFO] [stdout] | [INFO] [stdout] 51 | pub async fn pub_topic_msg(exchange: &str, route_key: &str, msg: T) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pub_work_queue_msg_internal` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:71:10 [INFO] [stdout] | [INFO] [stdout] 71 | async fn pub_work_queue_msg_internal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pub_broadcast_msg_internal` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:112:10 [INFO] [stdout] | [INFO] [stdout] 112 | async fn pub_broadcast_msg_internal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pub_topic_msg_internal` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:152:10 [INFO] [stdout] | [INFO] [stdout] 152 | async fn pub_topic_msg_internal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_message` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/publisher.rs:195:4 [INFO] [stdout] | [INFO] [stdout] 195 | fn convert_message(msg: T) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pub_ch_pipeline_rx`, `rec_conns`, `rec_chs`, and `rec_mu` are never read [INFO] [stdout] --> looklapi/src/common/mqutils/rabbitmq_pool.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct RabbitmqConnPool { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 59 | pub_ch_pipeline_rx: Arc>>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 60 | /// 消费连接 [INFO] [stdout] 61 | rec_conns: Mutex>>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 62 | /// 消费者channel pool [INFO] [stdout] 63 | rec_chs: Mutex>>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 64 | /// 消费者管理锁 [INFO] [stdout] 65 | rec_mu: Arc>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RabbitmqConnPool` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_pub_channel`, `get_rec_channel`, `get_or_create_rec_conn`, and `release_channel` are never used [INFO] [stdout] --> looklapi/src/common/mqutils/rabbitmq_pool.rs:133:18 [INFO] [stdout] | [INFO] [stdout] 70 | impl RabbitmqConnPool { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 133 | pub async fn get_pub_channel(&self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub async fn get_rec_channel(&self) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | async fn get_or_create_rec_conn( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn release_channel(&self, ch: Arc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `retry` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/retry.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn retry(meta_msg: &MqMessage, consumer: &crate::common::mqutils::consumer::Consumer) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `retry_success` is never used [INFO] [stdout] --> looklapi/src/common/mqutils/retry.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn retry_success(meta_msg: &MqMessage, consumer_type: ConsumerType) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CONFIG_MANUAL_SERVICE` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/consts.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub const CONFIG_MANUAL_SERVICE: &str = "config_manual_service"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CONFIG_LOG` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/consts.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const CONFIG_LOG: &str = "config_log"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SERVICE_BOOT` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/consts.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const SERVICE_BOOT: &str = "service_boot"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `obj_to_json` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn obj_to_json(val: &T) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `json_to_obj` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn json_to_obj(json: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | pub async fn set(key: &str, val: &T) -> RedisResult<()> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_ex` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:30:14 [INFO] [stdout] | [INFO] [stdout] 30 | pub async fn set_ex(key: &str, val: &T, secs: u64) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:44:14 [INFO] [stdout] | [INFO] [stdout] 44 | pub async fn get(key: &str) -> RedisResult { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `incr` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:58:14 [INFO] [stdout] | [INFO] [stdout] 58 | pub async fn incr(key: &str, incr_val: i64) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scan` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | pub async fn scan(db_index: u8, pattern: &str, limit: usize) -> RedisResult> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_set` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:115:14 [INFO] [stdout] | [INFO] [stdout] 115 | pub async fn hash_set(key: &str, field: &str, val: &T) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_get` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:129:14 [INFO] [stdout] | [INFO] [stdout] 129 | pub async fn hash_get(key: &str, field: &str) -> RedisResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_keys` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:143:14 [INFO] [stdout] | [INFO] [stdout] 143 | pub async fn hash_keys(key: &str) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_values` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:156:14 [INFO] [stdout] | [INFO] [stdout] 156 | pub async fn hash_values(key: &str) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_get_all` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:173:14 [INFO] [stdout] | [INFO] [stdout] 173 | pub async fn hash_get_all(key: &str) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exist` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:194:14 [INFO] [stdout] | [INFO] [stdout] 194 | pub async fn exist(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `h_exist` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:204:14 [INFO] [stdout] | [INFO] [stdout] 204 | pub async fn h_exist(key: &str, field: &str) -> RedisResult { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `del` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:214:14 [INFO] [stdout] | [INFO] [stdout] 214 | pub async fn del(key: &str) -> RedisResult<()> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `h_del` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:225:14 [INFO] [stdout] | [INFO] [stdout] 225 | pub async fn h_del(key: &str, field: &str) -> RedisResult<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `h_del_multiple` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:236:14 [INFO] [stdout] | [INFO] [stdout] 236 | pub async fn h_del_multiple(key: &str, fields: &[&str]) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_incr` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:247:14 [INFO] [stdout] | [INFO] [stdout] 247 | pub async fn hash_incr(key: &str, field: &str, incr_val: i64) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `h_len` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:264:14 [INFO] [stdout] | [INFO] [stdout] 264 | pub async fn h_len(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_key_exp_secs` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:277:14 [INFO] [stdout] | [INFO] [stdout] 277 | pub async fn set_key_exp_secs(key: &str, exp_secs: u64) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_key_exp_millisecs` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:290:14 [INFO] [stdout] | [INFO] [stdout] 290 | pub async fn set_key_exp_millisecs(key: &str, exp_millisecs: u64) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_key_exp_unix_secs` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:303:14 [INFO] [stdout] | [INFO] [stdout] 303 | pub async fn set_key_exp_unix_secs(key: &str, exp_time: u64) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_key_exp_unix_millisecs` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:319:14 [INFO] [stdout] | [INFO] [stdout] 319 | pub async fn set_key_exp_unix_millisecs(key: &str, exp_time: u64) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `remove_key_exp` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:335:14 [INFO] [stdout] | [INFO] [stdout] 335 | pub async fn remove_key_exp(key: &str) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_key_ttl_secs` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:348:14 [INFO] [stdout] | [INFO] [stdout] 348 | pub async fn get_key_ttl_secs(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_key_ttl_millisecs` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/operator.rs:361:14 [INFO] [stdout] | [INFO] [stdout] 361 | pub async fn get_key_ttl_millisecs(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lpush` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn lpush(key: &str, values: &[T]) -> RedisResult { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpush` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:35:14 [INFO] [stdout] | [INFO] [stdout] 35 | pub async fn rpush(key: &str, values: &[T]) -> RedisResult { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lpop` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:63:14 [INFO] [stdout] | [INFO] [stdout] 63 | pub async fn lpop(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpop` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:77:14 [INFO] [stdout] | [INFO] [stdout] 77 | pub async fn rpop(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpoplpush` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:91:14 [INFO] [stdout] | [INFO] [stdout] 91 | pub async fn rpoplpush( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lremove` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | pub async fn lremove(key: &str, count: isize, value: &str) -> RedisResult { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `llen` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:121:14 [INFO] [stdout] | [INFO] [stdout] 121 | pub async fn llen(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lindex` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:134:14 [INFO] [stdout] | [INFO] [stdout] 134 | pub async fn lindex(key: &str, index: isize) -> RedisResult { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lset` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:148:14 [INFO] [stdout] | [INFO] [stdout] 148 | pub async fn lset(key: &str, index: isize, value: &T) -> RedisResult<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lrange` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:162:14 [INFO] [stdout] | [INFO] [stdout] 162 | pub async fn lrange( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ltrim` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/list.rs:183:14 [INFO] [stdout] | [INFO] [stdout] 183 | pub async fn ltrim(key: &str, start: isize, end: isize) -> RedisResult<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sadd` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn sadd(key: &str, members: &[T]) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `srem` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:32:14 [INFO] [stdout] | [INFO] [stdout] 32 | pub async fn srem(key: &str, members: &[&str]) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sismember` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | pub async fn sismember(key: &str, member: &T) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `smembers` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:63:14 [INFO] [stdout] | [INFO] [stdout] 63 | pub async fn smembers(key: &str) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scard` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:80:14 [INFO] [stdout] | [INFO] [stdout] 80 | pub async fn scard(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spop` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:93:14 [INFO] [stdout] | [INFO] [stdout] 93 | pub async fn spop(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `srandmember` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:107:14 [INFO] [stdout] | [INFO] [stdout] 107 | pub async fn srandmember(key: &str, count: usize) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sdiff` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:129:14 [INFO] [stdout] | [INFO] [stdout] 129 | pub async fn sdiff(key1: &str, key2: &str) -> RedisResult> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sinter` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:146:14 [INFO] [stdout] | [INFO] [stdout] 146 | pub async fn sinter(key1: &str, key2: &str) -> RedisResult> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sunion` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/set.rs:163:14 [INFO] [stdout] | [INFO] [stdout] 163 | pub async fn sunion(key1: &str, key2: &str) -> RedisResult> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zadd` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn zadd(key: &str, score: f64, member: &T) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zrem` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:18:14 [INFO] [stdout] | [INFO] [stdout] 18 | pub async fn zrem(key: &str, members: &[&str]) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zscore` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:32:14 [INFO] [stdout] | [INFO] [stdout] 32 | pub async fn zscore(key: &str, member: &T) -> RedisResult { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zincrby` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | pub async fn zincrby(key: &str, increment: f64, member: &T) -> RedisResult { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zcard` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:56:14 [INFO] [stdout] | [INFO] [stdout] 56 | pub async fn zcard(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zrangebyscore` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:66:14 [INFO] [stdout] | [INFO] [stdout] 66 | pub async fn zrangebyscore(key: &str, min: f64, max: f64) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zrange` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:77:14 [INFO] [stdout] | [INFO] [stdout] 77 | pub async fn zrange(key: &str, start: isize, stop: isize) -> RedisResult> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zrevrange` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:88:14 [INFO] [stdout] | [INFO] [stdout] 88 | pub async fn zrevrange(key: &str, start: isize, stop: isize) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zrank` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | pub async fn zrank(key: &str, member: &T) -> RedisResult> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zrevrank` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:110:14 [INFO] [stdout] | [INFO] [stdout] 110 | pub async fn zrevrank(key: &str, member: &T) -> RedisResult> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zremrangebyscore` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:121:14 [INFO] [stdout] | [INFO] [stdout] 121 | pub async fn zremrangebyscore(key: &str, min: f64, max: f64) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zremrangebyrank` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/zset.rs:133:14 [INFO] [stdout] | [INFO] [stdout] 133 | pub async fn zremrangebyrank(key: &str, start: isize, stop: isize) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lock` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/locker.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | pub async fn lock(key: &str, expire_secs: u64) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unlock` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/locker.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | pub async fn unlock(key: &str) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `try_lock` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/locker.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 34 | pub async fn try_lock(key: &str, expire_secs: u64, max_retry: usize, retry_interval_ms: u64) -> RedisResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multi_exec` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/multi_cmds.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | pub async fn multi_exec(key: &str, commands: &[(String, Vec<&str>)]) -> RedisResult<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `eval` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/multi_cmds.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | pub async fn eval(db_index: u8, script: &str, keys: &[&str], args: &[&str]) -> RedisResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_DB_INDEX` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/redipool.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const MAX_DB_INDEX: u8 = 15; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RedisPool` is never constructed [INFO] [stdout] --> looklapi/src/common/redisutils/redipool.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct RedisPool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_client`, and `get_connection` are never used [INFO] [stdout] --> looklapi/src/common/redisutils/redipool.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl RedisPool { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 15 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | async fn get_client(&mut self, db_index: u8) -> RedisResult<&Client> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | async fn get_connection(&mut self, db_index: u8) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_db_index_from_key` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/redipool.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn get_db_index_from_key(key: &str) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_conn` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/redipool.rs:87:14 [INFO] [stdout] | [INFO] [stdout] 87 | pub async fn get_conn(key: &str) -> RedisResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_conn0` is never used [INFO] [stdout] --> looklapi/src/common/redisutils/redipool.rs:94:14 [INFO] [stdout] | [INFO] [stdout] 94 | pub async fn get_conn0(db_index: u8) -> RedisResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `save_to_file`, `draw_image`, `draw_qr_code`, and `draw_head_img` are never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/image_drawer.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl ImageDrawer { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn save_to_file(&self, filename: &str) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn draw_image(&mut self, img: ImageContentModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn draw_qr_code(&mut self, qr_code: ImageContentModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn draw_head_img(&mut self, head_img: ImageContentModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `draw_template_async`, `draw_image_async`, `draw_qr_code_async`, `draw_head_img_async`, and `draw_text_async` are never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/image_drawer.rs:339:18 [INFO] [stdout] | [INFO] [stdout] 337 | impl ImageDrawer { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 338 | /// 绘制背景模板(异步) [INFO] [stdout] 339 | pub async fn draw_template_async(&mut self, template: ImageContentModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 385 | pub async fn draw_image_async(&mut self, img: ImageContentModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 419 | pub async fn draw_qr_code_async(&mut self, qr_code: ImageContentModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 425 | pub async fn draw_head_img_async(&mut self, head_img: ImageContentModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 431 | pub async fn draw_text_async(&mut self, text: TextModel) -> anyhow::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_image_async` is never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/image_helper.rs:18:14 [INFO] [stdout] | [INFO] [stdout] 18 | pub async fn load_image_async(path: &str) -> anyhow::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_image_from_url_async` is never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/image_helper.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | async fn load_image_from_url_async(url: &str) -> anyhow::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resize_image` is never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/image_helper.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn resize_image(img: &DynamicImage, width: u32, height: u32) -> DynamicImage { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cover_image` is never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/image_helper.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn cover_image(img: &DynamicImage, width: u32, height: u32) -> DynamicImage { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TextLine` is never constructed [INFO] [stdout] --> looklapi/src/commonapi/drawer/text_helper.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct TextLine { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_text_for_drawing` is never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/text_helper.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn process_text_for_drawing( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_text_lines_position` is never used [INFO] [stdout] --> looklapi/src/commonapi/drawer/text_helper.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn calculate_text_lines_position( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `login_validator_middleware` is never used [INFO] [stdout] --> looklapi/src/controller/middleware/request_context_middleware.rs:22:14 [INFO] [stdout] | [INFO] [stdout] 22 | pub async fn login_validator_middleware( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `manager_validator_middleware` is never used [INFO] [stdout] --> looklapi/src/controller/middleware/request_context_middleware.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | pub async fn manager_validator_middleware( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `TestTrait` is never used [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | trait TestTrait { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Test` is never constructed [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | struct Test; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestProxy` is never constructed [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | struct TestProxy { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `proxy_fn` and `other_fn` are never used [INFO] [stdout] --> looklapi/src/controller/test_controller.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 73 | impl TestProxy { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 74 | fn proxy_fn(&self) -> Result<(), AppError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn other_fn(&self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `serial` is never read [INFO] [stdout] --> looklapi/src/model/modelimpl/draw/image_content_model.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ImageContentModel { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | pub serial: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImageContentModel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `radius` is never read [INFO] [stdout] --> looklapi/src/model/modelimpl/draw/rectangle_content_model.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct RectangleContentModel { [INFO] [stdout] | --------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | pub radius: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RectangleContentModel` 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] --> looklapi/src/model/modelimpl/draw/text_model.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct TextModel { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub font: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub is_bold: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 24 | /// 是否倾斜 [INFO] [stdout] 25 | pub is_italic: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 26 | /// 水平间距 [INFO] [stdout] 27 | pub h_gap: f32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 28 | /// 行距 [INFO] [stdout] 29 | pub v_gap: f32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub boundary: i32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 34 | /// 行数限制 [INFO] [stdout] 35 | pub row_limit: i32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 36 | /// 关联动态字符 [INFO] [stdout] 37 | pub related_dynamic_text: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TextModel` 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 function `new` is never used [INFO] [stdout] --> looklapi/src/model/modelimpl/draw/text_model.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl TextModel { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 41 | /// 创建静态文字模型实例 [INFO] [stdout] 42 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HTTP_REQUEST_HEADER` is never used [INFO] [stdout] --> looklapi/src/request_context.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const HTTP_REQUEST_HEADER: HeaderName = HeaderName::from_static("http-request-header"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HTTP_REQUEST_EXTENSIONS` is never used [INFO] [stdout] --> looklapi/src/request_context.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const HTTP_REQUEST_EXTENSIONS: HeaderName = HeaderName::from_static("http-request-extensions"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `login_info` is never read [INFO] [stdout] --> looklapi/src/request_context.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct RequestContext { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 10 | pub header: HeaderMap, [INFO] [stdout] 11 | pub login_info: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RequestContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `User` and `Admin` are never constructed [INFO] [stdout] --> looklapi/src/request_context.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum LoginInfo { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 17 | User(()), [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | Admin(()), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LoginInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 58s [INFO] running `Command { std: "docker" "inspect" "27a4a6ff11876739db9615b04c65e81104a66804fbfe9d91f2697fa484fcb995", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "27a4a6ff11876739db9615b04c65e81104a66804fbfe9d91f2697fa484fcb995", kill_on_drop: false }` [INFO] [stdout] 27a4a6ff11876739db9615b04c65e81104a66804fbfe9d91f2697fa484fcb995