[INFO] cloning repository https://github.com/by965738071/protocol
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/by965738071/protocol" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fby965738071%2Fprotocol", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fby965738071%2Fprotocol'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 36bccf7b06cad081357e8573fe06e551b226bdc4
[INFO] testing by965738071/protocol against 1.94.0 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fby965738071%2Fprotocol" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/by965738071/protocol
[INFO] finished tweaking git repo https://github.com/by965738071/protocol
[INFO] tweaked toml for git repo https://github.com/by965738071/protocol written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/by965738071/protocol on toolchain 1.94.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/by965738071/protocol 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" "+1.94.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /workspace/builds/worker-1-tc1/source/admin/Cargo.toml
[INFO] [stderr] workspace: /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thiserror v2.0.11
[INFO] [stderr]   Downloaded tauri-plugin v2.0.4
[INFO] [stderr]   Downloaded vswhom-sys v0.1.2
[INFO] [stderr]   Downloaded vswhom v0.1.0
[INFO] [stderr]   Downloaded salvo-serde-util v0.75.0
[INFO] [stderr]   Downloaded thiserror-impl v2.0.11
[INFO] [stderr]   Downloaded salvo v0.75.0
[INFO] [stderr]   Downloaded infer v0.16.0
[INFO] [stderr]   Downloaded salvo_macros v0.75.0
[INFO] [stderr]   Downloaded value-bag v1.10.0
[INFO] [stderr]   Downloaded prost-types v0.13.4
[INFO] [stderr]   Downloaded serde-xml-rs v0.6.0
[INFO] [stderr]   Downloaded tokio-tungstenite v0.26.1
[INFO] [stderr]   Downloaded etag v4.0.0
[INFO] [stderr]   Downloaded headers v0.4.0
[INFO] [stderr]   Downloaded derive_arbitrary v1.4.1
[INFO] [stderr]   Downloaded rust-ini v0.21.1
[INFO] [stderr]   Downloaded salvo-jwt-auth v0.75.0
[INFO] [stderr]   Downloaded codepage v0.1.2
[INFO] [stderr]   Downloaded ordered-multimap v0.7.3
[INFO] [stderr]   Downloaded pest_derive v2.7.15
[INFO] [stderr]   Downloaded zopfli v0.8.1
[INFO] [stderr]   Downloaded config v0.15.5
[INFO] [stderr]   Downloaded calamine v0.26.1
[INFO] [stderr]   Downloaded zip v2.2.2
[INFO] [stderr]   Downloaded salvo v0.16.8
[INFO] [stderr]   Downloaded sqlx-mysql v0.8.3
[INFO] [stderr]   Downloaded libmimalloc-sys v0.1.39
[INFO] [stderr]   Downloaded yaml-rust2 v0.9.0
[INFO] [stderr]   Downloaded console-subscriber v0.4.1
[INFO] [stderr]   Downloaded sqlparser v0.51.0
[INFO] [stderr]   Downloaded quick-xml v0.37.2
[INFO] [stderr]   Downloaded h2 v0.4.7
[INFO] [stderr]   Downloaded sqlx-sqlite v0.8.3
[INFO] [stderr]   Downloaded prettyplease v0.2.29
[INFO] [stderr]   Downloaded quick-xml v0.32.0
[INFO] [stderr]   Downloaded salvo_core v0.75.0
[INFO] [stderr]   Downloaded bstr v1.11.3
[INFO] [stderr]   Downloaded utoipa v5.3.1
[INFO] [stderr]   Downloaded ico v0.3.0
[INFO] [stderr]   Downloaded rustix v0.38.43
[INFO] [stderr]   Downloaded objc2-web-kit v0.2.2
[INFO] [stderr]   Downloaded pest v2.7.15
[INFO] [stderr]   Downloaded headers v0.3.9
[INFO] [stderr]   Downloaded fern v0.7.1
[INFO] [stderr]   Downloaded rustls v0.23.21
[INFO] [stderr]   Downloaded plist v1.7.0
[INFO] [stderr]   Downloaded nng v1.0.1
[INFO] [stderr]   Downloaded tauri v2.2.1
[INFO] [stderr]   Downloaded syn v2.0.96
[INFO] [stderr]   Downloaded jsonwebtoken v9.3.0
[INFO] [stderr]   Downloaded webpki-roots v0.26.7
[INFO] [stderr]   Downloaded globset v0.4.15
[INFO] [stderr]   Downloaded proc-quote v0.4.0
[INFO] [stderr]   Downloaded salvo_core v0.16.8
[INFO] [stderr]   Downloaded utoipa-gen v5.3.1
[INFO] [stderr]   Downloaded nng-sys v1.4.0-rc.0
[INFO] [stderr]   Downloaded wry v0.48.0
[INFO] [stderr]   Downloaded chrono v0.4.39
[INFO] [stderr]   Downloaded console-api v0.8.1
[INFO] [stderr]   Downloaded structmeta v0.3.0
[INFO] [stderr]   Downloaded ormlite v0.22.9
[INFO] [stderr]   Downloaded multer v2.1.0
[INFO] [stderr]   Downloaded sqlx v0.8.3
[INFO] [stderr]   Downloaded serde_json v1.0.135
[INFO] [stderr]   Downloaded lockfree-object-pool v0.1.6
[INFO] [stderr]   Downloaded pest_meta v2.7.15
[INFO] [stderr]   Downloaded pest_generator v2.7.15
[INFO] [stderr]   Downloaded rust-embed v8.5.0
[INFO] [stderr]   Downloaded ormlite-attr v0.22.9
[INFO] [stderr]   Downloaded ormlite-core v0.22.9
[INFO] [stderr]   Downloaded brotli v7.0.0
[INFO] [stderr]   Downloaded salvo-cors v0.75.0
[INFO] [stderr]   Downloaded textnonce v1.0.0
[INFO] [stderr]   Downloaded sqlx-postgres v0.8.3
[INFO] [stderr]   Downloaded sqlx-core v0.8.3
[INFO] [stderr]   Downloaded window-vibrancy v0.5.2
[INFO] [stderr]   Downloaded rust_decimal v1.36.0
[INFO] [stderr]   Downloaded brotli-decompressor v4.0.1
[INFO] [stderr]   Downloaded serde_with v3.12.0
[INFO] [stderr]   Downloaded winnow v0.6.24
[INFO] [stderr]   Downloaded salvo_macros v0.16.0
[INFO] [stderr]   Downloaded salvo-serve-static v0.75.0
[INFO] [stderr]   Downloaded pin-project v1.1.8
[INFO] [stderr]   Downloaded security-framework v3.2.0
[INFO] [stderr]   Downloaded ormlite-macro v0.22.9
[INFO] [stderr]   Downloaded proc-quote-impl v0.3.2
[INFO] [stderr]   Downloaded str-buf v3.0.3
[INFO] [stderr]   Downloaded rsa v0.9.7
[INFO] [stderr]   Downloaded prost-build v0.13.4
[INFO] [stderr]   Downloaded tempfile v3.15.0
[INFO] [stderr]   Downloaded softbuffer v0.4.6
[INFO] [stderr]   Downloaded jsonptr v0.6.3
[INFO] [stderr]   Downloaded cc v1.2.9
[INFO] [stderr]   Downloaded trim-in-place v0.1.7
[INFO] [stderr]   Downloaded mimalloc v0.1.43
[INFO] [stderr]   Downloaded cmake v0.1.52
[INFO] [stderr]   Downloaded structmeta-derive v0.3.0
[INFO] [stderr]   Downloaded sqlmo v0.22.7
[INFO] [stderr]   Downloaded pem v3.0.4
[INFO] [stderr]   Downloaded salvo-proxy v0.75.0
[INFO] [stderr]   Downloaded rust-embed-impl v8.5.0
[INFO] [stderr]   Downloaded rust-embed-utils v8.5.0
[INFO] [stderr]   Downloaded xml-rs v0.8.25
[INFO] [stderr]   Downloaded serialport v4.6.1
[INFO] [stderr]   Downloaded prost-derive v0.13.4
[INFO] [stderr]   Downloaded tracing-appender v0.2.3
[INFO] [stderr]   Downloaded borsh-derive v1.5.3
[INFO] [stderr]   Downloaded byte-unit v5.1.6
[INFO] [stderr]   Downloaded security-framework-sys v2.14.0
[INFO] [stderr]   Downloaded bytemuck v1.21.0
[INFO] [stderr]   Downloaded tauri-runtime-wry v2.3.0
[INFO] [stderr]   Downloaded webview2-com v0.34.0
[INFO] [stderr]   Downloaded mime-infer v3.0.0
[INFO] [stderr]   Downloaded tungstenite v0.26.1
[INFO] [stderr]   Downloaded salvo_extra v0.75.0
[INFO] [stderr]   Downloaded unescaper v0.1.5
[INFO] [stderr]   Downloaded async-trait v0.1.85
[INFO] [stderr]   Downloaded tracing-serde v0.2.0
[INFO] [stderr]   Downloaded tokio-rustls v0.26.1
[INFO] [stderr]   Downloaded hyper-rustls v0.27.5
[INFO] [stderr]   Downloaded tao v0.31.1
[INFO] [stderr]   Downloaded rustls-pki-types v1.10.1
[INFO] [stderr]   Downloaded serialize-to-javascript v0.1.1
[INFO] [stderr]   Downloaded tauri-winres v0.1.1
[INFO] [stderr]   Downloaded tauri-build v2.0.5
[INFO] [stderr]   Downloaded anyhow v1.0.95
[INFO] [stderr]   Downloaded json-patch v3.0.1
[INFO] [stderr]   Downloaded schemars v0.8.21
[INFO] [stderr]   Downloaded swift-rs v1.0.7
[INFO] [stderr]   Downloaded ulid v1.1.4
[INFO] [stderr]   Downloaded sqlx-macros-core v0.8.3
[INFO] [stderr]   Downloaded pin-project-internal v1.1.8
[INFO] [stderr]   Downloaded android_logger v0.14.1
[INFO] [stderr]   Downloaded tinyvec v1.8.1
[INFO] [stderr]   Downloaded cargo_toml v0.21.0
[INFO] [stderr]   Downloaded typeid v1.0.2
[INFO] [stderr]   Downloaded windows-targets v0.53.0
[INFO] [stderr]   Downloaded erased-serde v0.4.5
[INFO] [stderr]   Downloaded serde-untagged v0.1.6
[INFO] [stderr]   Downloaded tauri-utils v2.1.1
[INFO] [stderr]   Downloaded sqlx-macros v0.8.3
[INFO] [stderr]   Downloaded multimap v0.10.0
[INFO] [stderr]   Downloaded prost v0.13.4
[INFO] [stderr]   Downloaded borsh v1.5.3
[INFO] [stderr]   Downloaded tauri-plugin-log v2.2.0
[INFO] [stderr]   Downloaded embed_plist v1.2.2
[INFO] [stderr]   Downloaded cargo_metadata v0.19.1
[INFO] [stderr]   Downloaded bitflags v2.7.0
[INFO] [stderr]   Downloaded serialize-to-javascript-impl v0.1.1
[INFO] [stderr]   Downloaded embed-resource v2.5.1
[INFO] [stderr]   Downloaded tauri-codegen v2.0.4
[INFO] [stderr]   Downloaded tauri-macros v2.0.4
[INFO] [stderr]   Downloaded tauri-runtime v2.3.0
[INFO] [stderr]   Downloaded ctor v0.2.9
[INFO] [stderr]   Downloaded serde_with_macros v3.12.0
[INFO] [stderr]   Downloaded urlpattern v0.3.0
[INFO] [stderr]   Downloaded uuid v1.11.1
[INFO] [stderr]   Downloaded schemars_derive v0.8.21
[INFO] [stderr]   Downloaded windows-version v0.1.2
[INFO] [stderr]   Downloaded webview2-com-sys v0.34.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6ba55e7768dc6e2c8930ef0894d9b8a7d396c9bb285129173b9e9cabf371fe74
[INFO] running `Command { std: "docker" "start" "-a" "6ba55e7768dc6e2c8930ef0894d9b8a7d396c9bb285129173b9e9cabf371fe74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6ba55e7768dc6e2c8930ef0894d9b8a7d396c9bb285129173b9e9cabf371fe74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ba55e7768dc6e2c8930ef0894d9b8a7d396c9bb285129173b9e9cabf371fe74", kill_on_drop: false }`
[INFO] [stdout] 6ba55e7768dc6e2c8930ef0894d9b8a7d396c9bb285129173b9e9cabf371fe74
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4d33dbef5a1e8e76961b753205d8636f411289be4a69801515a1d06aab577b57
[INFO] running `Command { std: "docker" "start" "-a" "4d33dbef5a1e8e76961b753205d8636f411289be4a69801515a1d06aab577b57", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/admin/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling bytes v1.9.0
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]    Compiling cc v1.2.9
[INFO] [stderr]    Compiling foldhash v0.1.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling cpufeatures v0.2.16
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling ryu v1.0.18
[INFO] [stderr]    Compiling thiserror v2.0.11
[INFO] [stderr]    Compiling serde_json v1.0.135
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling rustls-pki-types v1.10.1
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling socket2 v0.5.8
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling anyhow v1.0.95
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling writeable v0.5.5
[INFO] [stderr]    Compiling litemap v0.7.4
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.0
[INFO] [stderr]    Compiling rustix v0.38.43
[INFO] [stderr]    Compiling http v1.2.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling icu_properties_data v1.5.0
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling write16 v1.0.0
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.0
[INFO] [stderr]    Compiling utf16_iter v1.0.5
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling iana-time-zone v0.1.61
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling time-macros v0.2.19
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling bitflags v2.7.0
[INFO] [stderr]    Compiling rustls v0.23.21
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling crc v3.2.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling webpki-roots v0.26.7
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling tokio v1.43.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.11
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling zerofrom v0.1.5
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.85
[INFO] [stderr]    Compiling rustls-webpki v0.102.8
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tempfile v3.15.0
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling http-body-util v0.1.2
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling indexmap v2.7.0
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling tokio-util v0.7.13
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling deranged v0.3.11
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling h2 v0.4.7
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling time v0.3.37
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling crc32fast v1.4.2
[INFO] [stderr]    Compiling adler2 v2.0.0
[INFO] [stderr]    Compiling winnow v0.6.24
[INFO] [stderr]    Compiling miniz_oxide v0.8.2
[INFO] [stderr]    Compiling event-listener v5.4.0
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling prost-derive v0.13.4
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling chrono v0.4.39
[INFO] [stderr]    Compiling hyper v1.5.2
[INFO] [stderr]    Compiling pin-project-internal v1.1.8
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling hyper-util v0.1.10
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling inout v0.1.3
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling sqlx-core v0.8.3
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling pin-project v1.1.8
[INFO] [stderr]    Compiling flate2 v1.0.35
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling bstr v1.11.3
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling proc-macro-hack v0.5.20+deprecated
[INFO] [stderr]    Compiling polyval v0.6.2
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling ghash v0.5.1
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling toml_edit v0.22.22
[INFO] [stderr]    Compiling structmeta-derive v0.3.0
[INFO] [stderr]    Compiling mime-infer v3.0.0
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling aes-gcm v0.10.3
[INFO] [stderr]    Compiling proc-quote-impl v0.3.2
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling proc-macro-crate v3.2.0
[INFO] [stderr]    Compiling brotli-decompressor v2.5.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling tokio-rustls v0.26.1
[INFO] [stderr]    Compiling enumflags2_derive v0.7.10
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling sqlx-sqlite v0.8.3
[INFO] [stderr]    Compiling salvo-serde-util v0.75.0
[INFO] [stderr]    Compiling headers-core v0.3.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling multer v2.1.0
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling rustversion v1.0.19
[INFO] [stderr]    Compiling xml-rs v0.8.25
[INFO] [stderr]    Compiling salvo_macros v0.75.0
[INFO] [stderr]    Compiling sqlformat v0.2.6
[INFO] [stderr]    Compiling enumflags2 v0.7.10
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling serde-xml-rs v0.6.0
[INFO] [stderr]    Compiling proc-quote v0.4.0
[INFO] [stderr]    Compiling headers v0.4.0
[INFO] [stderr]    Compiling brotli v3.5.0
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.3
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling headers-core v0.2.0
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling multimap v0.10.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling sqlmo v0.22.7
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]    Compiling sqlx-macros v0.8.3
[INFO] [stderr]    Compiling base64 v0.12.3
[INFO] [stderr]    Compiling prettyplease v0.2.29
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling textnonce v1.0.0
[INFO] [stderr]    Compiling pest v2.7.15
[INFO] [stderr]    Compiling async-compression v0.3.15
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling salvo_core v0.75.0
[INFO] [stderr]    Compiling headers v0.3.9
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling salvo_macros v0.16.0
[INFO] [stderr]    Compiling globset v0.4.15
[INFO] [stderr]    Compiling prost v0.13.4
[INFO] [stderr]    Compiling multimap v0.8.3
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling prost-types v0.13.4
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling ignore v0.4.23
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling pest_meta v2.7.15
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling sqlx v0.8.3
[INFO] [stderr]    Compiling structmeta v0.3.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling salvo_core v0.16.8
[INFO] [stderr]    Compiling rust-embed-utils v8.5.0
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]    Compiling cmake v0.1.52
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling tungstenite v0.26.1
[INFO] [stderr]    Compiling prost-build v0.13.4
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling nng-sys v1.4.0-rc.0
[INFO] [stderr]    Compiling rust-embed-impl v8.5.0
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling salvo v0.16.8
[INFO] [stderr]    Compiling ormlite-attr v0.22.9
[INFO] [stderr]    Compiling pest_generator v2.7.15
[INFO] [stderr]    Compiling dlv-list v0.5.2
[INFO] [stderr]    Compiling matchers v0.1.0
[INFO] [stderr]    Compiling simple_asn1 v0.6.3
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling rustls-native-certs v0.8.1
[INFO] [stderr]    Compiling hyper-timeout v0.5.2
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling pem v3.0.4
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling serde_spanned v0.6.8
[INFO] [stderr]    Compiling sqlparser v0.51.0
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.39
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.8
[INFO] [stderr]    Compiling lockfree-object-pool v0.1.6
[INFO] [stderr]    Compiling str-buf v3.0.3
[INFO] [stderr]    Compiling zip v2.2.2
[INFO] [stderr]    Compiling bumpalo v3.16.0
[INFO] [stderr]    Compiling xxhash-rust v0.8.15
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling etag v4.0.0
[INFO] [stderr]    Compiling tonic v0.12.3
[INFO] [stderr]    Compiling zopfli v0.8.1
[INFO] [stderr]    Compiling rust-embed v8.5.0
[INFO] [stderr]    Compiling jsonwebtoken v9.3.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.5
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling ordered-multimap v0.7.3
[INFO] [stderr]    Compiling pest_derive v2.7.15
[INFO] [stderr]    Compiling tonic-build v0.12.3
[INFO] [stderr]    Compiling tokio-tungstenite v0.26.1
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling ulid v1.1.4
[INFO] [stderr]    Compiling crossbeam-channel v0.5.14
[INFO] [stderr]    Compiling arraydeque v0.5.1
[INFO] [stderr]    Compiling path-slash v0.2.1
[INFO] [stderr]    Compiling trim-in-place v0.1.7
[INFO] [stderr]    Compiling console-api v0.8.1
[INFO] [stderr]    Compiling rust-ini v0.21.1
[INFO] [stderr]    Compiling admin v0.1.0 (/opt/rustwide/workdir/admin)
[INFO] [stderr]    Compiling salvo-serve-static v0.75.0
[INFO] [stderr]    Compiling yaml-rust2 v0.9.0
[INFO] [stderr]    Compiling salvo_extra v0.75.0
[INFO] [stderr]    Compiling json5 v0.4.1
[INFO] [stderr]    Compiling ormlite-core v0.22.9
[INFO] [stderr]    Compiling libudev v0.3.0
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling toml v0.8.19
[INFO] [stderr]    Compiling salvo-jwt-auth v0.75.0
[INFO] [stderr]    Compiling salvo-cors v0.75.0
[INFO] [stderr]    Compiling nix v0.26.4
[INFO] [stderr]    Compiling hdrhistogram v7.5.4
[INFO] [stderr]    Compiling ron v0.8.1
[INFO] [stderr]    Compiling unescaper v0.1.5
[INFO] [stderr]    Compiling utoipa-gen v5.3.1
[INFO] [stderr]    Compiling codepage v0.1.2
[INFO] [stderr]    Compiling quick-xml v0.31.0
[INFO] [stderr]    Compiling ipnet v2.10.1
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling console-subscriber v0.4.1
[INFO] [stderr]    Compiling reqwest v0.12.12
[INFO] [stderr]    Compiling calamine v0.26.1
[INFO] [stderr]    Compiling ormlite-macro v0.22.9
[INFO] [stderr]    Compiling config v0.15.5
[INFO] [stderr]    Compiling serialport v4.6.1
[INFO] [stderr]    Compiling ormlite v0.22.9
[INFO] [stderr]    Compiling salvo v0.75.0
[INFO] [stderr]    Compiling mimalloc v0.1.43
[INFO] [stderr]    Compiling tracing-appender v0.2.3
[INFO] [stderr]    Compiling macros v0.1.0 (/opt/rustwide/workdir/macros)
[INFO] [stdout] warning: function `optional` is never used
[INFO] [stdout]  --> macros/src/optional.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn optional(input: TokenStream) -> TokenStream {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_option` is never used
[INFO] [stdout]   --> macros/src/optional.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn is_option(ty: &Type) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_struct` is never used
[INFO] [stdout]  --> macros/src/mapstruct.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn map_struct(arg: TokenStream, input: TokenStream) -> TokenStream {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `field_type` is never used
[INFO] [stdout]  --> macros/src/field_and_type.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn field_type(input: TokenStream) -> TokenStream {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Page` is never constructed
[INFO] [stdout]  --> macros/src/crud.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Page<T: Sync + Send> {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling quick-xml v0.37.2
[INFO] [stderr]    Compiling uuid v1.11.1
[INFO] [stderr]    Compiling libloading v0.8.6
[INFO] [stderr]    Compiling utoipa v5.3.1
[INFO] [stderr]    Compiling nng v1.0.1
[INFO] [stdout] warning: unused import: `config::app_config::EnvConfig`
[INFO] [stdout]  --> admin/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use config::app_config::EnvConfig;
[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: `sqlx::sqlite::SqliteQueryResult`
[INFO] [stdout]  --> admin/src/control/org_control.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sqlx::sqlite::SqliteQueryResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::sqlite::SqliteQueryResult`
[INFO] [stdout]  --> admin/src/service/org_service.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sqlx::sqlite::SqliteQueryResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `base64::alphabet::STANDARD`
[INFO] [stdout]  --> admin/src/wcferry/util/wcferry_util.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use base64::alphabet::STANDARD;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `base64::engine::GeneralPurpose`
[INFO] [stdout]  --> admin/src/wcferry/util/wcferry_util.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use base64::engine::GeneralPurpose;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/service/login_service.rs:15:47
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub async fn login(request: &mut Request, depot: &mut Depot) -> anyhow::Result<String> {
[INFO] [stdout]    |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/service/login_service.rs:70:48
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub async fn logout(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> admin/src/service/menu_service.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let result = menu.add_menu().await;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `role`
[INFO] [stdout]   --> admin/src/service/role_service.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let role = request
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_role`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/service/user_service.rs:68:50
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub async fn del_user(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/service/org_service.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         depot: &mut Depot,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> admin/src/service/org_service.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let db = SQLX.get().ok_or(anyhow::anyhow!("db error"))?;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/service/org_service.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         depot: &mut Depot,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/service/menu_service.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         depot: &mut Depot,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_service.rs:49:46
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub async fn page(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Page<WechatUser>> {
[INFO] [stdout]    |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_service.rs:36:48
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub async fn cursor(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Vec<WechatUser>> {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_service.rs:16:48
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub async fn import(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_service.rs:61:48
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub async fn insert(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_user_type_service.rs:44:46
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub async fn page(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Page<WechatUserType>> {
[INFO] [stdout]    |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_user_type_service.rs:14:48
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub async fn insert(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_user_type_service.rs:22:46
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub async fn edit(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_service.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub async fn export(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_service.rs:31:48
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub async fn export(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_user_type_service.rs:31:48
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub async fn cursor(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Vec<WechatUserType>> {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `std_error` is never used
[INFO] [stdout]   --> admin/src/config/api_config.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<T: Serialize + Send + Sync + Sized> ApiResult<T> {
[INFO] [stdout]    | ----------------------------------------------------- associated function in this implementation
[INFO] [stdout] 33 |     pub fn std_error(err: Box<dyn Error>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_url_exist` is never used
[INFO] [stdout]    --> admin/src/config/handler_config.rs:235:4
[INFO] [stdout]     |
[INFO] [stdout] 235 | fn is_url_exist(menus: &Vec<MenuVo>, url: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `config_tracing` is never used
[INFO] [stdout]  --> admin/src/config/log_config.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn config_tracing() -> anyhow::Result<()> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `query_page` is never used
[INFO] [stdout]   --> admin/src/entity/sys_menu.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl SysMenu {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 38 |     pub async fn query_page() -> anyhow::Result<Page<SysMenu>> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SysRoleMenu` is never constructed
[INFO] [stdout]  --> admin/src/entity/sys_role_menu.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct SysRoleMenu {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `query_by_user` is never used
[INFO] [stdout]   --> admin/src/entity/sys_user_role.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl SysUserRole {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 16 |     pub async fn query_by_user(user_id: Option<i64>) -> anyhow::Result<Option<SysUserRole>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExperimentTaskStatusEnum` is never used
[INFO] [stdout]   --> admin/src/entity/experiment_task.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum ExperimentTaskStatusEnum {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new`, `query_task_by_id`, and `query_task_page` are never used
[INFO] [stdout]   --> admin/src/entity/experiment_task.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl ExperimentTask {
[INFO] [stdout]    | ------------------- associated functions in this implementation
[INFO] [stdout] 49 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub async fn query_task_by_id(id: i64) -> anyhow::Result<Option<ExperimentTask>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub async fn query_task_page(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `org_id`, `user_id`, `user_name`, and `admin` are never read
[INFO] [stdout]   --> admin/src/service/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct ContextHolder {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 25 |     pub org_id: Option<i64>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 26 |     pub user_id: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 27 |     pub user_name: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 28 |     pub admin: AdminType,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContextHolder` 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 `menu_page` is never used
[INFO] [stdout]   --> admin/src/service/menu_service.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl MenuService {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub async fn menu_page(
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `snake_case` is never used
[INFO] [stdout]  --> admin/src/util/snake.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn snake_case(s: &str) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HttpClient` is never constructed
[INFO] [stdout]   --> admin/src/util/request.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct HttpClient {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `builder`, `post`, `post_entry`, `post_betyes`, `get_entry`, and `get` are never used
[INFO] [stdout]   --> admin/src/util/request.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl HttpClient {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn builder( ) -> anyhow::Result<HttpClient> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub async fn post<T: Serialize + ?Sized>(
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub async fn post_entry<T: Serialize + ?Sized, R: DeserializeOwned>(
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub async fn post_betyes(&self, url: &str, body: Bytes) -> anyhow::Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub async fn get_entry<T: DeserializeOwned>(&self, url: &str) -> anyhow::Result<T> {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub async fn get(&self, url: &str) -> anyhow::Result<String> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserRolesMenusVo` is never constructed
[INFO] [stdout]   --> admin/src/vo/login_vo.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct UserRolesMenusVo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SysMenuPageReq` is never constructed
[INFO] [stdout]  --> admin/src/vo/sys_menu_vo.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct SysMenuPageReq {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SysRolePageReq` is never constructed
[INFO] [stdout]  --> admin/src/vo/sys_role_vo.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SysRolePageReq {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddRoleReq` is never constructed
[INFO] [stdout]   --> admin/src/vo/sys_role_vo.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct AddRoleReq {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Asset` is never constructed
[INFO] [stdout]    --> admin/src/wcferry/mod.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | struct Asset;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Image` is never constructed
[INFO] [stdout]   --> admin/src/wcferry/util/wcferry_util.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Image {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FieldContent` is never used
[INFO] [stdout]   --> admin/src/wcferry/util/wcferry_util.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum FieldContent {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WcferryUtil` is never constructed
[INFO] [stdout]   --> admin/src/wcferry/util/wcferry_util.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct WcferryUtil {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> admin/src/wcferry/util/wcferry_util.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl WcferryUtil {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  44 |     pub fn new() -> anyhow::Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn is_login(&self) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn get_self_wxid(&self) -> anyhow::Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn get_user_info(&self) -> anyhow::Result<SelfInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn get_contacts(&self) -> anyhow::Result<RpcContacts> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn get_dbs(&self) -> anyhow::Result<DbNames> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn get_tables(&self, db: String) -> anyhow::Result<DbTables> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn get_msg_types(&self) -> anyhow::Result<MsgTypes> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn send_text(&self, text_msg: TextMsg) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn send_image(&self, path_msg: PathMsg) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn send_file(&self, path_msg: PathMsg) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn send_rich_text(&self, msg: RichText) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn send_pat_msg(&self, msg: PatMsg) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn forward_msg(&self, msg: ForwardMsg) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn save_audio(&self, msg: AudioMsg) -> anyhow::Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn save_image(&self, msg: Image) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn recv_transfer(&self, msg: Transfer) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn query_sql(&self, msg: DbQuery) -> anyhow::Result<Vec<HashMap<String, FieldContent>>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn accept_new_friend(&self, msg: Verification) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn add_chatroom_member(&self, msg: MemberMgmt) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn invite_chatroom_member(&self, msg: MemberMgmt) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn delete_chatroom_member(&self, msg: MemberMgmt) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn revoke_msg(&self, id: u64) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn query_room_member(&self, room_id: String) -> anyhow::Result<Option<Vec<RoomMember>>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn refresh_pyq(&self, id: u64) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WechatUserRequestVo` is never constructed
[INFO] [stdout]  --> admin/src/wechat/vo/mod.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct WechatUserRequestVo {}
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `import`, `export`, and `insert` are never used
[INFO] [stdout]   --> admin/src/wechat/service/wechat_service.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl WechatUserService {
[INFO] [stdout]    | ---------------------- associated functions in this implementation
[INFO] [stdout] 16 |     pub async fn import(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn export(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub async fn insert(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WechatUserTypeService` is never constructed
[INFO] [stdout]   --> admin/src/wechat/service/wechat_user_type_service.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct WechatUserTypeService {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `insert`, `edit`, `cursor`, and `page` are never used
[INFO] [stdout]   --> admin/src/wechat/service/wechat_user_type_service.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl WechatUserTypeService {
[INFO] [stdout]    | -------------------------- associated functions in this implementation
[INFO] [stdout] 14 |     pub async fn insert(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub async fn edit(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn cursor(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Vec<WechatUserType>> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub async fn page(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Page<WechatUserType>> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WechatUserType` is never constructed
[INFO] [stdout]  --> admin/src/wechat/entity/wechat_user_type.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct WechatUserType {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WechatUserTypePageReq` is never constructed
[INFO] [stdout]   --> admin/src/wechat/entity/wechat_user_type.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct WechatUserTypePageReq {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6m 54s
[INFO] running `Command { std: "docker" "inspect" "4d33dbef5a1e8e76961b753205d8636f411289be4a69801515a1d06aab577b57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d33dbef5a1e8e76961b753205d8636f411289be4a69801515a1d06aab577b57", kill_on_drop: false }`
[INFO] [stdout] 4d33dbef5a1e8e76961b753205d8636f411289be4a69801515a1d06aab577b57
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 865dcf41d80263eae88917ddd9e72d92fa8ab86615ab3c70ceff75ab59a96681
[INFO] running `Command { std: "docker" "start" "-a" "865dcf41d80263eae88917ddd9e72d92fa8ab86615ab3c70ceff75ab59a96681", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/admin/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stdout] warning: function `optional` is never used
[INFO] [stdout]  --> macros/src/optional.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn optional(input: TokenStream) -> TokenStream {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling admin v0.1.0 (/opt/rustwide/workdir/admin)
[INFO] [stdout] warning: function `is_option` is never used
[INFO] [stdout]   --> macros/src/optional.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn is_option(ty: &Type) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_struct` is never used
[INFO] [stdout]  --> macros/src/mapstruct.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn map_struct(arg: TokenStream, input: TokenStream) -> TokenStream {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `field_type` is never used
[INFO] [stdout]  --> macros/src/field_and_type.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn field_type(input: TokenStream) -> TokenStream {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Page` is never constructed
[INFO] [stdout]  --> macros/src/crud.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Page<T: Sync + Send> {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `config::app_config::EnvConfig`
[INFO] [stdout]  --> admin/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use config::app_config::EnvConfig;
[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: `sqlx::sqlite::SqliteQueryResult`
[INFO] [stdout]  --> admin/src/control/org_control.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sqlx::sqlite::SqliteQueryResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::sqlite::SqliteQueryResult`
[INFO] [stdout]  --> admin/src/service/org_service.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sqlx::sqlite::SqliteQueryResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `base64::alphabet::STANDARD`
[INFO] [stdout]  --> admin/src/wcferry/util/wcferry_util.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use base64::alphabet::STANDARD;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `base64::engine::GeneralPurpose`
[INFO] [stdout]  --> admin/src/wcferry/util/wcferry_util.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use base64::engine::GeneralPurpose;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/service/login_service.rs:15:47
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub async fn login(request: &mut Request, depot: &mut Depot) -> anyhow::Result<String> {
[INFO] [stdout]    |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/service/login_service.rs:70:48
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub async fn logout(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> admin/src/service/menu_service.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let result = menu.add_menu().await;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `role`
[INFO] [stdout]   --> admin/src/service/role_service.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let role = request
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_role`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/service/user_service.rs:68:50
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub async fn del_user(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/service/org_service.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         depot: &mut Depot,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db`
[INFO] [stdout]   --> admin/src/service/org_service.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let db = SQLX.get().ok_or(anyhow::anyhow!("db error"))?;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/service/org_service.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         depot: &mut Depot,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/service/menu_service.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         depot: &mut Depot,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_service.rs:49:46
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub async fn page(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Page<WechatUser>> {
[INFO] [stdout]    |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_service.rs:36:48
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub async fn cursor(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Vec<WechatUser>> {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_service.rs:16:48
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub async fn import(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_service.rs:61:48
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub async fn insert(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_user_type_service.rs:44:46
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub async fn page(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Page<WechatUserType>> {
[INFO] [stdout]    |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_user_type_service.rs:14:48
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub async fn insert(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_user_type_service.rs:22:46
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub async fn edit(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_service.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub async fn export(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_service.rs:31:48
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub async fn export(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> admin/src/wechat/service/wechat_user_type_service.rs:31:48
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub async fn cursor(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Vec<WechatUserType>> {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `std_error` is never used
[INFO] [stdout]   --> admin/src/config/api_config.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<T: Serialize + Send + Sync + Sized> ApiResult<T> {
[INFO] [stdout]    | ----------------------------------------------------- associated function in this implementation
[INFO] [stdout] 33 |     pub fn std_error(err: Box<dyn Error>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_url_exist` is never used
[INFO] [stdout]    --> admin/src/config/handler_config.rs:235:4
[INFO] [stdout]     |
[INFO] [stdout] 235 | fn is_url_exist(menus: &Vec<MenuVo>, url: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `config_tracing` is never used
[INFO] [stdout]  --> admin/src/config/log_config.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn config_tracing() -> anyhow::Result<()> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `query_page` is never used
[INFO] [stdout]   --> admin/src/entity/sys_menu.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl SysMenu {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 38 |     pub async fn query_page() -> anyhow::Result<Page<SysMenu>> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SysRoleMenu` is never constructed
[INFO] [stdout]  --> admin/src/entity/sys_role_menu.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct SysRoleMenu {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `query_by_user` is never used
[INFO] [stdout]   --> admin/src/entity/sys_user_role.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl SysUserRole {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 16 |     pub async fn query_by_user(user_id: Option<i64>) -> anyhow::Result<Option<SysUserRole>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExperimentTaskStatusEnum` is never used
[INFO] [stdout]   --> admin/src/entity/experiment_task.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum ExperimentTaskStatusEnum {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new`, `query_task_by_id`, and `query_task_page` are never used
[INFO] [stdout]   --> admin/src/entity/experiment_task.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl ExperimentTask {
[INFO] [stdout]    | ------------------- associated functions in this implementation
[INFO] [stdout] 49 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub async fn query_task_by_id(id: i64) -> anyhow::Result<Option<ExperimentTask>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub async fn query_task_page(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `org_id`, `user_id`, `user_name`, and `admin` are never read
[INFO] [stdout]   --> admin/src/service/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct ContextHolder {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 25 |     pub org_id: Option<i64>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 26 |     pub user_id: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 27 |     pub user_name: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 28 |     pub admin: AdminType,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContextHolder` 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 `menu_page` is never used
[INFO] [stdout]   --> admin/src/service/menu_service.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl MenuService {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub async fn menu_page(
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `snake_case` is never used
[INFO] [stdout]  --> admin/src/util/snake.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn snake_case(s: &str) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HttpClient` is never constructed
[INFO] [stdout]   --> admin/src/util/request.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct HttpClient {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `builder`, `post`, `post_entry`, `post_betyes`, `get_entry`, and `get` are never used
[INFO] [stdout]   --> admin/src/util/request.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl HttpClient {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn builder( ) -> anyhow::Result<HttpClient> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub async fn post<T: Serialize + ?Sized>(
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub async fn post_entry<T: Serialize + ?Sized, R: DeserializeOwned>(
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub async fn post_betyes(&self, url: &str, body: Bytes) -> anyhow::Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub async fn get_entry<T: DeserializeOwned>(&self, url: &str) -> anyhow::Result<T> {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub async fn get(&self, url: &str) -> anyhow::Result<String> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserRolesMenusVo` is never constructed
[INFO] [stdout]   --> admin/src/vo/login_vo.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct UserRolesMenusVo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SysMenuPageReq` is never constructed
[INFO] [stdout]  --> admin/src/vo/sys_menu_vo.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct SysMenuPageReq {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SysRolePageReq` is never constructed
[INFO] [stdout]  --> admin/src/vo/sys_role_vo.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SysRolePageReq {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddRoleReq` is never constructed
[INFO] [stdout]   --> admin/src/vo/sys_role_vo.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct AddRoleReq {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Asset` is never constructed
[INFO] [stdout]    --> admin/src/wcferry/mod.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | struct Asset;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Image` is never constructed
[INFO] [stdout]   --> admin/src/wcferry/util/wcferry_util.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Image {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FieldContent` is never used
[INFO] [stdout]   --> admin/src/wcferry/util/wcferry_util.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum FieldContent {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WcferryUtil` is never constructed
[INFO] [stdout]   --> admin/src/wcferry/util/wcferry_util.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct WcferryUtil {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> admin/src/wcferry/util/wcferry_util.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl WcferryUtil {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  44 |     pub fn new() -> anyhow::Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn is_login(&self) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn get_self_wxid(&self) -> anyhow::Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn get_user_info(&self) -> anyhow::Result<SelfInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn get_contacts(&self) -> anyhow::Result<RpcContacts> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn get_dbs(&self) -> anyhow::Result<DbNames> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn get_tables(&self, db: String) -> anyhow::Result<DbTables> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn get_msg_types(&self) -> anyhow::Result<MsgTypes> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn send_text(&self, text_msg: TextMsg) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn send_image(&self, path_msg: PathMsg) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn send_file(&self, path_msg: PathMsg) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn send_rich_text(&self, msg: RichText) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn send_pat_msg(&self, msg: PatMsg) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn forward_msg(&self, msg: ForwardMsg) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn save_audio(&self, msg: AudioMsg) -> anyhow::Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn save_image(&self, msg: Image) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn recv_transfer(&self, msg: Transfer) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn query_sql(&self, msg: DbQuery) -> anyhow::Result<Vec<HashMap<String, FieldContent>>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn accept_new_friend(&self, msg: Verification) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn add_chatroom_member(&self, msg: MemberMgmt) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn invite_chatroom_member(&self, msg: MemberMgmt) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn delete_chatroom_member(&self, msg: MemberMgmt) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn revoke_msg(&self, id: u64) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn query_room_member(&self, room_id: String) -> anyhow::Result<Option<Vec<RoomMember>>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn refresh_pyq(&self, id: u64) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WechatUserRequestVo` is never constructed
[INFO] [stdout]  --> admin/src/wechat/vo/mod.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct WechatUserRequestVo {}
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `import`, `export`, and `insert` are never used
[INFO] [stdout]   --> admin/src/wechat/service/wechat_service.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl WechatUserService {
[INFO] [stdout]    | ---------------------- associated functions in this implementation
[INFO] [stdout] 16 |     pub async fn import(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn export(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub async fn insert(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WechatUserTypeService` is never constructed
[INFO] [stdout]   --> admin/src/wechat/service/wechat_user_type_service.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct WechatUserTypeService {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `insert`, `edit`, `cursor`, and `page` are never used
[INFO] [stdout]   --> admin/src/wechat/service/wechat_user_type_service.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl WechatUserTypeService {
[INFO] [stdout]    | -------------------------- associated functions in this implementation
[INFO] [stdout] 14 |     pub async fn insert(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub async fn edit(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn cursor(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Vec<WechatUserType>> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub async fn page(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Page<WechatUserType>> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WechatUserType` is never constructed
[INFO] [stdout]  --> admin/src/wechat/entity/wechat_user_type.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct WechatUserType {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WechatUserTypePageReq` is never constructed
[INFO] [stdout]   --> admin/src/wechat/entity/wechat_user_type.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct WechatUserTypePageReq {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 11.28s
[INFO] running `Command { std: "docker" "inspect" "865dcf41d80263eae88917ddd9e72d92fa8ab86615ab3c70ceff75ab59a96681", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "865dcf41d80263eae88917ddd9e72d92fa8ab86615ab3c70ceff75ab59a96681", kill_on_drop: false }`
[INFO] [stdout] 865dcf41d80263eae88917ddd9e72d92fa8ab86615ab3c70ceff75ab59a96681
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 45e4c7b4ff2f96e6bdd4311e9756532547a43cb5905006d61f84e241cd307b58
[INFO] running `Command { std: "docker" "start" "-a" "45e4c7b4ff2f96e6bdd4311e9756532547a43cb5905006d61f84e241cd307b58", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/admin/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: function `optional` is never used
[INFO] [stderr]  --> macros/src/optional.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn optional(input: TokenStream) -> TokenStream {
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_option` is never used
[INFO] [stderr]   --> macros/src/optional.rs:65:4
[INFO] [stderr]    |
[INFO] [stderr] 65 | fn is_option(ty: &Type) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `map_struct` is never used
[INFO] [stderr]  --> macros/src/mapstruct.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn map_struct(arg: TokenStream, input: TokenStream) -> TokenStream {
[INFO] [stderr]   |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `field_type` is never used
[INFO] [stderr]  --> macros/src/field_and_type.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn field_type(input: TokenStream) -> TokenStream {
[INFO] [stderr]   |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Page` is never constructed
[INFO] [stderr]  --> macros/src/crud.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | struct Page<T: Sync + Send> {
[INFO] [stderr]   |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `macros` (lib) generated 5 warnings
[INFO] [stderr] warning: unused import: `config::app_config::EnvConfig`
[INFO] [stderr]  --> admin/src/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use config::app_config::EnvConfig;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sqlx::sqlite::SqliteQueryResult`
[INFO] [stderr]  --> admin/src/control/org_control.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use sqlx::sqlite::SqliteQueryResult;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sqlx::sqlite::SqliteQueryResult`
[INFO] [stderr]  --> admin/src/service/org_service.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use sqlx::sqlite::SqliteQueryResult;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `base64::alphabet::STANDARD`
[INFO] [stderr]  --> admin/src/wcferry/util/wcferry_util.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use base64::alphabet::STANDARD;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `base64::engine::GeneralPurpose`
[INFO] [stderr]  --> admin/src/wcferry/util/wcferry_util.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use base64::engine::GeneralPurpose;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> admin/src/service/login_service.rs:15:47
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub async fn login(request: &mut Request, depot: &mut Depot) -> anyhow::Result<String> {
[INFO] [stderr]    |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> admin/src/service/login_service.rs:70:48
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub async fn logout(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stderr]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `result`
[INFO] [stderr]   --> admin/src/service/menu_service.rs:25:13
[INFO] [stderr]    |
[INFO] [stderr] 25 |         let result = menu.add_menu().await;
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `role`
[INFO] [stderr]   --> admin/src/service/role_service.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |         let role = request
[INFO] [stderr]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_role`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> admin/src/service/user_service.rs:68:50
[INFO] [stderr]    |
[INFO] [stderr] 68 |     pub async fn del_user(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stderr]    |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> admin/src/service/org_service.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |         depot: &mut Depot,
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `db`
[INFO] [stderr]   --> admin/src/service/org_service.rs:17:13
[INFO] [stderr]    |
[INFO] [stderr] 17 |         let db = SQLX.get().ok_or(anyhow::anyhow!("db error"))?;
[INFO] [stderr]    |             ^^ help: if this is intentional, prefix it with an underscore: `_db`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> admin/src/service/org_service.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |         depot: &mut Depot,
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> admin/src/service/menu_service.rs:41:9
[INFO] [stderr]    |
[INFO] [stderr] 41 |         depot: &mut Depot,
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> admin/src/wechat/service/wechat_service.rs:49:46
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub async fn page(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Page<WechatUser>> {
[INFO] [stderr]    |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> admin/src/wechat/service/wechat_service.rs:36:48
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub async fn cursor(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Vec<WechatUser>> {
[INFO] [stderr]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> admin/src/wechat/service/wechat_service.rs:16:48
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub async fn import(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stderr]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> admin/src/wechat/service/wechat_service.rs:61:48
[INFO] [stderr]    |
[INFO] [stderr] 61 |     pub async fn insert(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stderr]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> admin/src/wechat/service/wechat_user_type_service.rs:44:46
[INFO] [stderr]    |
[INFO] [stderr] 44 |     pub async fn page(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Page<WechatUserType>> {
[INFO] [stderr]    |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> admin/src/wechat/service/wechat_user_type_service.rs:14:48
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub async fn insert(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stderr]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> admin/src/wechat/service/wechat_user_type_service.rs:22:46
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub async fn edit(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stderr]    |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `request`
[INFO] [stderr]   --> admin/src/wechat/service/wechat_service.rs:31:25
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub async fn export(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stderr]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> admin/src/wechat/service/wechat_service.rs:31:48
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub async fn export(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stderr]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> admin/src/wechat/service/wechat_user_type_service.rs:31:48
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub async fn cursor(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Vec<WechatUserType>> {
[INFO] [stderr]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `std_error` is never used
[INFO] [stderr]   --> admin/src/config/api_config.rs:33:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl<T: Serialize + Send + Sync + Sized> ApiResult<T> {
[INFO] [stderr]    | ----------------------------------------------------- associated function in this implementation
[INFO] [stderr] 33 |     pub fn std_error(err: Box<dyn Error>) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_url_exist` is never used
[INFO] [stderr]    --> admin/src/config/handler_config.rs:235:4
[INFO] [stderr]     |
[INFO] [stderr] 235 | fn is_url_exist(menus: &Vec<MenuVo>, url: &str) -> bool {
[INFO] [stderr]     |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `config_tracing` is never used
[INFO] [stderr]  --> admin/src/config/log_config.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn config_tracing() -> anyhow::Result<()> {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `query_page` is never used
[INFO] [stderr]   --> admin/src/entity/sys_menu.rs:38:18
[INFO] [stderr]    |
[INFO] [stderr] 37 | impl SysMenu {
[INFO] [stderr]    | ------------ associated function in this implementation
[INFO] [stderr] 38 |     pub async fn query_page() -> anyhow::Result<Page<SysMenu>> {
[INFO] [stderr]    |                  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SysRoleMenu` is never constructed
[INFO] [stderr]  --> admin/src/entity/sys_role_menu.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct SysRoleMenu {
[INFO] [stderr]   |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `query_by_user` is never used
[INFO] [stderr]   --> admin/src/entity/sys_user_role.rs:16:18
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl SysUserRole {
[INFO] [stderr]    | ---------------- associated function in this implementation
[INFO] [stderr] 16 |     pub async fn query_by_user(user_id: Option<i64>) -> anyhow::Result<Option<SysUserRole>> {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ExperimentTaskStatusEnum` is never used
[INFO] [stderr]   --> admin/src/entity/experiment_task.rs:14:10
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub enum ExperimentTaskStatusEnum {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `new`, `query_task_by_id`, and `query_task_page` are never used
[INFO] [stderr]   --> admin/src/entity/experiment_task.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 48 | impl ExperimentTask {
[INFO] [stderr]    | ------------------- associated functions in this implementation
[INFO] [stderr] 49 |     pub fn new(
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub async fn query_task_by_id(id: i64) -> anyhow::Result<Option<ExperimentTask>> {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 86 |     pub async fn query_task_page(
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `org_id`, `user_id`, `user_name`, and `admin` are never read
[INFO] [stderr]   --> admin/src/service/mod.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub struct ContextHolder {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] 25 |     pub org_id: Option<i64>,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 26 |     pub user_id: Option<i64>,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 27 |     pub user_name: Option<String>,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 28 |     pub admin: AdminType,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ContextHolder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `menu_page` is never used
[INFO] [stderr]   --> admin/src/service/menu_service.rs:39:18
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl MenuService {
[INFO] [stderr]    | ---------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 39 |     pub async fn menu_page(
[INFO] [stderr]    |                  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `snake_case` is never used
[INFO] [stderr]  --> admin/src/util/snake.rs:2:8
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub fn snake_case(s: &str) -> String {
[INFO] [stderr]   |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `HttpClient` is never constructed
[INFO] [stderr]   --> admin/src/util/request.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct HttpClient {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `builder`, `post`, `post_entry`, `post_betyes`, `get_entry`, and `get` are never used
[INFO] [stderr]   --> admin/src/util/request.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl HttpClient {
[INFO] [stderr]    | --------------- associated items in this implementation
[INFO] [stderr] 16 |     pub fn builder( ) -> anyhow::Result<HttpClient> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     pub async fn post<T: Serialize + ?Sized>(
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub async fn post_entry<T: Serialize + ?Sized, R: DeserializeOwned>(
[INFO] [stderr]    |                  ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |     pub async fn post_betyes(&self, url: &str, body: Bytes) -> anyhow::Result<String> {
[INFO] [stderr]    |                  ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 68 |     pub async fn get_entry<T: DeserializeOwned>(&self, url: &str) -> anyhow::Result<T> {
[INFO] [stderr]    |                  ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 77 |     pub async fn get(&self, url: &str) -> anyhow::Result<String> {
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `UserRolesMenusVo` is never constructed
[INFO] [stderr]   --> admin/src/vo/login_vo.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct UserRolesMenusVo {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SysMenuPageReq` is never constructed
[INFO] [stderr]  --> admin/src/vo/sys_menu_vo.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct SysMenuPageReq {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SysRolePageReq` is never constructed
[INFO] [stderr]  --> admin/src/vo/sys_role_vo.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct SysRolePageReq {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AddRoleReq` is never constructed
[INFO] [stderr]   --> admin/src/vo/sys_role_vo.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct AddRoleReq {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Asset` is never constructed
[INFO] [stderr]    --> admin/src/wcferry/mod.rs:133:8
[INFO] [stderr]     |
[INFO] [stderr] 133 | struct Asset;
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Image` is never constructed
[INFO] [stderr]   --> admin/src/wcferry/util/wcferry_util.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct Image {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `FieldContent` is never used
[INFO] [stderr]   --> admin/src/wcferry/util/wcferry_util.rs:31:10
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub enum FieldContent {
[INFO] [stderr]    |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WcferryUtil` is never constructed
[INFO] [stderr]   --> admin/src/wcferry/util/wcferry_util.rs:39:12
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub struct WcferryUtil {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> admin/src/wcferry/util/wcferry_util.rs:44:12
[INFO] [stderr]     |
[INFO] [stderr]  43 | impl WcferryUtil {
[INFO] [stderr]     | ---------------- associated items in this implementation
[INFO] [stderr]  44 |     pub fn new() -> anyhow::Result<Self> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  52 |     pub fn is_login(&self) -> anyhow::Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  57 |     pub fn get_self_wxid(&self) -> anyhow::Result<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  62 |     pub fn get_user_info(&self) -> anyhow::Result<SelfInfo> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  67 |     pub fn get_contacts(&self) -> anyhow::Result<RpcContacts> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  72 |     pub fn get_dbs(&self) -> anyhow::Result<DbNames> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  77 |     pub fn get_tables(&self, db: String) -> anyhow::Result<DbTables> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  82 |     pub fn get_msg_types(&self) -> anyhow::Result<MsgTypes> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  87 |     pub fn send_text(&self, text_msg: TextMsg) -> anyhow::Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  92 |     pub fn send_image(&self, path_msg: PathMsg) -> anyhow::Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  97 |     pub fn send_file(&self, path_msg: PathMsg) -> anyhow::Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 102 |     pub fn send_rich_text(&self, msg: RichText) -> anyhow::Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 107 |     pub fn send_pat_msg(&self, msg: PatMsg) -> anyhow::Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 112 |     pub fn forward_msg(&self, msg: ForwardMsg) -> anyhow::Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 117 |     pub fn save_audio(&self, msg: AudioMsg) -> anyhow::Result<String> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 122 |     pub fn save_image(&self, msg: Image) -> anyhow::Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 143 |     pub fn recv_transfer(&self, msg: Transfer) -> anyhow::Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 148 |     pub fn query_sql(&self, msg: DbQuery) -> anyhow::Result<Vec<HashMap<String, FieldContent>>> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 182 |     pub fn accept_new_friend(&self, msg: Verification) -> anyhow::Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 187 |     pub fn add_chatroom_member(&self, msg: MemberMgmt) -> anyhow::Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 192 |     pub fn invite_chatroom_member(&self, msg: MemberMgmt) -> anyhow::Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 197 |     pub fn delete_chatroom_member(&self, msg: MemberMgmt) -> anyhow::Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 202 |     pub fn revoke_msg(&self, id: u64) -> anyhow::Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 207 |     pub fn query_room_member(&self, room_id: String) -> anyhow::Result<Option<Vec<RoomMember>>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 212 |     pub fn refresh_pyq(&self, id: u64) -> anyhow::Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WechatUserRequestVo` is never constructed
[INFO] [stderr]  --> admin/src/wechat/vo/mod.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct WechatUserRequestVo {}
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `import`, `export`, and `insert` are never used
[INFO] [stderr]   --> admin/src/wechat/service/wechat_service.rs:16:18
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl WechatUserService {
[INFO] [stderr]    | ---------------------- associated functions in this implementation
[INFO] [stderr] 16 |     pub async fn import(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stderr]    |                  ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub async fn export(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stderr]    |                  ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 61 |     pub async fn insert(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stderr]    |                  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WechatUserTypeService` is never constructed
[INFO] [stderr]   --> admin/src/wechat/service/wechat_user_type_service.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct WechatUserTypeService {}
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `insert`, `edit`, `cursor`, and `page` are never used
[INFO] [stderr]   --> admin/src/wechat/service/wechat_user_type_service.rs:14:18
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl WechatUserTypeService {
[INFO] [stderr]    | -------------------------- associated functions in this implementation
[INFO] [stderr] 14 |     pub async fn insert(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stderr]    |                  ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 22 |     pub async fn edit(request: &mut Request, depot: &mut Depot) -> anyhow::Result<()> {
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub async fn cursor(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Vec<WechatUserType>> {
[INFO] [stderr]    |                  ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub async fn page(request: &mut Request, depot: &mut Depot) -> anyhow::Result<Page<WechatUserType>> {
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WechatUserType` is never constructed
[INFO] [stderr]  --> admin/src/wechat/entity/wechat_user_type.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct WechatUserType {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WechatUserTypePageReq` is never constructed
[INFO] [stderr]   --> admin/src/wechat/entity/wechat_user_type.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct WechatUserTypePageReq {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `admin` (bin "admin" test) generated 52 warnings (run `cargo fix --bin "admin" -p admin --tests` to apply 24 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.63s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/admin-edcc40ab0eeff78b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "45e4c7b4ff2f96e6bdd4311e9756532547a43cb5905006d61f84e241cd307b58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "45e4c7b4ff2f96e6bdd4311e9756532547a43cb5905006d61f84e241cd307b58", kill_on_drop: false }`
[INFO] [stdout] 45e4c7b4ff2f96e6bdd4311e9756532547a43cb5905006d61f84e241cd307b58
