[INFO] cloning repository https://github.com/letmlook/GBServer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/letmlook/GBServer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fletmlook%2FGBServer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fletmlook%2FGBServer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4b28cb67fefe24c206da16dfc7b847d96062ac07
[INFO] checking letmlook/GBServer/4b28cb67fefe24c206da16dfc7b847d96062ac07 against 1ed2df61a19042f231709eb05d032ae9e2cb2084 for pr-160235
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fletmlook%2FGBServer" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/letmlook/GBServer
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/letmlook/GBServer
[INFO] tweaked toml for git repo https://github.com/letmlook/GBServer written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/letmlook/GBServer on toolchain 1ed2df61a19042f231709eb05d032ae9e2cb2084
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ed2df61a19042f231709eb05d032ae9e2cb2084" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/letmlook/GBServer 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" "+1ed2df61a19042f231709eb05d032ae9e2cb2084" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded testcontainers v0.14.0
[INFO] [stderr]   Downloaded redox_syscall v0.7.2
[INFO] [stderr]   Downloaded bollard-stubs v1.41.0
[INFO] [stderr]   Downloaded redis v0.25.4
[INFO] [stderr]   Downloaded fake v2.10.0
[INFO] [stderr]   Downloaded axum-test v7.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1e5c7b135c5d3aa5eb2014a3d2e0a24ed417277ff3d316697af1b6b6d35c4aa8
[INFO] running `Command { std: "docker" "start" "1e5c7b135c5d3aa5eb2014a3d2e0a24ed417277ff3d316697af1b6b6d35c4aa8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1e5c7b135c5d3aa5eb2014a3d2e0a24ed417277ff3d316697af1b6b6d35c4aa8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1e5c7b135c5d3aa5eb2014a3d2e0a24ed417277ff3d316697af1b6b6d35c4aa8" "/opt/rustwide/cargo-home/bin/cargo" "+1ed2df61a19042f231709eb05d032ae9e2cb2084" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1e5c7b135c5d3aa5eb2014a3d2e0a24ed417277ff3d316697af1b6b6d35c4aa8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1e5c7b135c5d3aa5eb2014a3d2e0a24ed417277ff3d316697af1b6b6d35c4aa8" "/opt/rustwide/cargo-home/bin/cargo" "+1ed2df61a19042f231709eb05d032ae9e2cb2084" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling sqlformat v0.2.6
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling libsqlite3-sys v0.27.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking crc-catalog v2.4.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking unicode_categories v0.1.1
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking crc v3.4.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking atoi v2.0.0
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]     Checking winnow v0.7.14
[INFO] [stderr]     Checking ucd-trie v0.1.7
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]     Checking pest v2.8.6
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking flume v0.11.1
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]    Compiling cookie v0.17.0
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]    Compiling http-types v2.12.0
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking quick-xml v0.31.0
[INFO] [stderr]     Checking retain_mut v0.1.9
[INFO] [stderr]     Checking infer v0.2.3
[INFO] [stderr]     Checking clap v4.6.0
[INFO] [stderr]     Checking predicates v3.1.4
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking fragile v2.1.0
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]     Checking auto-future v1.0.0
[INFO] [stderr]     Checking deunicode v1.6.2
[INFO] [stderr]     Checking downcast v0.11.0
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]     Checking uuid v1.23.0
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]     Checking pretty_assertions v1.4.1
[INFO] [stderr]    Compiling serde_with_macros v1.5.2
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling zerocopy-derive v0.8.40
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling axum-macros v0.4.2
[INFO] [stderr]    Compiling mockall_derive v0.12.1
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking pin-project v1.1.11
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking simple_asn1 v0.6.4
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking mockall v0.12.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking ipnetwork v0.20.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking serde_qs v0.8.5
[INFO] [stderr]     Checking serde_with v1.14.0
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking assert-json-diff v2.0.2
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]     Checking bollard-stubs v1.41.0
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]    Compiling sqlx-core v0.7.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking deadpool v0.9.5
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking yaml-rust2 v0.8.1
[INFO] [stderr]     Checking rust-ini v0.20.0
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking tokio-retry v0.3.0
[INFO] [stderr]     Checking portpicker v0.1.1
[INFO] [stderr]     Checking fake v2.10.0
[INFO] [stderr]     Checking config v0.14.1
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]    Compiling sqlx-sqlite v0.7.4
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]    Compiling sqlx-macros-core v0.7.4
[INFO] [stderr]     Checking redis v0.25.4
[INFO] [stderr]    Compiling sqlx-macros v0.7.4
[INFO] [stderr]     Checking sqlx v0.7.4
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking wiremock v0.5.22
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking testcontainers v0.14.0
[INFO] [stderr]     Checking gbserver v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking axum-test v7.3.0
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use media_server::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ the name `add` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 30 | pub use record_plan::*;
[INFO] [stdout]    |         -------------- but the name `add` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use media_server::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ the name `update` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 30 | pub use record_plan::*;
[INFO] [stdout]    |         -------------- but the name `update` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use media_server::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ the name `delete_by_id` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 30 | pub use record_plan::*;
[INFO] [stdout]    |         -------------- but the name `delete_by_id` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use media_server::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ the name `count_all` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 30 | pub use record_plan::*;
[INFO] [stdout]    |         -------------- but the name `count_all` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use role::*;
[INFO] [stdout]    |         ^^^^^^^ the name `list_all` in the value namespace is first re-exported here
[INFO] [stdout] 27 | pub use region::*;
[INFO] [stdout] 28 | pub use group::*;
[INFO] [stdout]    |         -------- but the name `list_all` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use role::*;
[INFO] [stdout]    |         ^^^^^^^ the name `get_by_id` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 30 | pub use record_plan::*;
[INFO] [stdout]    |         -------------- but the name `get_by_id` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub use region::*;
[INFO] [stdout]    |         ^^^^^^^^^ the name `get_by_device_id` in the value namespace is first re-exported here
[INFO] [stdout] 28 | pub use group::*;
[INFO] [stdout]    |         -------- but the name `get_by_device_id` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub use region::*;
[INFO] [stdout]    |         ^^^^^^^^^ the name `list_children` in the value namespace is first re-exported here
[INFO] [stdout] 28 | pub use group::*;
[INFO] [stdout]    |         -------- but the name `list_children` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub use region::*;
[INFO] [stdout]    |         ^^^^^^^^^ the name `delete_by_device_id` in the value namespace is first re-exported here
[INFO] [stdout] 28 | pub use group::*;
[INFO] [stdout]    |         -------- but the name `delete_by_device_id` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub use region::*;
[INFO] [stdout]    |         ^^^^^^^^^ the name `count_children` in the value namespace is first re-exported here
[INFO] [stdout] 28 | pub use group::*;
[INFO] [stdout]    |         -------- but the name `count_children` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use user_api_key::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ the name `list_paged` in the value namespace is first re-exported here
[INFO] [stdout] 30 | pub use record_plan::*;
[INFO] [stdout]    |         -------------- but the name `list_paged` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/handlers/system.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::Instant;
[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: `tokio::sync::RwLock`
[INFO] [stdout]  --> src/sip/gb28181/subscription.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::sync::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BroadcastStatus`
[INFO] [stdout]   --> src/sip/server.rs:30:74
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::sip::gb28181::broadcast::{BroadcastManager, BroadcastSession, BroadcastStatus};
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sip::gb28181::device_query::DeviceQueryManager`
[INFO] [stdout]    --> src/sip/server.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 | use crate::sip::gb28181::device_query::DeviceQueryManager;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Datelike`
[INFO] [stdout]   --> src/jt1078/response_parser.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 | use chrono::{DateTime, Datelike, NaiveDate, NaiveDateTime, NaiveTime, Utc};
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `sip::gb28181::cascade_service::CascadeService`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:196:6
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl CascadeService {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `sip::gb28181::cascade_service::CascadeService`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:588:18
[INFO] [stdout]     |
[INFO] [stdout] 588 | impl Default for CascadeService {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cache::set_media_server_streams`: 迁移到 StateStore 媒体服务器 API
[INFO] [stdout]    --> src/zlm/hook.rs:800:43
[INFO] [stdout]     |
[INFO] [stdout] 800 |                     let _ = crate::cache::set_media_server_streams(redis, media_server_id, 0).await;
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cache::set_media_server_streams`: 迁移到 StateStore 媒体服务器 API
[INFO] [stdout]    --> src/zlm/hook.rs:916:28
[INFO] [stdout]     |
[INFO] [stdout] 916 |                     cache::set_media_server_streams(redis, media_server_id, 0).await;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cache::set_media_server_streams`: 迁移到 StateStore 媒体服务器 API
[INFO] [stdout]     --> src/zlm/hook.rs:1036:24
[INFO] [stdout]      |
[INFO] [stdout] 1036 |                 cache::set_media_server_streams(redis, media_server_id, streams as i64).await;
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cache::reset_media_server_streams`: 迁移到 StateStore 媒体服务器 API
[INFO] [stdout]    --> src/cache.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     reset_media_server_streams(redis, server_id, count).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use media_server::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ the name `add` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 30 | pub use record_plan::*;
[INFO] [stdout]    |         -------------- but the name `add` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use media_server::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ the name `update` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 30 | pub use record_plan::*;
[INFO] [stdout]    |         -------------- but the name `update` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use media_server::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ the name `delete_by_id` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 30 | pub use record_plan::*;
[INFO] [stdout]    |         -------------- but the name `delete_by_id` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use media_server::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ the name `count_all` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 30 | pub use record_plan::*;
[INFO] [stdout]    |         -------------- but the name `count_all` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use role::*;
[INFO] [stdout]    |         ^^^^^^^ the name `list_all` in the value namespace is first re-exported here
[INFO] [stdout] 27 | pub use region::*;
[INFO] [stdout] 28 | pub use group::*;
[INFO] [stdout]    |         -------- but the name `list_all` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use role::*;
[INFO] [stdout]    |         ^^^^^^^ the name `get_by_id` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 30 | pub use record_plan::*;
[INFO] [stdout]    |         -------------- but the name `get_by_id` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub use region::*;
[INFO] [stdout]    |         ^^^^^^^^^ the name `get_by_device_id` in the value namespace is first re-exported here
[INFO] [stdout] 28 | pub use group::*;
[INFO] [stdout]    |         -------- but the name `get_by_device_id` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub use region::*;
[INFO] [stdout]    |         ^^^^^^^^^ the name `list_children` in the value namespace is first re-exported here
[INFO] [stdout] 28 | pub use group::*;
[INFO] [stdout]    |         -------- but the name `list_children` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub use region::*;
[INFO] [stdout]    |         ^^^^^^^^^ the name `delete_by_device_id` in the value namespace is first re-exported here
[INFO] [stdout] 28 | pub use group::*;
[INFO] [stdout]    |         -------- but the name `delete_by_device_id` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub use region::*;
[INFO] [stdout]    |         ^^^^^^^^^ the name `count_children` in the value namespace is first re-exported here
[INFO] [stdout] 28 | pub use group::*;
[INFO] [stdout]    |         -------- but the name `count_children` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/db/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use user_api_key::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ the name `list_paged` in the value namespace is first re-exported here
[INFO] [stdout] 30 | pub use record_plan::*;
[INFO] [stdout]    |         -------------- but the name `list_paged` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/handlers/system.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::Instant;
[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: `tokio::sync::RwLock`
[INFO] [stdout]  --> src/sip/gb28181/subscription.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::sync::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BroadcastStatus`
[INFO] [stdout]   --> src/sip/server.rs:30:74
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::sip::gb28181::broadcast::{BroadcastManager, BroadcastSession, BroadcastStatus};
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sip::gb28181::device_query::DeviceQueryManager`
[INFO] [stdout]    --> src/sip/server.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 | use crate::sip::gb28181::device_query::DeviceQueryManager;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::state_store::*`
[INFO] [stdout]     --> src/state_store.rs:1740:9
[INFO] [stdout]      |
[INFO] [stdout] 1740 |     use crate::state_store::*;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `sip::gb28181::cascade_service::CascadeService`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:196:6
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl CascadeService {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `sip::gb28181::cascade_service::CascadeService`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:588:18
[INFO] [stdout]     |
[INFO] [stdout] 588 | impl Default for CascadeService {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cache::set_media_server_streams`: 迁移到 StateStore 媒体服务器 API
[INFO] [stdout]    --> src/zlm/hook.rs:800:43
[INFO] [stdout]     |
[INFO] [stdout] 800 |                     let _ = crate::cache::set_media_server_streams(redis, media_server_id, 0).await;
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cache::set_media_server_streams`: 迁移到 StateStore 媒体服务器 API
[INFO] [stdout]    --> src/zlm/hook.rs:916:28
[INFO] [stdout]     |
[INFO] [stdout] 916 |                     cache::set_media_server_streams(redis, media_server_id, 0).await;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cache::set_media_server_streams`: 迁移到 StateStore 媒体服务器 API
[INFO] [stdout]     --> src/zlm/hook.rs:1036:24
[INFO] [stdout]      |
[INFO] [stdout] 1036 |                 cache::set_media_server_streams(redis, media_server_id, streams as i64).await;
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `cache::reset_media_server_streams`: 迁移到 StateStore 媒体服务器 API
[INFO] [stdout]    --> src/cache.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     reset_media_server_streams(redis, server_id, count).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ws/hub.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (tx, mut rx) = mpsc::unbounded_channel::<Message>();
[INFO] [stdout]    |                  ----^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::pool`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:214:54
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let platforms = db_platform::list_platforms(&self.pool)
[INFO] [stdout]     |                                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |             self.sessions.insert(pid, session);
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::pool`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:231:58
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let platform = db_platform::get_by_server_gb_id(&self.pool, platform_id)
[INFO] [stdout]     |                                                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:242:27
[INFO] [stdout]     |
[INFO] [stdout] 242 |           let mut session = self
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 243 | |             .sessions
[INFO] [stdout]     | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::socket`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:268:22
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let socket = self.socket.read().await;
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:315:23
[INFO] [stdout]     |
[INFO] [stdout] 315 |           let session = self
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 316 | |             .sessions
[INFO] [stdout]     | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::socket`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:355:22
[INFO] [stdout]     |
[INFO] [stdout] 355 |         let socket = self.socket.read().await;
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:367:36
[INFO] [stdout]     |
[INFO] [stdout] 367 |         if let Some(mut session) = self.sessions.get_mut(platform_id) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:378:36
[INFO] [stdout]     |
[INFO] [stdout] 378 |         if let Some(mut session) = self.sessions.get_mut(platform_id) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:382:9
[INFO] [stdout]     |
[INFO] [stdout] 382 |         self.sessions.remove(platform_id);
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sip_server`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:491:32
[INFO] [stdout]     |
[INFO] [stdout] 491 |         if let Some(ref sip) = self.sip_server {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ws/hub.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (tx, mut rx) = mpsc::unbounded_channel::<Message>();
[INFO] [stdout]    |                  ----^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/sip/server.rs:1179:13
[INFO] [stdout]      |
[INFO] [stdout] 1173 |             SipMethod::Options => {
[INFO] [stdout]      |             ------------------ matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1179 |             SipMethod::Options => Self::handle_options(req, addr, config, socket).await,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/sip/server.rs:1180:13
[INFO] [stdout]      |
[INFO] [stdout] 1176 |             SipMethod::Info => {
[INFO] [stdout]      |             --------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1180 |             SipMethod::Info => Self::handle_info(req, addr, config, pool, socket).await,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::pool`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:214:54
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let platforms = db_platform::list_platforms(&self.pool)
[INFO] [stdout]     |                                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |             self.sessions.insert(pid, session);
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::pool`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:231:58
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let platform = db_platform::get_by_server_gb_id(&self.pool, platform_id)
[INFO] [stdout]     |                                                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:242:27
[INFO] [stdout]     |
[INFO] [stdout] 242 |           let mut session = self
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 243 | |             .sessions
[INFO] [stdout]     | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::socket`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:268:22
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let socket = self.socket.read().await;
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:315:23
[INFO] [stdout]     |
[INFO] [stdout] 315 |           let session = self
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 316 | |             .sessions
[INFO] [stdout]     | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::socket`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:355:22
[INFO] [stdout]     |
[INFO] [stdout] 355 |         let socket = self.socket.read().await;
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:367:36
[INFO] [stdout]     |
[INFO] [stdout] 367 |         if let Some(mut session) = self.sessions.get_mut(platform_id) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:378:36
[INFO] [stdout]     |
[INFO] [stdout] 378 |         if let Some(mut session) = self.sessions.get_mut(platform_id) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:382:9
[INFO] [stdout]     |
[INFO] [stdout] 382 |         self.sessions.remove(platform_id);
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sip_server`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:491:32
[INFO] [stdout]     |
[INFO] [stdout] 491 |         if let Some(ref sip) = self.sip_server {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/sip/server.rs:1179:13
[INFO] [stdout]      |
[INFO] [stdout] 1173 |             SipMethod::Options => {
[INFO] [stdout]      |             ------------------ matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1179 |             SipMethod::Options => Self::handle_options(req, addr, config, socket).await,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/sip/server.rs:1180:13
[INFO] [stdout]      |
[INFO] [stdout] 1176 |             SipMethod::Info => {
[INFO] [stdout]      |             --------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1180 |             SipMethod::Info => Self::handle_info(req, addr, config, pool, socket).await,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gbserver` (lib); 37 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/1ed2df61a19042f231709eb05d032ae9e2cb2084/bin/rustc --crate-name gbserver --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="sqlite"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "mysql", "postgres", "sqlite"))' -C metadata=ea5030bffc3f4b84 -C extra-filename=-ff4366e10b299f39 --out-dir /opt/rustwide/target/debug/build/gbserver/ff4366e10b299f39/out -L dependency=/opt/rustwide/target/debug/build/ahash/c30c1c495e9484d5/out -L dependency=/opt/rustwide/target/debug/build/aho-corasick/0fb197dd6545f795/out -L dependency=/opt/rustwide/target/debug/build/allocator-api2/34319c28828d46c3/out -L dependency=/opt/rustwide/target/debug/build/anyhow/88b36daaacafc31f/out -L dependency=/opt/rustwide/target/debug/build/arc-swap/a5237faa4bf6bc72/out -L dependency=/opt/rustwide/target/debug/build/argon2/a4ab235043d116df/out -L dependency=/opt/rustwide/target/debug/build/arraydeque/3df00e314d4c67af/out -L dependency=/opt/rustwide/target/debug/build/async-trait/2f617c06cdcc2c89/out -L dependency=/opt/rustwide/target/debug/build/atoi/e0b270a9500760d4/out -L dependency=/opt/rustwide/target/debug/build/atomic-waker/d2edf130acb84086/out -L dependency=/opt/rustwide/target/debug/build/axum/9a6b92a74b3ea570/out -L dependency=/opt/rustwide/target/debug/build/axum-core/71a6e75eb773707d/out -L dependency=/opt/rustwide/target/debug/build/axum-macros/7c92bbd153f1cb59/out -L dependency=/opt/rustwide/target/debug/build/base64/d8aec028dea2d277/out -L dependency=/opt/rustwide/target/debug/build/base64/e08b94e4b5ffeef5/out -L dependency=/opt/rustwide/target/debug/build/base64ct/7056cca72f6a3e89/out -L dependency=/opt/rustwide/target/debug/build/bitflags/99acf8372352b43b/out -L dependency=/opt/rustwide/target/debug/build/blake2/d72a8c2eeba4e3de/out -L dependency=/opt/rustwide/target/debug/build/block-buffer/b04eaee73c2162d4/out -L dependency=/opt/rustwide/target/debug/build/byteorder/d92705dd1d5353b1/out -L dependency=/opt/rustwide/target/debug/build/bytes/c3c82aecfaa31497/out -L dependency=/opt/rustwide/target/debug/build/cfg-if/190c9021fd162845/out -L dependency=/opt/rustwide/target/debug/build/chrono/9685b0ac3e8d67ce/out -L dependency=/opt/rustwide/target/debug/build/combine/73055ec9f0af9d49/out -L dependency=/opt/rustwide/target/debug/build/config/37cf7d9f4a115e80/out -L dependency=/opt/rustwide/target/debug/build/const-random/36f652da9e39aa9f/out -L dependency=/opt/rustwide/target/debug/build/const-random-macro/3d44286dc962714a/out -L dependency=/opt/rustwide/target/debug/build/convert_case/779a6cb7624dd790/out -L dependency=/opt/rustwide/target/debug/build/cpufeatures/1ae956ba346ebd12/out -L dependency=/opt/rustwide/target/debug/build/crc/e05e6d4268669229/out -L dependency=/opt/rustwide/target/debug/build/crc-catalog/48e8cc25e90ac530/out -L dependency=/opt/rustwide/target/debug/build/crossbeam-queue/89e4797d939993b6/out -L dependency=/opt/rustwide/target/debug/build/crossbeam-utils/1c9006e854b046b8/out -L dependency=/opt/rustwide/target/debug/build/crypto-common/d79518ed211cb180/out -L dependency=/opt/rustwide/target/debug/build/dashmap/462c1c51794ac317/out -L dependency=/opt/rustwide/target/debug/build/data-encoding/9acb00e041e9650a/out -L dependency=/opt/rustwide/target/debug/build/deranged/7c9de6a11faea304/out -L dependency=/opt/rustwide/target/debug/build/digest/27634ac9f59752d3/out -L dependency=/opt/rustwide/target/debug/build/displaydoc/7b3ca20ac6326897/out -L dependency=/opt/rustwide/target/debug/build/dlv-list/7b67ca249ead2763/out -L dependency=/opt/rustwide/target/debug/build/either/d5ca00fbcb23cfd5/out -L dependency=/opt/rustwide/target/debug/build/encoding_rs/2e6c51c4b4cd4375/out -L dependency=/opt/rustwide/target/debug/build/equivalent/d23b026399a51038/out -L dependency=/opt/rustwide/target/debug/build/errno/94cf0c2555a1adaf/out -L dependency=/opt/rustwide/target/debug/build/event-listener/352180b6480d7932/out -L dependency=/opt/rustwide/target/debug/build/flume/7101a6aed5b89d42/out -L dependency=/opt/rustwide/target/debug/build/fnv/bf9ae889bab8acee/out -L dependency=/opt/rustwide/target/debug/build/form_urlencoded/a0709cb2f4e6749a/out -L dependency=/opt/rustwide/target/debug/build/futures/89f15e91734a1d40/out -L dependency=/opt/rustwide/target/debug/build/futures-channel/6351650e09691772/out -L dependency=/opt/rustwide/target/debug/build/futures-core/1cd512d543215c04/out -L dependency=/opt/rustwide/target/debug/build/futures-executor/83c6a03a9dad702b/out -L dependency=/opt/rustwide/target/debug/build/futures-intrusive/0340b36c15448675/out -L dependency=/opt/rustwide/target/debug/build/futures-io/8551f65ba49d7852/out -L dependency=/opt/rustwide/target/debug/build/futures-macro/eff926812d101a5d/out -L dependency=/opt/rustwide/target/debug/build/futures-sink/80687936758fa695/out -L dependency=/opt/rustwide/target/debug/build/futures-task/bde3b8216abf23c5/out -L dependency=/opt/rustwide/target/debug/build/futures-util/2157953b09f714a1/out -L dependency=/opt/rustwide/target/debug/build/generic-array/e9a46cd80cad0634/out -L dependency=/opt/rustwide/target/debug/build/getrandom/1ac11b340a557733/out -L dependency=/opt/rustwide/target/debug/build/getrandom/641c92b75c90d22e/out -L dependency=/opt/rustwide/target/debug/build/h2/d5316af199482391/out -L dependency=/opt/rustwide/target/debug/build/hashbrown/d6527847c19413e5/out -L dependency=/opt/rustwide/target/debug/build/hashbrown/f4d3e5b7397c32b5/out -L dependency=/opt/rustwide/target/debug/build/hashlink/a31fd1a4efa863c9/out -L dependency=/opt/rustwide/target/debug/build/hex/4852862d92867e36/out -L dependency=/opt/rustwide/target/debug/build/http/5d41b5ec4d8cdc57/out -L dependency=/opt/rustwide/target/debug/build/http/c102d2b3da5dd0a9/out -L dependency=/opt/rustwide/target/debug/build/http-body/a340dd5497f73962/out -L dependency=/opt/rustwide/target/debug/build/http-body/df5575353ac41cdb/out -L dependency=/opt/rustwide/target/debug/build/http-body-util/4999cf20d7c7d548/out -L dependency=/opt/rustwide/target/debug/build/http-range-header/191dba0dabd82bd6/out -L dependency=/opt/rustwide/target/debug/build/httparse/b9ed2fea81abf9ac/out -L dependency=/opt/rustwide/target/debug/build/httpdate/dd055e56878c34d5/out -L dependency=/opt/rustwide/target/debug/build/hyper/cc933395e8f431a1/out -L dependency=/opt/rustwide/target/debug/build/hyper/e843d52919dcec0e/out -L dependency=/opt/rustwide/target/debug/build/hyper-rustls/6b579a2df7035a9e/out -L dependency=/opt/rustwide/target/debug/build/hyper-util/abafd38f8eea3de6/out -L dependency=/opt/rustwide/target/debug/build/iana-time-zone/4c741fc3ef3881f8/out -L dependency=/opt/rustwide/target/debug/build/icu_collections/dbf9bc31bab85415/out -L dependency=/opt/rustwide/target/debug/build/icu_locale_core/15d271bf2d780722/out -L dependency=/opt/rustwide/target/debug/build/icu_normalizer/1236941bbab5443b/out -L dependency=/opt/rustwide/target/debug/build/icu_normalizer_data/4ddd33bbaff8cd99/out -L dependency=/opt/rustwide/target/debug/build/icu_properties/5166a8ef216aa98a/out -L dependency=/opt/rustwide/target/debug/build/icu_properties_data/3afdc7f5111c31fe/out -L dependency=/opt/rustwide/target/debug/build/icu_provider/aa92dfbf6ebe730d/out -L dependency=/opt/rustwide/target/debug/build/idna/15867ff473b5d1d6/out -L dependency=/opt/rustwide/target/debug/build/idna_adapter/47f4196058f958ae/out -L dependency=/opt/rustwide/target/debug/build/indexmap/bad0424019eef9ed/out -L dependency=/opt/rustwide/target/debug/build/ipnet/e2136f81a6e9242d/out -L dependency=/opt/rustwide/target/debug/build/ipnetwork/f9cb4d5f6edf5a23/out -L dependency=/opt/rustwide/target/debug/build/itoa/6847572a153e76b0/out -L dependency=/opt/rustwide/target/debug/build/json5/1e24170d32cfd67b/out -L dependency=/opt/rustwide/target/debug/build/jsonwebtoken/6936f3dc32452605/out -L dependency=/opt/rustwide/target/debug/build/lazy_static/cb8ca6aa8c56979f/out -L dependency=/opt/rustwide/target/debug/build/libc/8826d17fc7d5e9f0/out -L dependency=/opt/rustwide/target/debug/build/libsqlite3-sys/fae570ff6549b8db/out -L dependency=/opt/rustwide/target/debug/build/litemap/323fb0cb3f9fad3e/out -L dependency=/opt/rustwide/target/debug/build/lock_api/b47e4fe57039b3cf/out -L dependency=/opt/rustwide/target/debug/build/log/243a4081f8655140/out -L dependency=/opt/rustwide/target/debug/build/matchers/c26f5313aea776c9/out -L dependency=/opt/rustwide/target/debug/build/matchit/6a845d8ff6f40043/out -L dependency=/opt/rustwide/target/debug/build/md-5/950be67336102dba/out -L dependency=/opt/rustwide/target/debug/build/memchr/3d944e3b9ac373a3/out -L dependency=/opt/rustwide/target/debug/build/mime/719fdfbd841ea854/out -L dependency=/opt/rustwide/target/debug/build/mime_guess/2bc935a0aeb53994/out -L dependency=/opt/rustwide/target/debug/build/minimal-lexical/b988ba17985965f5/out -L dependency=/opt/rustwide/target/debug/build/mio/5615fd66791a0bcc/out -L dependency=/opt/rustwide/target/debug/build/multer/8182107a523cadc0/out -L dependency=/opt/rustwide/target/debug/build/nom/4d337989fb07ac71/out -L dependency=/opt/rustwide/target/debug/build/nu-ansi-term/11c0e3ef7731332f/out -L dependency=/opt/rustwide/target/debug/build/num-bigint/b8028423e83c53e4/out -L dependency=/opt/rustwide/target/debug/build/num-conv/30f64bcec041bc65/out -L dependency=/opt/rustwide/target/debug/build/num-integer/20eacc268794ae69/out -L dependency=/opt/rustwide/target/debug/build/num-traits/3f20bdcfe3eb0a45/out -L dependency=/opt/rustwide/target/debug/build/once_cell/2ad934dc7da92e31/out -L dependency=/opt/rustwide/target/debug/build/ordered-multimap/32aeda22aab81fc4/out -L dependency=/opt/rustwide/target/debug/build/parking_lot/445d43f12f63ac8e/out -L dependency=/opt/rustwide/target/debug/build/parking_lot_core/dbe7054764b65534/out -L dependency=/opt/rustwide/target/debug/build/password-hash/0329c64e79d1345f/out -L dependency=/opt/rustwide/target/debug/build/paste/c5e5e8a2bd161c29/out -L dependency=/opt/rustwide/target/debug/build/pathdiff/77a535e5792cc081/out -L dependency=/opt/rustwide/target/debug/build/pem/5e4f457f9f971707/out -L dependency=/opt/rustwide/target/debug/build/percent-encoding/f0f3780066f274e0/out -L dependency=/opt/rustwide/target/debug/build/pest/f0a0564dc9829ba3/out -L dependency=/opt/rustwide/target/debug/build/pest_derive/8b9d081335d844ce/out -L dependency=/opt/rustwide/target/debug/build/pin-project/866ee08e2647aba5/out -L dependency=/opt/rustwide/target/debug/build/pin-project-internal/f56e8994a7c0593e/out -L dependency=/opt/rustwide/target/debug/build/pin-project-lite/dccf8aabedbf6d41/out -L dependency=/opt/rustwide/target/debug/build/pin-utils/db1de871cd8706a6/out -L dependency=/opt/rustwide/target/debug/build/potential_utf/6f849c2fda6e0f86/out -L dependency=/opt/rustwide/target/debug/build/powerfmt/6244fffd86cf9c21/out -L dependency=/opt/rustwide/target/debug/build/ppv-lite86/7a6eacdfd03e195d/out -L dependency=/opt/rustwide/target/debug/build/quick-xml/702445c16cb3c5cc/out -L dependency=/opt/rustwide/target/debug/build/rand/27a3becbc69a1c22/out -L dependency=/opt/rustwide/target/debug/build/rand_chacha/0fbf6b10707af1bd/out -L dependency=/opt/rustwide/target/debug/build/rand_core/497063271484bc26/out -L dependency=/opt/rustwide/target/debug/build/redis/c2e9eb5b6ccf2aa9/out -L dependency=/opt/rustwide/target/debug/build/regex-automata/6667c51cedd9f39f/out -L dependency=/opt/rustwide/target/debug/build/regex-syntax/6cb68f2e111607e3/out -L dependency=/opt/rustwide/target/debug/build/reqwest/bcb983bf3762565a/out -L dependency=/opt/rustwide/target/debug/build/ring/6a50c737d151fa23/out -L dependency=/opt/rustwide/target/debug/build/ron/6a85929ebb027137/out -L dependency=/opt/rustwide/target/debug/build/rust-ini/1a00e7f08a293c6f/out -L dependency=/opt/rustwide/target/debug/build/rustls/54724f815d849dd3/out -L dependency=/opt/rustwide/target/debug/build/rustls-pemfile/3f7a29d9de4ee2cb/out -L dependency=/opt/rustwide/target/debug/build/rustls-webpki/ef1240652d25574a/out -L dependency=/opt/rustwide/target/debug/build/rustversion/5a027c01becb027b/out -L dependency=/opt/rustwide/target/debug/build/ryu/3da2ab8eb39d89f2/out -L dependency=/opt/rustwide/target/debug/build/scopeguard/e7d227cb308b3799/out -L dependency=/opt/rustwide/target/debug/build/sct/6873a953ad29849b/out -L dependency=/opt/rustwide/target/debug/build/serde/4b757465a1633df4/out -L dependency=/opt/rustwide/target/debug/build/serde_core/c3fb5a998c9471b6/out -L dependency=/opt/rustwide/target/debug/build/serde_derive/948a9769d77dedc0/out -L dependency=/opt/rustwide/target/debug/build/serde_json/200dd98b912e4d12/out -L dependency=/opt/rustwide/target/debug/build/serde_path_to_error/c3589533dc65b0f6/out -L dependency=/opt/rustwide/target/debug/build/serde_spanned/edd2f2e0cee2ed14/out -L dependency=/opt/rustwide/target/debug/build/serde_urlencoded/5f93001b787f6289/out -L dependency=/opt/rustwide/target/debug/build/sha1/ab42978751f138ea/out -L dependency=/opt/rustwide/target/debug/build/sha1_smol/4e2b7f6914ec1690/out -L dependency=/opt/rustwide/target/debug/build/sha2/5f38b52b664e4f09/out -L dependency=/opt/rustwide/target/debug/build/sharded-slab/5d7560049c0c9021/out -L dependency=/opt/rustwide/target/debug/build/signal-hook-registry/f08f57f33ffa3d18/out -L dependency=/opt/rustwide/target/debug/build/simple_asn1/4544291149ec5227/out -L dependency=/opt/rustwide/target/debug/build/slab/101f873bca723251/out -L dependency=/opt/rustwide/target/debug/build/smallvec/dd4339173f24a482/out -L dependency=/opt/rustwide/target/debug/build/socket2/0dec77c87a2f2899/out -L dependency=/opt/rustwide/target/debug/build/socket2/e55b1ecea7de5bdc/out -L dependency=/opt/rustwide/target/debug/build/spin/d454a6d6c4b12da5/out -L dependency=/opt/rustwide/target/debug/build/sqlformat/a95482a7246460e7/out -L dependency=/opt/rustwide/target/debug/build/sqlx/0c60831932148b3d/out -L dependency=/opt/rustwide/target/debug/build/sqlx-core/f41b486de0276bb6/out -L dependency=/opt/rustwide/target/debug/build/sqlx-macros/5c46801ab04249fa/out -L dependency=/opt/rustwide/target/debug/build/sqlx-sqlite/2ce877d766a840a3/out -L dependency=/opt/rustwide/target/debug/build/stable_deref_trait/a4bd0afb694af506/out -L dependency=/opt/rustwide/target/debug/build/subtle/350c4d777e42ad0b/out -L dependency=/opt/rustwide/target/debug/build/sync_wrapper/0f0a7fd4be52d7bd/out -L dependency=/opt/rustwide/target/debug/build/sync_wrapper/8a5430cffd2d77a2/out -L dependency=/opt/rustwide/target/debug/build/thiserror/5da3943518ed67fd/out -L dependency=/opt/rustwide/target/debug/build/thiserror/c098dcbef75bfd65/out -L dependency=/opt/rustwide/target/debug/build/thiserror-impl/6e2011c8511bc4a7/out -L dependency=/opt/rustwide/target/debug/build/thiserror-impl/dafbcec02191f8dc/out -L dependency=/opt/rustwide/target/debug/build/thread_local/cbf1fada601e6778/out -L dependency=/opt/rustwide/target/debug/build/time/ec7b17b90d5d580a/out -L dependency=/opt/rustwide/target/debug/build/time-core/aad8b819250008da/out -L dependency=/opt/rustwide/target/debug/build/time-macros/f96a6512f8226e2a/out -L dependency=/opt/rustwide/target/debug/build/tinystr/e3dad2d7f43207a7/out -L dependency=/opt/rustwide/target/debug/build/tokio/ca8fd9cb1ba69a24/out -L dependency=/opt/rustwide/target/debug/build/tokio-macros/4779b0c4f81e24a5/out -L dependency=/opt/rustwide/target/debug/build/tokio-retry/45262209092e7002/out -L dependency=/opt/rustwide/target/debug/build/tokio-rustls/44f402074fbd84e6/out -L dependency=/opt/rustwide/target/debug/build/tokio-stream/1ca246fd097d9a38/out -L dependency=/opt/rustwide/target/debug/build/tokio-tungstenite/2d60fbd7318d4d5c/out -L dependency=/opt/rustwide/target/debug/build/tokio-util/d46f8dcc80311f43/out -L dependency=/opt/rustwide/target/debug/build/toml/26609edb82d1218a/out -L dependency=/opt/rustwide/target/debug/build/toml_datetime/29961d353a87f31a/out -L dependency=/opt/rustwide/target/debug/build/toml_edit/04c5b4e96a5d7fdb/out -L dependency=/opt/rustwide/target/debug/build/toml_write/47ffa1ec0c7e097d/out -L dependency=/opt/rustwide/target/debug/build/tower/ae8b1011580b43b0/out -L dependency=/opt/rustwide/target/debug/build/tower/be18f636e3084244/out -L dependency=/opt/rustwide/target/debug/build/tower-http/e40a443959c229c5/out -L dependency=/opt/rustwide/target/debug/build/tower-layer/f6d5cc7b185cf351/out -L dependency=/opt/rustwide/target/debug/build/tower-service/e69ac8dcc8243395/out -L dependency=/opt/rustwide/target/debug/build/tracing/1a5dba4fb769c32b/out -L dependency=/opt/rustwide/target/debug/build/tracing-attributes/8f3d1712641b6ba9/out -L dependency=/opt/rustwide/target/debug/build/tracing-core/50f144f22905c7fa/out -L dependency=/opt/rustwide/target/debug/build/tracing-log/e27693e5cd4d0c8a/out -L dependency=/opt/rustwide/target/debug/build/tracing-subscriber/8f727eaf122337ec/out -L dependency=/opt/rustwide/target/debug/build/try-lock/08abaa63f4861efa/out -L dependency=/opt/rustwide/target/debug/build/tungstenite/fb0962773b14f643/out -L dependency=/opt/rustwide/target/debug/build/typenum/2001cc7989580d48/out -L dependency=/opt/rustwide/target/debug/build/ucd-trie/213135b8194a5b8c/out -L dependency=/opt/rustwide/target/debug/build/unicase/555e66b7b51823d9/out -L dependency=/opt/rustwide/target/debug/build/unicode-segmentation/2e434796dea6b7f0/out -L dependency=/opt/rustwide/target/debug/build/unicode_categories/f5a7746b80b61f3e/out -L dependency=/opt/rustwide/target/debug/build/untrusted/03cde965a30f6cbb/out -L dependency=/opt/rustwide/target/debug/build/url/f099126eb77f036b/out -L dependency=/opt/rustwide/target/debug/build/urlencoding/ce62b83da7096e72/out -L dependency=/opt/rustwide/target/debug/build/utf-8/23c026f571ff5189/out -L dependency=/opt/rustwide/target/debug/build/utf8_iter/88f5a358869389d3/out -L dependency=/opt/rustwide/target/debug/build/want/cc3dcee12d270b38/out -L dependency=/opt/rustwide/target/debug/build/webpki-roots/5f0d31615ea98f5b/out -L dependency=/opt/rustwide/target/debug/build/winnow/6075c9fd16027fd0/out -L dependency=/opt/rustwide/target/debug/build/writeable/37efbbfd3652a026/out -L dependency=/opt/rustwide/target/debug/build/yaml-rust2/6116179c38d2ee8e/out -L dependency=/opt/rustwide/target/debug/build/yoke/ae5317b4e63d2404/out -L dependency=/opt/rustwide/target/debug/build/yoke-derive/99971fa8639ec56b/out -L dependency=/opt/rustwide/target/debug/build/zerocopy/a4aaa335b7037131/out -L dependency=/opt/rustwide/target/debug/build/zerocopy-derive/53a7d54f0fa835c8/out -L dependency=/opt/rustwide/target/debug/build/zerofrom/e754c371918fa245/out -L dependency=/opt/rustwide/target/debug/build/zerofrom-derive/8748fedc4bc3eaeb/out -L dependency=/opt/rustwide/target/debug/build/zerotrie/b5f4d77028803ae8/out -L dependency=/opt/rustwide/target/debug/build/zerovec/0fe2a236a704d9ad/out -L dependency=/opt/rustwide/target/debug/build/zerovec-derive/a9e91ff0ffe2eee6/out -L dependency=/opt/rustwide/target/debug/build/zmij/7606d3367d7489bc/out --extern anyhow=/opt/rustwide/target/debug/build/anyhow/88b36daaacafc31f/out/libanyhow-88b36daaacafc31f.rmeta --extern argon2=/opt/rustwide/target/debug/build/argon2/a4ab235043d116df/out/libargon2-a4ab235043d116df.rmeta --extern axum=/opt/rustwide/target/debug/build/axum/9a6b92a74b3ea570/out/libaxum-9a6b92a74b3ea570.rmeta --extern bytes=/opt/rustwide/target/debug/build/bytes/c3c82aecfaa31497/out/libbytes-c3c82aecfaa31497.rmeta --extern chrono=/opt/rustwide/target/debug/build/chrono/9685b0ac3e8d67ce/out/libchrono-9685b0ac3e8d67ce.rmeta --extern config=/opt/rustwide/target/debug/build/config/37cf7d9f4a115e80/out/libconfig-37cf7d9f4a115e80.rmeta --extern dashmap=/opt/rustwide/target/debug/build/dashmap/462c1c51794ac317/out/libdashmap-462c1c51794ac317.rmeta --extern futures_util=/opt/rustwide/target/debug/build/futures-util/2157953b09f714a1/out/libfutures_util-2157953b09f714a1.rmeta --extern ipnetwork=/opt/rustwide/target/debug/build/ipnetwork/f9cb4d5f6edf5a23/out/libipnetwork-f9cb4d5f6edf5a23.rmeta --extern jsonwebtoken=/opt/rustwide/target/debug/build/jsonwebtoken/6936f3dc32452605/out/libjsonwebtoken-6936f3dc32452605.rmeta --extern md5=/opt/rustwide/target/debug/build/md-5/950be67336102dba/out/libmd5-950be67336102dba.rmeta --extern quick_xml=/opt/rustwide/target/debug/build/quick-xml/702445c16cb3c5cc/out/libquick_xml-702445c16cb3c5cc.rmeta --extern rand=/opt/rustwide/target/debug/build/rand/27a3becbc69a1c22/out/librand-27a3becbc69a1c22.rmeta --extern redis=/opt/rustwide/target/debug/build/redis/c2e9eb5b6ccf2aa9/out/libredis-c2e9eb5b6ccf2aa9.rmeta --extern reqwest=/opt/rustwide/target/debug/build/reqwest/bcb983bf3762565a/out/libreqwest-bcb983bf3762565a.rmeta --extern serde=/opt/rustwide/target/debug/build/serde/4b757465a1633df4/out/libserde-4b757465a1633df4.rmeta --extern serde_json=/opt/rustwide/target/debug/build/serde_json/200dd98b912e4d12/out/libserde_json-200dd98b912e4d12.rmeta --extern sqlx=/opt/rustwide/target/debug/build/sqlx/0c60831932148b3d/out/libsqlx-0c60831932148b3d.rmeta --extern thiserror=/opt/rustwide/target/debug/build/thiserror/5da3943518ed67fd/out/libthiserror-5da3943518ed67fd.rmeta --extern tokio=/opt/rustwide/target/debug/build/tokio/ca8fd9cb1ba69a24/out/libtokio-ca8fd9cb1ba69a24.rmeta --extern tower=/opt/rustwide/target/debug/build/tower/be18f636e3084244/out/libtower-be18f636e3084244.rmeta --extern tower_http=/opt/rustwide/target/debug/build/tower-http/e40a443959c229c5/out/libtower_http-e40a443959c229c5.rmeta --extern tracing=/opt/rustwide/target/debug/build/tracing/1a5dba4fb769c32b/out/libtracing-1a5dba4fb769c32b.rmeta --extern tracing_subscriber=/opt/rustwide/target/debug/build/tracing-subscriber/8f727eaf122337ec/out/libtracing_subscriber-8f727eaf122337ec.rmeta --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/ring/2190729a8e30ea41/out -L native=/opt/rustwide/target/debug/build/libsqlite3-sys/bc209b5763b7a85d/out` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |             sessions: Arc::new(DashMap::new()),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::socket`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |             socket: Arc::new(RwLock::new(None)),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::config`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:201:13
[INFO] [stdout]     |
[INFO] [stdout] 201 |             config: Arc::new(RwLock::new(None)),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::pool`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |             pool,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sip_server`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |             sip_server: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sip_server`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |         self.sip_server = Some(server);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:287:36
[INFO] [stdout]     |
[INFO] [stdout] 287 |         if let Some(mut session) = self.sessions.get_mut(platform_id) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:299:36
[INFO] [stdout]     |
[INFO] [stdout] 299 |         if let Some(mut session) = self.sessions.get_mut(platform_id) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:307:36
[INFO] [stdout]     |
[INFO] [stdout] 307 |         if let Some(mut session) = self.sessions.get_mut(platform_id) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:389:36
[INFO] [stdout]     |
[INFO] [stdout] 389 |         if let Some(mut session) = self.sessions.get_mut(platform_id) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:417:43
[INFO] [stdout]     |
[INFO] [stdout] 417 |           let timed_out_keys: Vec<String> = self
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 418 | |             .sessions
[INFO] [stdout]     | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:429:34
[INFO] [stdout]     |
[INFO] [stdout] 429 |             if let Some(mut s) = self.sessions.get_mut(&key) {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:445:9
[INFO] [stdout]     |
[INFO] [stdout] 445 |         self.sessions
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:454:9
[INFO] [stdout]     |
[INFO] [stdout] 454 |         self.sessions.get(platform_id).map(|r| r.clone())
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:459:9
[INFO] [stdout]     |
[INFO] [stdout] 459 |         self.sessions.iter().filter(|r| r.is_active()).count()
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `sip::gb28181::cascade_service::CascadeService::sessions`: use crate::cascade::CascadeRegistrar instead (see CascadeService docs)
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:464:9
[INFO] [stdout]     |
[INFO] [stdout] 464 |         self.sessions.len()
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Row`
[INFO] [stdout]  --> src/db/record_plan.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sqlx::{FromRow, Row};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::Row`
[INFO] [stdout]  --> src/db/common_channel.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use sqlx::Row;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::Row`
[INFO] [stdout]  --> src/handlers/jt1078.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use sqlx::Row;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]    --> src/auth.rs:320:13
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let req = axum::extract::Request::builder()
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `query` is never read
[INFO] [stdout]    --> src/db/platform_channel.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |             query = query.bind(info);
[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: `state`
[INFO] [stdout]    --> src/handlers/stream.rs:330:11
[INFO] [stdout]     |
[INFO] [stdout] 330 |     State(state): State<AppState>,
[INFO] [stdout]     |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_id`
[INFO] [stdout]    --> src/handlers/stream.rs:335:9
[INFO] [stdout]     |
[INFO] [stdout] 335 |     let channel_id = body.get("channelId").and_then(|v| v.as_str()).unwrap_or("");
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/handlers/stream.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout] 341 |     let now = chrono::Utc::now().format("%Y-%m-%d %H:%M:%S").to_string();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/handlers/stream.rs:375:11
[INFO] [stdout]     |
[INFO] [stdout] 375 |     State(state): State<AppState>,
[INFO] [stdout]     |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/handlers/stream.rs:384:9
[INFO] [stdout]     |
[INFO] [stdout] 384 |     let now = chrono::Utc::now().format("%Y-%m-%d %H:%M:%S").to_string();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool`
[INFO] [stdout]   --> src/handlers/platform.rs:35:33
[INFO] [stdout]    |
[INFO] [stdout] 35 | async fn update_platform_status(pool: &crate::db::Pool, id: i64, status: bool) -> Result<(), sqlx::Error> {
[INFO] [stdout]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/handlers/platform.rs:35:57
[INFO] [stdout]    |
[INFO] [stdout] 35 | async fn update_platform_status(pool: &crate::db::Pool, id: i64, status: bool) -> Result<(), sqlx::Error> {
[INFO] [stdout]    |                                                         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]   --> src/handlers/platform.rs:35:66
[INFO] [stdout]    |
[INFO] [stdout] 35 | async fn update_platform_status(pool: &crate::db::Pool, id: i64, status: bool) -> Result<(), sqlx::Error> {
[INFO] [stdout]    |                                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `custom_device_id`
[INFO] [stdout]     --> src/handlers/platform.rs:1479:17
[INFO] [stdout]      |
[INFO] [stdout] 1479 |     if let Some(custom_device_id) = body.custom_device_id.as_deref() {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `business_group`
[INFO] [stdout]     --> src/handlers/platform.rs:1525:9
[INFO] [stdout]      |
[INFO] [stdout] 1525 |     let business_group = body.business_group.clone().unwrap_or_default();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_business_group`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]     --> src/handlers/platform.rs:1529:9
[INFO] [stdout]      |
[INFO] [stdout] 1529 |     let now = chrono::Utc::now().format("%Y-%m-%d %H:%M:%S").to_string();
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/handlers/platform.rs:1574:9
[INFO] [stdout]      |
[INFO] [stdout] 1574 |     let name = body.name.clone().unwrap_or_default();
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent`
[INFO] [stdout]     --> src/handlers/platform.rs:1575:9
[INFO] [stdout]      |
[INFO] [stdout] 1575 |     let parent = body.parent.clone().unwrap_or_default();
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `civil_code`
[INFO] [stdout]     --> src/handlers/platform.rs:1576:9
[INFO] [stdout]      |
[INFO] [stdout] 1576 |     let civil_code = body.civil_code.clone().unwrap_or_default();
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_civil_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `business_group`
[INFO] [stdout]     --> src/handlers/platform.rs:1577:9
[INFO] [stdout]      |
[INFO] [stdout] 1577 |     let business_group = body.business_group.clone().unwrap_or_default();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_business_group`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]     --> src/handlers/platform.rs:1579:9
[INFO] [stdout]      |
[INFO] [stdout] 1579 |     let now = chrono::Utc::now().format("%Y-%m-%d %H:%M:%S").to_string();
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `waiter_key` is assigned to, but never used
[INFO] [stdout]     --> src/sip/server.rs:4806:13
[INFO] [stdout]      |
[INFO] [stdout] 4806 |         let waiter_key: String;
[INFO] [stdout]      |             ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_waiter_key` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `waiter_key` is never read
[INFO] [stdout]     --> src/sip/server.rs:4812:13
[INFO] [stdout]      |
[INFO] [stdout] 4812 |             waiter_key = wk;
[INFO] [stdout]      |             ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/handlers/common_channel.rs:863:11
[INFO] [stdout]     |
[INFO] [stdout] 863 |     State(state): State<AppState>,
[INFO] [stdout]     |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ip`
[INFO] [stdout]     --> src/handlers/jt1078.rs:1457:9
[INFO] [stdout]      |
[INFO] [stdout] 1457 |     let ip = body.ip.clone().unwrap_or_default();
[INFO] [stdout]      |         ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]    --> src/sip/gb28181/pending_request.rs:509:13
[INFO] [stdout]     |
[INFO] [stdout] 509 |         let req = mgr.register(
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sip/gb28181/pending_request.rs:594:20
[INFO] [stdout]     |
[INFO] [stdout] 594 |         let (_req, mut rx) = mgr.register_record_info_multi_packet(
[INFO] [stdout]     |                    ----^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]    --> src/sip/gb28181/device_commander.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |         let req = cmd.query_device_info("34020000001320000001", 100);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]   --> src/sip/gb28181/catalog_sync.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let num = Self::extract_tag(xml, "Num")
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/sip/gb28181/catalog_sync.rs:262:13
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let session = CatalogSyncSession::new("34020000001320000001".to_string(), 1);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mgr`
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:625:13
[INFO] [stdout]     |
[INFO] [stdout] 625 |         let mgr = CascadeService::new(dummy_pool());
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_mgr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]    --> src/sip/gb28181/cascade_forward.rs:517:13
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let s2 = mgr.handle_upstream_invite(
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_rtp_manager`
[INFO] [stdout]     --> src/sip/server.rs:2727:9
[INFO] [stdout]      |
[INFO] [stdout] 2727 |         send_rtp_manager: &Arc<SendRtpManager>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_rtp_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> src/state_store.rs:1742:26
[INFO] [stdout]      |
[INFO] [stdout] 1742 |     fn make_device_state(id: &str) -> DeviceOnlineState {
[INFO] [stdout]      |                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/state/stream_status.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mut m = MockState {
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_disk_usage` is never used
[INFO] [stdout]    --> src/handlers/server.rs:286:4
[INFO] [stdout]     |
[INFO] [stdout] 286 | fn read_disk_usage() -> Option<(u64, u64, u64)> { read_disk_usage_impl() }
[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 `read_disk_usage_impl` is never used
[INFO] [stdout]    --> src/handlers/server.rs:289:4
[INFO] [stdout]     |
[INFO] [stdout] 289 | fn read_disk_usage_impl() -> Option<(u64, u64, u64)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_playback_target` is never used
[INFO] [stdout]   --> src/handlers/playback.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl PlaybackManager {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 | fn parse_playback_target(stream_id: &str) -> Option<(String, String)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_websocket_upgrade` is never used
[INFO] [stdout]    --> src/handlers/websocket.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn is_websocket_upgrade(headers: &HeaderMap) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `health_check` is never used
[INFO] [stdout]   --> src/router.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | async fn health_check(State(state): State<AppState>) -> Json<serde_json::Value> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer` is never read
[INFO] [stdout]  --> src/sip/transport/udp.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct UdpSocket {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 7 |     socket: TokioUdpSocket,
[INFO] [stdout] 8 |     buffer: BytesMut,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `write_buffer` is never read
[INFO] [stdout]   --> src/sip/transport/tcp.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct TcpStream {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     write_buffer: BytesMut,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `subscription_manager` is never read
[INFO] [stdout]    --> src/sip/gb28181/catalog_sync.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct CatalogSyncManager {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 125 |     subscription_manager: Arc<CatalogSubscriptionManager>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `renew_interval_secs` is never read
[INFO] [stdout]   --> src/sip/gb28181/subscription_lifecycle.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct SubscriptionLifecycle {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 51 |     renew_interval_secs: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> src/sip/gb28181/cascade_service.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub struct CascadeService {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 189 |     config: Arc<RwLock<Option<crate::config::SipConfig>>>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transaction_manager` and `dialog_manager` are never read
[INFO] [stdout]    --> src/sip/server.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub struct SipServer {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 210 |     transaction_manager: Arc<TransactionManager>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 211 |     dialog_manager: Arc<DialogManager>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_request` is never used
[INFO] [stdout]     --> src/sip/server.rs:3512:14
[INFO] [stdout]      |
[INFO] [stdout]  237 | impl SipServer {
[INFO] [stdout]      | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3512 |     async fn send_request(
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cookie` is never read
[INFO] [stdout]   --> src/zlm/client.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct OpenRtpServerResp {
[INFO] [stdout]    |        ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     cookie: Option<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]    --> src/zlm/client.rs:179:23
[INFO] [stdout]     |
[INFO] [stdout] 179 |         struct Resp { code: i32 }
[INFO] [stdout]     |                ----   ^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                field in this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]    --> src/zlm/client.rs:263:23
[INFO] [stdout]     |
[INFO] [stdout] 263 |         struct Resp { code: i32 }
[INFO] [stdout]     |                ----   ^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                field in this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]    --> src/zlm/client.rs:294:23
[INFO] [stdout]     |
[INFO] [stdout] 294 |         struct Resp { code: i32 }
[INFO] [stdout]     |                ----   ^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                field in this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]    --> src/zlm/client.rs:389:23
[INFO] [stdout]     |
[INFO] [stdout] 389 |         struct Resp { code: i32 }
[INFO] [stdout]     |                ----   ^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                field in this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `api_debug` is never read
[INFO] [stdout]    --> src/zlm/client.rs:445:13
[INFO] [stdout]     |
[INFO] [stdout] 443 |         struct Resp {
[INFO] [stdout]     |                ---- field in this struct
[INFO] [stdout] 444 |             #[serde(rename = "api.apiDebug")]
[INFO] [stdout] 445 |             api_debug: Option<String>,
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]    --> src/zlm/client.rs:511:23
[INFO] [stdout]     |
[INFO] [stdout] 511 |         struct Resp { code: i32 }
[INFO] [stdout]     |                ----   ^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                field in this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]    --> src/zlm/client.rs:530:23
[INFO] [stdout]     |
[INFO] [stdout] 530 |         struct Resp { code: i32 }
[INFO] [stdout]     |                ----   ^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                field in this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]    --> src/zlm/client.rs:571:23
[INFO] [stdout]     |
[INFO] [stdout] 571 |         struct Resp { code: i32 }
[INFO] [stdout]     |                ----   ^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                field in this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]    --> src/zlm/client.rs:595:23
[INFO] [stdout]     |
[INFO] [stdout] 595 |         struct Resp { code: i32 }
[INFO] [stdout]     |                ----   ^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                field in this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InnerResp` is never constructed
[INFO] [stdout]    --> src/zlm/client.rs:631:16
[INFO] [stdout]     |
[INFO] [stdout] 631 |         struct InnerResp {
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]    --> src/zlm/client.rs:646:23
[INFO] [stdout]     |
[INFO] [stdout] 646 |         struct Resp { code: i32 }
[INFO] [stdout]     |                ----   ^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                field in this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]    --> src/zlm/client.rs:744:13
[INFO] [stdout]     |
[INFO] [stdout] 742 |         struct StreamListResp {
[INFO] [stdout]     |                -------------- field in this struct
[INFO] [stdout] 743 |             #[serde(rename = "code")]
[INFO] [stdout] 744 |             code: i32,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]    --> src/zlm/client.rs:763:13
[INFO] [stdout]     |
[INFO] [stdout] 761 |         struct VersionResp {
[INFO] [stdout]     |                ----------- field in this struct
[INFO] [stdout] 762 |             #[serde(rename = "code")]
[INFO] [stdout] 763 |             code: i32,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/handlers/play.rs:604:17
[INFO] [stdout]     |
[INFO] [stdout] 604 |         assert!(lock.len() >= 0);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/sip/gb28181/stream_reconnect.rs:200:21
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     drop(sip);
[INFO] [stdout]     |                     ^^^^^---^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          argument has type `&std::sync::Arc<sip::server::SipServer>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 200 -                     drop(sip);
[INFO] [stdout] 200 +                     let _ = sip;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]     --> src/sip/server.rs:4271:9
[INFO] [stdout]      |
[INFO] [stdout] 4271 |         drop(socket);
[INFO] [stdout]      |         ^^^^^------^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              argument has type `&std::sync::Arc<tokio::net::UdpSocket>`
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]      |
[INFO] [stdout] 4271 -         drop(socket);
[INFO] [stdout] 4271 +         let _ = socket;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]     --> src/sip/server.rs:4606:9
[INFO] [stdout]      |
[INFO] [stdout] 4606 |         drop(socket);
[INFO] [stdout]      |         ^^^^^------^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              argument has type `&std::sync::Arc<tokio::net::UdpSocket>`
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]      |
[INFO] [stdout] 4606 -         drop(socket);
[INFO] [stdout] 4606 +         let _ = socket;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]     --> src/sip/server.rs:4757:9
[INFO] [stdout]      |
[INFO] [stdout] 4757 |         drop(socket); // 释放读锁，避免死锁
[INFO] [stdout]      |         ^^^^^------^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              argument has type `&std::sync::Arc<tokio::net::UdpSocket>`
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]      |
[INFO] [stdout] 4757 -         drop(socket); // 释放读锁，避免死锁
[INFO] [stdout] 4757 +         let _ = socket; // 释放读锁，避免死锁
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]     --> src/sip/server.rs:4958:9
[INFO] [stdout]      |
[INFO] [stdout] 4958 |         drop(socket);
[INFO] [stdout]      |         ^^^^^------^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              argument has type `&std::sync::Arc<tokio::net::UdpSocket>`
[INFO] [stdout]      |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]      |
[INFO] [stdout] 4958 -         drop(socket);
[INFO] [stdout] 4958 +         let _ = socket;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/cascade/register.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |             drop(sip);
[INFO] [stdout]     |             ^^^^^---^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  argument has type `&sip::server::SipServer`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 311 -             drop(sip);
[INFO] [stdout] 311 +             let _ = sip;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/cascade/register.rs:346:9
[INFO] [stdout]     |
[INFO] [stdout] 346 |         drop(sip);
[INFO] [stdout]     |         ^^^^^---^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&sip::server::SipServer`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 346 -         drop(sip);
[INFO] [stdout] 346 +         let _ = sip;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/cascade/register.rs:540:17
[INFO] [stdout]     |
[INFO] [stdout] 540 |                 drop(sip);
[INFO] [stdout]     |                 ^^^^^---^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      argument has type `&sip::server::SipServer`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 540 -                 drop(sip);
[INFO] [stdout] 540 +                 let _ = sip;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1e5c7b135c5d3aa5eb2014a3d2e0a24ed417277ff3d316697af1b6b6d35c4aa8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e5c7b135c5d3aa5eb2014a3d2e0a24ed417277ff3d316697af1b6b6d35c4aa8", kill_on_drop: false }`
[INFO] [stdout] 1e5c7b135c5d3aa5eb2014a3d2e0a24ed417277ff3d316697af1b6b6d35c4aa8
