[INFO] cloning repository https://github.com/itachilee/ratatui_weather [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/itachilee/ratatui_weather" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitachilee%2Fratatui_weather", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitachilee%2Fratatui_weather'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a136149851e7ad27bf5682a49574bd723d7cd700 [INFO] testing itachilee/ratatui_weather against try#2440211fe03bc45c89b6dc1a3df18382ce91e32b for pr-146098-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitachilee%2Fratatui_weather" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/itachilee/ratatui_weather [INFO] finished tweaking git repo https://github.com/itachilee/ratatui_weather [INFO] tweaked toml for git repo https://github.com/itachilee/ratatui_weather written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/itachilee/ratatui_weather on toolchain 2440211fe03bc45c89b6dc1a3df18382ce91e32b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/itachilee/ratatui_weather 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" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3b8c8ced2ca460f8b41190a98e1ec5dad8fec55bcbee234f8a275bf5a3d15222 [INFO] running `Command { std: "docker" "start" "-a" "3b8c8ced2ca460f8b41190a98e1ec5dad8fec55bcbee234f8a275bf5a3d15222", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3b8c8ced2ca460f8b41190a98e1ec5dad8fec55bcbee234f8a275bf5a3d15222", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3b8c8ced2ca460f8b41190a98e1ec5dad8fec55bcbee234f8a275bf5a3d15222", kill_on_drop: false }` [INFO] [stdout] 3b8c8ced2ca460f8b41190a98e1ec5dad8fec55bcbee234f8a275bf5a3d15222 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7644f4606be1d417900ce60100a38654346d14461915183643ca91c0b37f2e22 [INFO] running `Command { std: "docker" "start" "-a" "7644f4606be1d417900ce60100a38654346d14461915183643ca91c0b37f2e22", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling log v0.4.25 [INFO] [stderr] Compiling bytes v1.10.0 [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling siphasher v0.3.11 [INFO] [stderr] Compiling serde v1.0.217 [INFO] [stderr] Compiling bitflags v2.5.0 [INFO] [stderr] Compiling litemap v0.7.3 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling httparse v1.9.3 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling time-core v0.1.2 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Compiling phf_shared v0.10.0 [INFO] [stderr] Compiling miniz_oxide v0.8.3 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling time-macros v0.2.18 [INFO] [stderr] Compiling crc32fast v1.4.2 [INFO] [stderr] Compiling serde_json v1.0.138 [INFO] [stderr] Compiling deranged v0.3.11 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Compiling new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling phf_shared v0.11.2 [INFO] [stderr] Compiling alloc-no-stdlib v2.0.4 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Compiling semver v1.0.25 [INFO] [stderr] Compiling local-waker v0.1.4 [INFO] [stderr] Compiling zstd-safe v7.2.1 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Compiling alloc-stdlib v0.2.2 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling http v1.1.0 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling unicode-normalization v0.1.23 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling syn v2.0.96 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Compiling socket2 v0.5.7 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling cc v1.2.12 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling flate2 v1.0.35 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling cookie v0.18.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling http-body v1.0.0 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling getrandom v0.3.1 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling mac v0.1.1 [INFO] [stderr] Compiling zerocopy v0.8.16 [INFO] [stderr] Compiling unicode-bidi v0.3.15 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling regex-lite v0.1.6 [INFO] [stderr] Compiling time v0.3.36 [INFO] [stderr] Compiling futf v0.1.5 [INFO] [stderr] Compiling idna v0.3.0 [INFO] [stderr] Compiling phf_generator v0.10.0 [INFO] [stderr] Compiling phf_generator v0.11.2 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling phf_codegen v0.10.0 [INFO] [stderr] Compiling string_cache_codegen v0.5.2 [INFO] [stderr] Compiling bytestring v1.4.0 [INFO] [stderr] Compiling indexmap v2.2.6 [INFO] [stderr] Compiling brotli-decompressor v4.0.2 [INFO] [stderr] Compiling actix-utils v3.0.1 [INFO] [stderr] Compiling actix-service v2.0.2 [INFO] [stderr] Compiling phf v0.10.1 [INFO] [stderr] Compiling cookie v0.16.2 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling psl-types v2.0.11 [INFO] [stderr] Compiling either v1.12.0 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling litrs v0.4.1 [INFO] [stderr] Compiling markup5ever v0.11.0 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Compiling dtoa v1.0.9 [INFO] [stderr] Compiling openssl-sys v0.9.102 [INFO] [stderr] Compiling zstd-sys v2.0.13+zstd.1.5.6 [INFO] [stderr] Compiling dtoa-short v0.3.5 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling brotli v6.0.0 [INFO] [stderr] Compiling tendril v0.4.3 [INFO] [stderr] Compiling publicsuffix v2.2.3 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling selectors v0.25.0 [INFO] [stderr] Compiling openssl v0.10.64 [INFO] [stderr] Compiling document-features v0.2.10 [INFO] [stderr] Compiling local-channel v0.1.5 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling rustls-pki-types v1.11.0 [INFO] [stderr] Compiling language-tags v0.3.2 [INFO] [stderr] Compiling pq-sys v0.7.0 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling rustls-pemfile v2.1.2 [INFO] [stderr] Compiling signal-hook-mio v0.2.4 [INFO] [stderr] Compiling elasticsearch v8.17.0-alpha.1 [INFO] [stderr] Compiling rand_core v0.9.0 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling castaway v0.2.3 [INFO] [stderr] Compiling scheduled-thread-pool v0.2.7 [INFO] [stderr] Compiling servo_arc v0.3.0 [INFO] [stderr] Compiling iana-time-zone v0.1.61 [INFO] [stderr] Compiling impl-more v0.1.9 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling actix-router v0.5.3 [INFO] [stderr] Compiling diesel_table_macro_syntax v0.2.0 [INFO] [stderr] Compiling anstyle-query v1.1.1 [INFO] [stderr] Compiling indoc v2.0.5 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling anstream v0.6.15 [INFO] [stderr] Compiling r2d2 v0.8.10 [INFO] [stderr] Compiling env_filter v0.1.3 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling getopts v0.2.21 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling lru v0.12.3 [INFO] [stderr] Compiling combine v4.6.7 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling sha1_smol v1.0.0 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Compiling html5ever v0.26.0 [INFO] [stderr] Compiling unicode-truncate v1.0.0 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling ego-tree v0.6.2 [INFO] [stderr] Compiling humantime v2.1.0 [INFO] [stderr] Compiling xml-rs v0.8.25 [INFO] [stderr] Compiling dyn-clone v1.0.18 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling env_logger v0.11.6 [INFO] [stderr] Compiling rand v0.9.0 [INFO] [stderr] Compiling uuid v1.12.1 [INFO] [stderr] Compiling dotenv v0.15.0 [INFO] [stderr] Compiling urlencoding v2.1.3 [INFO] [stderr] Compiling zerofrom-derive v0.1.4 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling yoke-derive v0.7.4 [INFO] [stderr] Compiling serde_derive v1.0.217 [INFO] [stderr] Compiling zerovec-derive v0.10.2 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling displaydoc v0.2.4 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling tokio v1.43.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling phf_macros v0.11.2 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Compiling futures-util v0.3.30 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling actix-web-codegen v4.3.0 [INFO] [stderr] Compiling actix-macros v0.2.4 [INFO] [stderr] Compiling zerofrom v0.1.4 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling phf v0.11.2 [INFO] [stderr] Compiling yoke v0.7.4 [INFO] [stderr] Compiling cssparser v0.31.2 [INFO] [stderr] Compiling zerovec v0.10.2 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Compiling serde_with_macros v3.12.0 [INFO] [stderr] Compiling dsl_auto_type v0.1.3 [INFO] [stderr] Compiling tinystr v0.7.6 [INFO] [stderr] Compiling icu_collections v1.5.0 [INFO] [stderr] Compiling instability v0.3.7 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling icu_locid v1.5.0 [INFO] [stderr] Compiling diesel_derives v2.2.3 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling ratatui v0.29.0 [INFO] [stderr] Compiling icu_provider v1.5.0 [INFO] [stderr] Compiling icu_locid_transform v1.5.0 [INFO] [stderr] Compiling icu_properties v1.5.0 [INFO] [stderr] Compiling http-body-util v0.1.2 [INFO] [stderr] Compiling futures-executor v0.3.30 [INFO] [stderr] Compiling zstd v0.13.2 [INFO] [stderr] Compiling futures v0.3.30 [INFO] [stderr] Compiling tokio-util v0.7.11 [INFO] [stderr] Compiling actix-rt v2.10.0 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling async-compression v0.4.18 [INFO] [stderr] Compiling actix-server v2.5.0 [INFO] [stderr] Compiling h2 v0.4.5 [INFO] [stderr] Compiling h2 v0.3.26 [INFO] [stderr] Compiling actix-codec v0.5.2 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling icu_normalizer v1.5.0 [INFO] [stderr] Compiling string_cache v0.8.7 [INFO] [stderr] Compiling chrono v0.4.39 [INFO] [stderr] Compiling serde_with v3.12.0 [INFO] [stderr] Compiling serde-xml-rs v0.6.0 [INFO] [stderr] Compiling idna v1.0.0 [INFO] [stderr] Compiling url v2.5.1 [INFO] [stderr] Compiling diesel v2.2.7 [INFO] [stderr] Compiling scraper v0.19.0 [INFO] [stderr] Compiling cookie_store v0.21.1 [INFO] [stderr] Compiling redis v0.25.4 [INFO] [stderr] Compiling hyper v1.6.0 [INFO] [stderr] Compiling actix-http v3.9.0 [INFO] [stderr] Compiling hyper-util v0.1.10 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.12 [INFO] [stderr] Compiling actix-web v4.9.0 [INFO] [stderr] Compiling actix-cors v0.7.0 [INFO] [stderr] Compiling ratatui_weather v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/constants/constant.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::any::Any; [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: `diesel::r2d2::ConnectionManager` [INFO] [stdout] --> src/constants/constant.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use diesel::r2d2::ConnectionManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `diesel::r2d2::PooledConnection` [INFO] [stdout] --> src/constants/constant.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use diesel::r2d2::PooledConnection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/constants/constant.rs:265:23 [INFO] [stdout] | [INFO] [stdout] 264 | peoper_name: todo!(), [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 265 | position: todo!(), [INFO] [stdout] | ^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/constants/constant.rs:296:23 [INFO] [stdout] | [INFO] [stdout] 295 | peoper_name: todo!(), [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 296 | position: todo!(), [INFO] [stdout] | ^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/constants/constant.rs:59:16 [INFO] [stdout] | [INFO] [stdout] 59 | Ok(res) => {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/constants/constant.rs:65:24 [INFO] [stdout] | [INFO] [stdout] 65 | Ok(res) => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 65 | Ok(_res) => { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DATA_LENGTH` [INFO] [stdout] | [INFO] [stdout] 65 - Ok(res) => { [INFO] [stdout] 65 + Ok(::parse::DATA_LENGTH) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/constants/constant.rs:111:16 [INFO] [stdout] | [INFO] [stdout] 111 | Ok(res) => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 111 | Ok(_res) => { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DATA_LENGTH` [INFO] [stdout] | [INFO] [stdout] 111 - Ok(res) => { [INFO] [stdout] 111 + Ok(::parse::DATA_LENGTH) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/constants/constant.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | Err(e) => Ok(Vec::new()), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/constants/constant.rs:182:17 [INFO] [stdout] | [INFO] [stdout] 182 | Err(e) => Ok(Vec::new()), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `warning_info` [INFO] [stdout] --> src/constants/constant.rs:263:13 [INFO] [stdout] | [INFO] [stdout] 263 | let warning_info = MinePeopleInfoInsert { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warning_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/constants/constant.rs:284:16 [INFO] [stdout] | [INFO] [stdout] 284 | Ok(res) => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 284 | Ok(_res) => { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DATA_LENGTH` [INFO] [stdout] | [INFO] [stdout] 284 - Ok(res) => { [INFO] [stdout] 284 + Ok(::parse::DATA_LENGTH) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `warning_info` [INFO] [stdout] --> src/constants/constant.rs:294:13 [INFO] [stdout] | [INFO] [stdout] 294 | let warning_info = MinePeopleInfoInsert { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warning_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/constants/constant.rs:314:16 [INFO] [stdout] | [INFO] [stdout] 314 | Ok(res) => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 314 | Ok(_res) => { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DATA_LENGTH` [INFO] [stdout] | [INFO] [stdout] 314 - Ok(res) => { [INFO] [stdout] 314 + Ok(::parse::DATA_LENGTH) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `online_rate` is never read [INFO] [stdout] --> src/models/aoyinuo.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | let mut online_rate = 0f64; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `es_url` [INFO] [stdout] --> src/models/common.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let es_url = env::var("ELASTICSEARCH_HOST").expect("ELASTICSEARCH_HOST must be set"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_es_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SimpleCache` is never constructed [INFO] [stdout] --> src/cache/mod.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct SimpleCache { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `put`, `get`, `remove`, and `clear` are never used [INFO] [stdout] --> src/cache/mod.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl SimpleCache { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 11 | /// 创建一个新的缓存实例,设置默认过期时间 [INFO] [stdout] 12 | fn new(ttl: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | fn put(&mut self, key: String, value: String) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | fn get(&mut self, key: &str) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | fn remove(&mut self, key: &str) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `insert_mine_people_info` and `query_mine_people_info` are never used [INFO] [stdout] --> src/constants/constant.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl Monitor { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn insert_mine_people_info(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | fn query_mine_people_info(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeviceOnlineCount` is never constructed [INFO] [stdout] --> src/db/models.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | struct DeviceOnlineCount { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MinePeopleInfoQuery` is never constructed [INFO] [stdout] --> src/db/models.rs:104:12 [INFO] [stdout] | [INFO] [stdout] 104 | pub struct MinePeopleInfoQuery { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `INDEX_NAME` is never used [INFO] [stdout] --> src/handlers/elasticsearch.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | static INDEX_NAME: &str = "my_index"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `index` is never used [INFO] [stdout] --> src/handlers/elasticsearch.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | async fn index() -> &'static str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RequestLogger` is never constructed [INFO] [stdout] --> src/middleware/request_log.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RequestLogger { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/middleware/request_log.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl RequestLogger { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 20 | pub fn new(log_file_path: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RequestLoggerMiddleware` is never constructed [INFO] [stdout] --> src/middleware/request_log.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct RequestLoggerMiddleware { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sensor_type`, `unit`, and `status` are never read [INFO] [stdout] --> src/modbus/monitor_parser.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct SensorData { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 7 | pub sensor_type: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 8 | pub value: f64, [INFO] [stdout] 9 | pub unit: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | pub status: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SensorData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WindSpeedSensorParser` is never constructed [INFO] [stdout] --> src/modbus/monitor_parser.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct WindSpeedSensorParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TemperatureSensorParser` is never constructed [INFO] [stdout] --> src/modbus/monitor_parser.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct TemperatureSensorParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HumiditySensorParser` is never constructed [INFO] [stdout] --> src/modbus/monitor_parser.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | pub struct HumiditySensorParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `No2SensorParser` is never constructed [INFO] [stdout] --> src/modbus/monitor_parser.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub struct No2SensorParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bytes_to_hex` is never used [INFO] [stdout] --> src/modbus/monitor_parser.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn bytes_to_hex(bytes: &[u8]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CarbonMonoxideSensorParser` is never constructed [INFO] [stdout] --> src/modbus/monitor_parser.rs:147:12 [INFO] [stdout] | [INFO] [stdout] 147 | pub struct CarbonMonoxideSensorParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DustConcentrationSensorParser` is never constructed [INFO] [stdout] --> src/modbus/monitor_parser.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 204 | pub struct DustConcentrationSensorParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_number` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl SensorType { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 60 | pub fn as_number(&self) -> i64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/modbus/monitor_threshold.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 122 | pub struct WarningInfo { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 128 | pub timestamp: DateTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WarningInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 152 | impl TemperatureThreshold { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] 153 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HumidityThreshold` is never constructed [INFO] [stdout] --> src/modbus/monitor_threshold.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 198 | pub struct HumidityThreshold { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:204:8 [INFO] [stdout] | [INFO] [stdout] 203 | impl HumidityThreshold { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 204 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_humidty_warning` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:213:4 [INFO] [stdout] | [INFO] [stdout] 213 | fn check_humidty_warning(data: &SensorData, threshold: &HumidityThreshold) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `No2Threshold` is never constructed [INFO] [stdout] --> src/modbus/monitor_threshold.rs:282:12 [INFO] [stdout] | [INFO] [stdout] 282 | pub struct No2Threshold { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:286:8 [INFO] [stdout] | [INFO] [stdout] 285 | impl No2Threshold { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 286 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_no2_warning` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:291:4 [INFO] [stdout] | [INFO] [stdout] 291 | fn check_no2_warning(data: &SensorData, threshold: &No2Threshold) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DustConcentrationThreshold` is never constructed [INFO] [stdout] --> src/modbus/monitor_threshold.rs:297:12 [INFO] [stdout] | [INFO] [stdout] 297 | pub struct DustConcentrationThreshold { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:301:8 [INFO] [stdout] | [INFO] [stdout] 300 | impl DustConcentrationThreshold { [INFO] [stdout] | ------------------------------- associated function in this implementation [INFO] [stdout] 301 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_dust_concentration_warning` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:306:4 [INFO] [stdout] | [INFO] [stdout] 306 | fn check_dust_concentration_warning( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `send_data_to_ip` is never used [INFO] [stdout] --> src/modbus/tcp_server.rs:72:14 [INFO] [stdout] | [INFO] [stdout] 20 | impl DeviceStatusTracker { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | async fn send_data_to_ip( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `conversation_id` is never read [INFO] [stdout] --> src/models/chat.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ChatRequest { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 11 | pub message: String, [INFO] [stdout] 12 | pub conversation_id: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ChatRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `es_client` is never read [INFO] [stdout] --> src/models/common.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct AppState { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 10 | pub deepseek_api_key: String, [INFO] [stdout] 11 | pub es_client: Arc>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Document` is never constructed [INFO] [stdout] --> src/models/elasticsearch.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Document { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `config` is never used [INFO] [stdout] --> src/routes/elasticsearch.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn config(cfg: &mut web::ServiceConfig) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 12s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.25.4 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "7644f4606be1d417900ce60100a38654346d14461915183643ca91c0b37f2e22", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7644f4606be1d417900ce60100a38654346d14461915183643ca91c0b37f2e22", kill_on_drop: false }` [INFO] [stdout] 7644f4606be1d417900ce60100a38654346d14461915183643ca91c0b37f2e22 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 32b903685110e5278a48de359c46e8579a82ecd535643f697d153c0e96310697 [INFO] running `Command { std: "docker" "start" "-a" "32b903685110e5278a48de359c46e8579a82ecd535643f697d153c0e96310697", kill_on_drop: false }` [INFO] [stderr] Compiling ratatui_weather v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/constants/constant.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::any::Any; [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: `diesel::r2d2::ConnectionManager` [INFO] [stdout] --> src/constants/constant.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use diesel::r2d2::ConnectionManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `diesel::r2d2::PooledConnection` [INFO] [stdout] --> src/constants/constant.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use diesel::r2d2::PooledConnection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/constants/constant.rs:265:23 [INFO] [stdout] | [INFO] [stdout] 264 | peoper_name: todo!(), [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 265 | position: todo!(), [INFO] [stdout] | ^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/constants/constant.rs:296:23 [INFO] [stdout] | [INFO] [stdout] 295 | peoper_name: todo!(), [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 296 | position: todo!(), [INFO] [stdout] | ^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/constants/constant.rs:59:16 [INFO] [stdout] | [INFO] [stdout] 59 | Ok(res) => {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/constants/constant.rs:65:24 [INFO] [stdout] | [INFO] [stdout] 65 | Ok(res) => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 65 | Ok(_res) => { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DATA_LENGTH` [INFO] [stdout] | [INFO] [stdout] 65 - Ok(res) => { [INFO] [stdout] 65 + Ok(::parse::DATA_LENGTH) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/constants/constant.rs:111:16 [INFO] [stdout] | [INFO] [stdout] 111 | Ok(res) => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 111 | Ok(_res) => { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DATA_LENGTH` [INFO] [stdout] | [INFO] [stdout] 111 - Ok(res) => { [INFO] [stdout] 111 + Ok(::parse::DATA_LENGTH) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/constants/constant.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | Err(e) => Ok(Vec::new()), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/constants/constant.rs:182:17 [INFO] [stdout] | [INFO] [stdout] 182 | Err(e) => Ok(Vec::new()), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `warning_info` [INFO] [stdout] --> src/constants/constant.rs:263:13 [INFO] [stdout] | [INFO] [stdout] 263 | let warning_info = MinePeopleInfoInsert { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warning_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/constants/constant.rs:284:16 [INFO] [stdout] | [INFO] [stdout] 284 | Ok(res) => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 284 | Ok(_res) => { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DATA_LENGTH` [INFO] [stdout] | [INFO] [stdout] 284 - Ok(res) => { [INFO] [stdout] 284 + Ok(::parse::DATA_LENGTH) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `warning_info` [INFO] [stdout] --> src/constants/constant.rs:294:13 [INFO] [stdout] | [INFO] [stdout] 294 | let warning_info = MinePeopleInfoInsert { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warning_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/constants/constant.rs:314:16 [INFO] [stdout] | [INFO] [stdout] 314 | Ok(res) => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 314 | Ok(_res) => { [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DATA_LENGTH` [INFO] [stdout] | [INFO] [stdout] 314 - Ok(res) => { [INFO] [stdout] 314 + Ok(::parse::DATA_LENGTH) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `online_rate` is never read [INFO] [stdout] --> src/models/aoyinuo.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | let mut online_rate = 0f64; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `es_url` [INFO] [stdout] --> src/models/common.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let es_url = env::var("ELASTICSEARCH_HOST").expect("ELASTICSEARCH_HOST must be set"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_es_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SimpleCache` is never constructed [INFO] [stdout] --> src/cache/mod.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct SimpleCache { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `put`, `get`, `remove`, and `clear` are never used [INFO] [stdout] --> src/cache/mod.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl SimpleCache { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 11 | /// 创建一个新的缓存实例,设置默认过期时间 [INFO] [stdout] 12 | fn new(ttl: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | fn put(&mut self, key: String, value: String) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | fn get(&mut self, key: &str) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | fn remove(&mut self, key: &str) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `insert_mine_people_info` and `query_mine_people_info` are never used [INFO] [stdout] --> src/constants/constant.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl Monitor { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn insert_mine_people_info(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | fn query_mine_people_info(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeviceOnlineCount` is never constructed [INFO] [stdout] --> src/db/models.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | struct DeviceOnlineCount { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MinePeopleInfoQuery` is never constructed [INFO] [stdout] --> src/db/models.rs:104:12 [INFO] [stdout] | [INFO] [stdout] 104 | pub struct MinePeopleInfoQuery { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `INDEX_NAME` is never used [INFO] [stdout] --> src/handlers/elasticsearch.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | static INDEX_NAME: &str = "my_index"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `index` is never used [INFO] [stdout] --> src/handlers/elasticsearch.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | async fn index() -> &'static str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RequestLogger` is never constructed [INFO] [stdout] --> src/middleware/request_log.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RequestLogger { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/middleware/request_log.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl RequestLogger { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 20 | pub fn new(log_file_path: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RequestLoggerMiddleware` is never constructed [INFO] [stdout] --> src/middleware/request_log.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct RequestLoggerMiddleware { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sensor_type`, `unit`, and `status` are never read [INFO] [stdout] --> src/modbus/monitor_parser.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct SensorData { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 7 | pub sensor_type: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 8 | pub value: f64, [INFO] [stdout] 9 | pub unit: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | pub status: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SensorData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WindSpeedSensorParser` is never constructed [INFO] [stdout] --> src/modbus/monitor_parser.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct WindSpeedSensorParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TemperatureSensorParser` is never constructed [INFO] [stdout] --> src/modbus/monitor_parser.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct TemperatureSensorParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HumiditySensorParser` is never constructed [INFO] [stdout] --> src/modbus/monitor_parser.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | pub struct HumiditySensorParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `No2SensorParser` is never constructed [INFO] [stdout] --> src/modbus/monitor_parser.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub struct No2SensorParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bytes_to_hex` is never used [INFO] [stdout] --> src/modbus/monitor_parser.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn bytes_to_hex(bytes: &[u8]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CarbonMonoxideSensorParser` is never constructed [INFO] [stdout] --> src/modbus/monitor_parser.rs:147:12 [INFO] [stdout] | [INFO] [stdout] 147 | pub struct CarbonMonoxideSensorParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DustConcentrationSensorParser` is never constructed [INFO] [stdout] --> src/modbus/monitor_parser.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 204 | pub struct DustConcentrationSensorParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_number` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl SensorType { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 60 | pub fn as_number(&self) -> i64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/modbus/monitor_threshold.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 122 | pub struct WarningInfo { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 128 | pub timestamp: DateTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WarningInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 152 | impl TemperatureThreshold { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] 153 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HumidityThreshold` is never constructed [INFO] [stdout] --> src/modbus/monitor_threshold.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 198 | pub struct HumidityThreshold { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:204:8 [INFO] [stdout] | [INFO] [stdout] 203 | impl HumidityThreshold { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 204 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_humidty_warning` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:213:4 [INFO] [stdout] | [INFO] [stdout] 213 | fn check_humidty_warning(data: &SensorData, threshold: &HumidityThreshold) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `No2Threshold` is never constructed [INFO] [stdout] --> src/modbus/monitor_threshold.rs:282:12 [INFO] [stdout] | [INFO] [stdout] 282 | pub struct No2Threshold { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:286:8 [INFO] [stdout] | [INFO] [stdout] 285 | impl No2Threshold { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 286 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_no2_warning` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:291:4 [INFO] [stdout] | [INFO] [stdout] 291 | fn check_no2_warning(data: &SensorData, threshold: &No2Threshold) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DustConcentrationThreshold` is never constructed [INFO] [stdout] --> src/modbus/monitor_threshold.rs:297:12 [INFO] [stdout] | [INFO] [stdout] 297 | pub struct DustConcentrationThreshold { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:301:8 [INFO] [stdout] | [INFO] [stdout] 300 | impl DustConcentrationThreshold { [INFO] [stdout] | ------------------------------- associated function in this implementation [INFO] [stdout] 301 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_dust_concentration_warning` is never used [INFO] [stdout] --> src/modbus/monitor_threshold.rs:306:4 [INFO] [stdout] | [INFO] [stdout] 306 | fn check_dust_concentration_warning( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `send_data_to_ip` is never used [INFO] [stdout] --> src/modbus/tcp_server.rs:72:14 [INFO] [stdout] | [INFO] [stdout] 20 | impl DeviceStatusTracker { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | async fn send_data_to_ip( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `conversation_id` is never read [INFO] [stdout] --> src/models/chat.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ChatRequest { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 11 | pub message: String, [INFO] [stdout] 12 | pub conversation_id: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ChatRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `es_client` is never read [INFO] [stdout] --> src/models/common.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct AppState { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 10 | pub deepseek_api_key: String, [INFO] [stdout] 11 | pub es_client: Arc>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Document` is never constructed [INFO] [stdout] --> src/models/elasticsearch.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Document { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `config` is never used [INFO] [stdout] --> src/routes/elasticsearch.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn config(cfg: &mut web::ServiceConfig) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.99s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.25.4 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "32b903685110e5278a48de359c46e8579a82ecd535643f697d153c0e96310697", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "32b903685110e5278a48de359c46e8579a82ecd535643f697d153c0e96310697", kill_on_drop: false }` [INFO] [stdout] 32b903685110e5278a48de359c46e8579a82ecd535643f697d153c0e96310697 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] cd1bd9dd793ce4e06f3a3b31985f371fb041bb8da799f11860bc95a8c1c9f809 [INFO] running `Command { std: "docker" "start" "-a" "cd1bd9dd793ce4e06f3a3b31985f371fb041bb8da799f11860bc95a8c1c9f809", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `std::any::Any` [INFO] [stderr] --> src/constants/constant.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::any::Any; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `diesel::r2d2::ConnectionManager` [INFO] [stderr] --> src/constants/constant.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use diesel::r2d2::ConnectionManager; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `diesel::r2d2::PooledConnection` [INFO] [stderr] --> src/constants/constant.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use diesel::r2d2::PooledConnection; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/constants/constant.rs:265:23 [INFO] [stderr] | [INFO] [stderr] 264 | peoper_name: todo!(), [INFO] [stderr] | ------- any code following this expression is unreachable [INFO] [stderr] 265 | position: todo!(), [INFO] [stderr] | ^^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/constants/constant.rs:296:23 [INFO] [stderr] | [INFO] [stderr] 295 | peoper_name: todo!(), [INFO] [stderr] | ------- any code following this expression is unreachable [INFO] [stderr] 296 | position: todo!(), [INFO] [stderr] | ^^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused variable: `res` [INFO] [stderr] --> src/constants/constant.rs:59:16 [INFO] [stderr] | [INFO] [stderr] 59 | Ok(res) => {} [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `res` [INFO] [stderr] --> src/constants/constant.rs:65:24 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(res) => { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] help: if this is intentional, prefix it with an underscore [INFO] [stderr] | [INFO] [stderr] 65 | Ok(_res) => { [INFO] [stderr] | + [INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `DATA_LENGTH` [INFO] [stderr] | [INFO] [stderr] 65 - Ok(res) => { [INFO] [stderr] 65 + Ok(::parse::DATA_LENGTH) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `res` [INFO] [stderr] --> src/constants/constant.rs:111:16 [INFO] [stderr] | [INFO] [stderr] 111 | Ok(res) => { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] help: if this is intentional, prefix it with an underscore [INFO] [stderr] | [INFO] [stderr] 111 | Ok(_res) => { [INFO] [stderr] | + [INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `DATA_LENGTH` [INFO] [stderr] | [INFO] [stderr] 111 - Ok(res) => { [INFO] [stderr] 111 + Ok(::parse::DATA_LENGTH) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/constants/constant.rs:165:17 [INFO] [stderr] | [INFO] [stderr] 165 | Err(e) => Ok(Vec::new()), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/constants/constant.rs:182:17 [INFO] [stderr] | [INFO] [stderr] 182 | Err(e) => Ok(Vec::new()), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `warning_info` [INFO] [stderr] --> src/constants/constant.rs:263:13 [INFO] [stderr] | [INFO] [stderr] 263 | let warning_info = MinePeopleInfoInsert { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warning_info` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `res` [INFO] [stderr] --> src/constants/constant.rs:284:16 [INFO] [stderr] | [INFO] [stderr] 284 | Ok(res) => { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] help: if this is intentional, prefix it with an underscore [INFO] [stderr] | [INFO] [stderr] 284 | Ok(_res) => { [INFO] [stderr] | + [INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `DATA_LENGTH` [INFO] [stderr] | [INFO] [stderr] 284 - Ok(res) => { [INFO] [stderr] 284 + Ok(::parse::DATA_LENGTH) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `warning_info` [INFO] [stderr] --> src/constants/constant.rs:294:13 [INFO] [stderr] | [INFO] [stderr] 294 | let warning_info = MinePeopleInfoInsert { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warning_info` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `res` [INFO] [stderr] --> src/constants/constant.rs:314:16 [INFO] [stderr] | [INFO] [stderr] 314 | Ok(res) => { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] help: if this is intentional, prefix it with an underscore [INFO] [stderr] | [INFO] [stderr] 314 | Ok(_res) => { [INFO] [stderr] | + [INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `DATA_LENGTH` [INFO] [stderr] | [INFO] [stderr] 314 - Ok(res) => { [INFO] [stderr] 314 + Ok(::parse::DATA_LENGTH) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: value assigned to `online_rate` is never read [INFO] [stderr] --> src/models/aoyinuo.rs:15:17 [INFO] [stderr] | [INFO] [stderr] 15 | let mut online_rate = 0f64; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `es_url` [INFO] [stderr] --> src/models/common.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | let es_url = env::var("ELASTICSEARCH_HOST").expect("ELASTICSEARCH_HOST must be set"); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_es_url` [INFO] [stderr] [INFO] [stderr] warning: struct `SimpleCache` is never constructed [INFO] [stderr] --> src/cache/mod.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | struct SimpleCache { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `put`, `get`, `remove`, and `clear` are never used [INFO] [stderr] --> src/cache/mod.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 10 | impl SimpleCache { [INFO] [stderr] | ---------------- associated items in this implementation [INFO] [stderr] 11 | /// 创建一个新的缓存实例,设置默认过期时间 [INFO] [stderr] 12 | fn new(ttl: Duration) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 20 | fn put(&mut self, key: String, value: String) { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 26 | fn get(&mut self, key: &str) -> Option { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 36 | fn remove(&mut self, key: &str) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 41 | fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `insert_mine_people_info` and `query_mine_people_info` are never used [INFO] [stderr] --> src/constants/constant.rs:256:12 [INFO] [stderr] | [INFO] [stderr] 38 | impl Monitor { [INFO] [stderr] | ------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 256 | pub fn insert_mine_people_info(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 293 | fn query_mine_people_info(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DeviceOnlineCount` is never constructed [INFO] [stderr] --> src/db/models.rs:96:8 [INFO] [stderr] | [INFO] [stderr] 96 | struct DeviceOnlineCount { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `MinePeopleInfoQuery` is never constructed [INFO] [stderr] --> src/db/models.rs:104:12 [INFO] [stderr] | [INFO] [stderr] 104 | pub struct MinePeopleInfoQuery { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `INDEX_NAME` is never used [INFO] [stderr] --> src/handlers/elasticsearch.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 8 | static INDEX_NAME: &str = "my_index"; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `index` is never used [INFO] [stderr] --> src/handlers/elasticsearch.rs:10:10 [INFO] [stderr] | [INFO] [stderr] 10 | async fn index() -> &'static str { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `RequestLogger` is never constructed [INFO] [stderr] --> src/middleware/request_log.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 15 | pub struct RequestLogger { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/middleware/request_log.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 19 | impl RequestLogger { [INFO] [stderr] | ------------------ associated function in this implementation [INFO] [stderr] 20 | pub fn new(log_file_path: String) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `RequestLoggerMiddleware` is never constructed [INFO] [stderr] --> src/middleware/request_log.rs:47:12 [INFO] [stderr] | [INFO] [stderr] 47 | pub struct RequestLoggerMiddleware { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `sensor_type`, `unit`, and `status` are never read [INFO] [stderr] --> src/modbus/monitor_parser.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct SensorData { [INFO] [stderr] | ---------- fields in this struct [INFO] [stderr] 7 | pub sensor_type: String, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 8 | pub value: f64, [INFO] [stderr] 9 | pub unit: String, [INFO] [stderr] | ^^^^ [INFO] [stderr] 10 | pub status: String, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SensorData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `WindSpeedSensorParser` is never constructed [INFO] [stderr] --> src/modbus/monitor_parser.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | pub struct WindSpeedSensorParser; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `TemperatureSensorParser` is never constructed [INFO] [stderr] --> src/modbus/monitor_parser.rs:51:12 [INFO] [stderr] | [INFO] [stderr] 51 | pub struct TemperatureSensorParser; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `HumiditySensorParser` is never constructed [INFO] [stderr] --> src/modbus/monitor_parser.rs:74:12 [INFO] [stderr] | [INFO] [stderr] 74 | pub struct HumiditySensorParser; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `No2SensorParser` is never constructed [INFO] [stderr] --> src/modbus/monitor_parser.rs:99:12 [INFO] [stderr] | [INFO] [stderr] 99 | pub struct No2SensorParser; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `bytes_to_hex` is never used [INFO] [stderr] --> src/modbus/monitor_parser.rs:138:8 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn bytes_to_hex(bytes: &[u8]) -> String { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `CarbonMonoxideSensorParser` is never constructed [INFO] [stderr] --> src/modbus/monitor_parser.rs:147:12 [INFO] [stderr] | [INFO] [stderr] 147 | pub struct CarbonMonoxideSensorParser; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DustConcentrationSensorParser` is never constructed [INFO] [stderr] --> src/modbus/monitor_parser.rs:204:12 [INFO] [stderr] | [INFO] [stderr] 204 | pub struct DustConcentrationSensorParser; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `as_number` is never used [INFO] [stderr] --> src/modbus/monitor_threshold.rs:60:12 [INFO] [stderr] | [INFO] [stderr] 59 | impl SensorType { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] 60 | pub fn as_number(&self) -> i64 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `timestamp` is never read [INFO] [stderr] --> src/modbus/monitor_threshold.rs:128:9 [INFO] [stderr] | [INFO] [stderr] 122 | pub struct WarningInfo { [INFO] [stderr] | ----------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 128 | pub timestamp: DateTime, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `WarningInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/modbus/monitor_threshold.rs:153:8 [INFO] [stderr] | [INFO] [stderr] 152 | impl TemperatureThreshold { [INFO] [stderr] | ------------------------- associated function in this implementation [INFO] [stderr] 153 | fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `HumidityThreshold` is never constructed [INFO] [stderr] --> src/modbus/monitor_threshold.rs:198:12 [INFO] [stderr] | [INFO] [stderr] 198 | pub struct HumidityThreshold { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/modbus/monitor_threshold.rs:204:8 [INFO] [stderr] | [INFO] [stderr] 203 | impl HumidityThreshold { [INFO] [stderr] | ---------------------- associated function in this implementation [INFO] [stderr] 204 | fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function `check_humidty_warning` is never used [INFO] [stderr] --> src/modbus/monitor_threshold.rs:213:4 [INFO] [stderr] | [INFO] [stderr] 213 | fn check_humidty_warning(data: &SensorData, threshold: &HumidityThreshold) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `No2Threshold` is never constructed [INFO] [stderr] --> src/modbus/monitor_threshold.rs:282:12 [INFO] [stderr] | [INFO] [stderr] 282 | pub struct No2Threshold { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/modbus/monitor_threshold.rs:286:8 [INFO] [stderr] | [INFO] [stderr] 285 | impl No2Threshold { [INFO] [stderr] | ----------------- associated function in this implementation [INFO] [stderr] 286 | fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function `check_no2_warning` is never used [INFO] [stderr] --> src/modbus/monitor_threshold.rs:291:4 [INFO] [stderr] | [INFO] [stderr] 291 | fn check_no2_warning(data: &SensorData, threshold: &No2Threshold) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DustConcentrationThreshold` is never constructed [INFO] [stderr] --> src/modbus/monitor_threshold.rs:297:12 [INFO] [stderr] | [INFO] [stderr] 297 | pub struct DustConcentrationThreshold { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/modbus/monitor_threshold.rs:301:8 [INFO] [stderr] | [INFO] [stderr] 300 | impl DustConcentrationThreshold { [INFO] [stderr] | ------------------------------- associated function in this implementation [INFO] [stderr] 301 | fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function `check_dust_concentration_warning` is never used [INFO] [stderr] --> src/modbus/monitor_threshold.rs:306:4 [INFO] [stderr] | [INFO] [stderr] 306 | fn check_dust_concentration_warning( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `send_data_to_ip` is never used [INFO] [stderr] --> src/modbus/tcp_server.rs:72:14 [INFO] [stderr] | [INFO] [stderr] 20 | impl DeviceStatusTracker { [INFO] [stderr] | ------------------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 72 | async fn send_data_to_ip( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `conversation_id` is never read [INFO] [stderr] --> src/models/chat.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct ChatRequest { [INFO] [stderr] | ----------- field in this struct [INFO] [stderr] 11 | pub message: String, [INFO] [stderr] 12 | pub conversation_id: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ChatRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `es_client` is never read [INFO] [stderr] --> src/models/common.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct AppState { [INFO] [stderr] | -------- field in this struct [INFO] [stderr] 10 | pub deepseek_api_key: String, [INFO] [stderr] 11 | pub es_client: Arc>, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AppState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `Document` is never constructed [INFO] [stderr] --> src/models/elasticsearch.rs:3:12 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct Document { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `config` is never used [INFO] [stderr] --> src/routes/elasticsearch.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn config(cfg: &mut web::ServiceConfig) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ratatui_weather` (bin "ratatui_weather" test) generated 51 warnings (run `cargo fix --bin "ratatui_weather" --tests` to apply 7 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.33s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.25.4 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ratatui_weather-5cd7ee68fe671506) [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" "cd1bd9dd793ce4e06f3a3b31985f371fb041bb8da799f11860bc95a8c1c9f809", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cd1bd9dd793ce4e06f3a3b31985f371fb041bb8da799f11860bc95a8c1c9f809", kill_on_drop: false }` [INFO] [stdout] cd1bd9dd793ce4e06f3a3b31985f371fb041bb8da799f11860bc95a8c1c9f809