[INFO] fetching crate rzmq 0.5.28...
[INFO] checking rzmq-0.5.28 against a7c37f9f0ee5e93396106e9de20f4a86b4154e63 for pr-129249-4
[INFO] extracting crate rzmq 0.5.28 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate rzmq 0.5.28
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate rzmq 0.5.28
[INFO] tweaked toml for crates.io crate rzmq 0.5.28 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rzmq 0.5.28 on toolchain a7c37f9f0ee5e93396106e9de20f4a86b4154e63
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a7c37f9f0ee5e93396106e9de20f4a86b4154e63" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rzmq 0.5.28 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" "+a7c37f9f0ee5e93396106e9de20f4a86b4154e63" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:224:12
[INFO] [stderr]     |
[INFO] [stderr] 224 | homepage = "https://github.com/excsn/rzmq"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 230 | repository = "https://github.com/excsn/rzmq"
[INFO] [stderr]     |              -------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `rzmq` (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded xskiplist v0.1.0
[INFO] [stderr]   Downloaded xs_x25519-dalek v2.0.2
[INFO] [stderr]   Downloaded serial_test v3.5.0
[INFO] [stderr]   Downloaded serial_test_derive v3.5.0
[INFO] [stderr]   Downloaded const-siphasher v1.0.2
[INFO] [stderr]   Downloaded sha2 v0.11.1
[INFO] [stderr]   Downloaded tokio-test v0.4.6
[INFO] [stderr]   Downloaded shuttle-schedulers v0.1.1
[INFO] [stderr]   Downloaded rstest v0.26.1
[INFO] [stderr]   Downloaded rand_pcg v0.3.1
[INFO] [stderr]   Downloaded assoc v0.1.3
[INFO] [stderr]   Downloaded atomic_float v1.1.0
[INFO] [stderr]   Downloaded rstest_macros v0.26.1
[INFO] [stderr]   Downloaded shuttle-std v0.1.4
[INFO] [stderr]   Downloaded eventfd v0.2.0
[INFO] [stderr]   Downloaded owo-colors v4.4.0
[INFO] [stderr]   Downloaded async-recursion v1.2.0
[INFO] [stderr]   Downloaded bench_matrix v0.2.2
[INFO] [stderr]   Downloaded corosensei v0.3.4
[INFO] [stderr]   Downloaded generator v0.8.11
[INFO] [stderr]   Downloaded shuttle-engine v0.1.5
[INFO] [stderr]   Downloaded xs_foundation v0.4.10
[INFO] [stderr]   Downloaded papaya v0.2.5
[INFO] [stderr]   Downloaded shuttle v0.9.7
[INFO] [stderr]   Downloaded fibre v0.6.7
[INFO] [stderr]   Downloaded xs_curve25519-dalek v4.1.4
[INFO] [stderr]   Downloaded nix v0.24.3
[INFO] [stderr]   Downloaded snow v0.9.6
[INFO] [stderr]   Downloaded dryoc v0.7.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 17ea58f118c3eda282b4ee6003d66169af1fe5b9b4c986250682f50518d19864
[INFO] running `Command { std: "docker" "start" "17ea58f118c3eda282b4ee6003d66169af1fe5b9b4c986250682f50518d19864", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "17ea58f118c3eda282b4ee6003d66169af1fe5b9b4c986250682f50518d19864", 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" "17ea58f118c3eda282b4ee6003d66169af1fe5b9b4c986250682f50518d19864" "/opt/rustwide/cargo-home/bin/cargo" "+a7c37f9f0ee5e93396106e9de20f4a86b4154e63" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "17ea58f118c3eda282b4ee6003d66169af1fe5b9b4c986250682f50518d19864", 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" "17ea58f118c3eda282b4ee6003d66169af1fe5b9b4c986250682f50518d19864" "/opt/rustwide/cargo-home/bin/cargo" "+a7c37f9f0ee5e93396106e9de20f4a86b4154e63" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:224:12
[INFO] [stderr]     |
[INFO] [stderr] 224 | homepage = "https://github.com/excsn/rzmq"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 230 | repository = "https://github.com/excsn/rzmq"
[INFO] [stderr]     |              -------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `rzmq` (manifest) generated 1 warning
[INFO] [stderr]    Compiling syn v3.0.9
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling zerocopy v0.8.63
[INFO] [stderr]     Checking smallvec v1.16.3
[INFO] [stderr]     Checking futures-channel v0.3.34
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking either v1.19.0
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]    Compiling find-msvc-tools v0.1.14
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling equivalent v1.0.3
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking const-oid v0.10.2
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]    Compiling cc v1.8.0
[INFO] [stderr]     Checking clap_lex v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking serde_json v1.0.154
[INFO] [stderr]    Compiling rstest_macros v0.26.1
[INFO] [stderr]     Checking seize v0.5.1
[INFO] [stderr]     Checking cpufeatures v0.3.1
[INFO] [stderr]     Checking log v0.4.34
[INFO] [stderr]     Checking papaya v0.2.5
[INFO] [stderr]     Checking clap_builder v4.6.7
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]     Checking seahash v4.1.0
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking arc-swap v1.9.2
[INFO] [stderr]    Compiling indexmap v2.14.2
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking thread_local v1.1.10
[INFO] [stderr]     Checking atomic_float v1.1.0
[INFO] [stderr]     Checking futures-timer v3.0.4
[INFO] [stderr]     Checking hybrid-array v0.4.15
[INFO] [stderr]    Compiling toml_parser v1.1.5+spec-1.1.0
[INFO] [stderr]     Checking criterion-plot v0.8.2
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]    Compiling toml_edit v0.25.17+spec-1.1.0
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]     Checking clap v4.6.7
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]     Checking block-buffer v0.12.1
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]     Checking sha2 v0.11.1
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]    Compiling async-recursion v1.2.0
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]     Checking tokio v1.53.3
[INFO] [stderr]     Checking thiserror v2.0.21
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]    Compiling zerocopy-derive v0.8.63
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling serial_test_derive v3.5.0
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking futures-executor v0.3.34
[INFO] [stderr]     Checking fibre v0.6.7
[INFO] [stderr]     Checking futures v0.3.34
[INFO] [stderr]     Checking serial_test v3.5.0
[INFO] [stderr]     Checking rstest v0.26.1
[INFO] [stderr]     Checking tokio-util v0.7.20
[INFO] [stderr]     Checking tokio-stream v0.1.19
[INFO] [stderr]     Checking tokio-test v0.4.6
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking criterion v0.8.2
[INFO] [stderr]     Checking xskiplist v0.1.0
[INFO] [stderr]     Checking xs_foundation v0.4.10
[INFO] [stderr]     Checking rzmq v0.5.28 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking bench_matrix v0.2.2
[INFO] [stdout] warning: unused import: `std::os::unix::io::RawFd`
[INFO] [stdout]   --> src/runtime/command.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::os::unix::io::RawFd;
[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: `MailboxSyncSender`
[INFO] [stdout]   --> src/runtime/mod.rs:14:67
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) use mailbox::{mailbox, MailboxReceiver, MailboxSender, MailboxSyncSender};
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::runtime::ActorType`
[INFO] [stdout]  --> src/socket/core/command_processor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::runtime::ActorType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::socket::core::pipe_manager`
[INFO] [stdout]   --> src/socket/core/command_processor.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::socket::core::pipe_manager;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConservationCounters`
[INFO] [stdout]   --> src/socket/core/command_processor.rs:17:47
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::socket::core::state::{ConnectPipe, ConservationCounters, CoreState, EndpointInfo, EndpointType, ShutdownPhase, listener_k...
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `connection_lifecycle`
[INFO] [stdout]   --> src/socket/core/command_processor.rs:18:39
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::socket::core::{SocketCore, connection_lifecycle, shutdown};
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]   --> src/socket/core/pipe_manager.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tokio::task::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]   --> src/transport/tcp.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use tracing::info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stub::LoopProfiler`
[INFO] [stdout]    --> src/profiler.rs:120:16
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) use stub::LoopProfiler;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/transport/ipc.rs:98:67
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let max_conns = options.max_connections.unwrap_or(std::usize::MAX);
[INFO] [stdout]    |                                                                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/transport/tcp.rs:143:67
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let max_conns = options.max_connections.unwrap_or(std::usize::MAX);
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::io::RawFd`
[INFO] [stdout]   --> src/runtime/command.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::os::unix::io::RawFd;
[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: `MailboxSyncSender`
[INFO] [stdout]   --> src/runtime/mod.rs:14:67
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) use mailbox::{mailbox, MailboxReceiver, MailboxSender, MailboxSyncSender};
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::runtime::ActorType`
[INFO] [stdout]  --> src/socket/core/command_processor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::runtime::ActorType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::socket::core::pipe_manager`
[INFO] [stdout]   --> src/socket/core/command_processor.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::socket::core::pipe_manager;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConservationCounters`
[INFO] [stdout]   --> src/socket/core/command_processor.rs:17:47
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::socket::core::state::{ConnectPipe, ConservationCounters, CoreState, EndpointInfo, EndpointType, ShutdownPhase, listener_k...
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `connection_lifecycle`
[INFO] [stdout]   --> src/socket/core/command_processor.rs:18:39
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::socket::core::{SocketCore, connection_lifecycle, shutdown};
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]   --> src/socket/core/pipe_manager.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tokio::task::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]     --> src/socket/patterns/ready_pipe_queue.rs:1571:7
[INFO] [stdout]      |
[INFO] [stdout] 1571 |   use std::sync::atomic::Ordering;
[INFO] [stdout]      |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]   --> src/transport/tcp.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use tracing::info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stub::LoopProfiler`
[INFO] [stdout]    --> src/profiler.rs:120:16
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) use stub::LoopProfiler;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/transport/ipc.rs:98:67
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let max_conns = options.max_connections.unwrap_or(std::usize::MAX);
[INFO] [stdout]    |                                                                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/transport/tcp.rs:143:67
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let max_conns = options.max_connections.unwrap_or(std::usize::MAX);
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/socket/core/command_processor.rs:595:5
[INFO] [stdout]     |
[INFO] [stdout] 595 |     _ => bind_result = Err(ZmqError::UnsupportedTransport(endpoint.to_string())),
[INFO] [stdout]     |     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/socket/core/command_processor.rs:595:5
[INFO] [stdout]     |
[INFO] [stdout] 468 |     Ok(Endpoint::Tcp(_addr, ref uri_from_parse)) => {
[INFO] [stdout]     |     -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 522 |     Ok(Endpoint::Ipc(ref path_buf, ref uri_from_parse)) => {
[INFO] [stdout]     |     --------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 574 |     Ok(Endpoint::Inproc(ref name)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 594 |     Err(e) => bind_result = Err(e), // Error from parse_endpoint
[INFO] [stdout]     |     ------ matches some of the same values
[INFO] [stdout] 595 |     _ => bind_result = Err(ZmqError::UnsupportedTransport(endpoint.to_string())),
[INFO] [stdout]     |     ^ collectively making this unreachable
[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/socket/core/command_processor.rs:671:5
[INFO] [stdout]     |
[INFO] [stdout] 671 |     _ => {
[INFO] [stdout]     |     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/socket/core/command_processor.rs:671:5
[INFO] [stdout]     |
[INFO] [stdout] 635 |     Ok(Endpoint::Tcp(_, ref parsed_uri_for_connecter)) => {
[INFO] [stdout]     |     -------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 647 |     Ok(Endpoint::Ipc(_, ref parsed_uri_for_connecter)) => {
[INFO] [stdout]     |     -------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 659 |     Ok(Endpoint::Inproc(ref name)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 668 |     Err(e) => {
[INFO] [stdout]     |     ------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 671 |     _ => {
[INFO] [stdout]     |     ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/socket/core/command_processor.rs:942:5
[INFO] [stdout]     |
[INFO] [stdout] 942 |     _ => {
[INFO] [stdout]     |     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/socket/core/command_processor.rs:942:5
[INFO] [stdout]     |
[INFO] [stdout] 875 |     Ok(Endpoint::Tcp(_, _)) => {
[INFO] [stdout]     |     ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 906 |     Ok(Endpoint::Ipc(path_buf, _)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 927 |     Ok(Endpoint::Inproc(_)) => {
[INFO] [stdout]     |     ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 930 |     Err(err) => {
[INFO] [stdout]     |     -------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 942 |     _ => {
[INFO] [stdout]     |     ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/socket/core/command_processor.rs:595:5
[INFO] [stdout]     |
[INFO] [stdout] 595 |     _ => bind_result = Err(ZmqError::UnsupportedTransport(endpoint.to_string())),
[INFO] [stdout]     |     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/socket/core/command_processor.rs:595:5
[INFO] [stdout]     |
[INFO] [stdout] 468 |     Ok(Endpoint::Tcp(_addr, ref uri_from_parse)) => {
[INFO] [stdout]     |     -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 522 |     Ok(Endpoint::Ipc(ref path_buf, ref uri_from_parse)) => {
[INFO] [stdout]     |     --------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 574 |     Ok(Endpoint::Inproc(ref name)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 594 |     Err(e) => bind_result = Err(e), // Error from parse_endpoint
[INFO] [stdout]     |     ------ matches some of the same values
[INFO] [stdout] 595 |     _ => bind_result = Err(ZmqError::UnsupportedTransport(endpoint.to_string())),
[INFO] [stdout]     |     ^ collectively making this unreachable
[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/socket/core/command_processor.rs:671:5
[INFO] [stdout]     |
[INFO] [stdout] 671 |     _ => {
[INFO] [stdout]     |     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/socket/core/command_processor.rs:671:5
[INFO] [stdout]     |
[INFO] [stdout] 635 |     Ok(Endpoint::Tcp(_, ref parsed_uri_for_connecter)) => {
[INFO] [stdout]     |     -------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 647 |     Ok(Endpoint::Ipc(_, ref parsed_uri_for_connecter)) => {
[INFO] [stdout]     |     -------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 659 |     Ok(Endpoint::Inproc(ref name)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 668 |     Err(e) => {
[INFO] [stdout]     |     ------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 671 |     _ => {
[INFO] [stdout]     |     ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/socket/core/command_processor.rs:942:5
[INFO] [stdout]     |
[INFO] [stdout] 942 |     _ => {
[INFO] [stdout]     |     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/socket/core/command_processor.rs:942:5
[INFO] [stdout]     |
[INFO] [stdout] 875 |     Ok(Endpoint::Tcp(_, _)) => {
[INFO] [stdout]     |     ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 906 |     Ok(Endpoint::Ipc(path_buf, _)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 927 |     Ok(Endpoint::Inproc(_)) => {
[INFO] [stdout]     |     ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 930 |     Err(err) => {
[INFO] [stdout]     |     -------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 942 |     _ => {
[INFO] [stdout]     |     ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/ipc.rs:306:19
[INFO] [stdout]     |
[INFO] [stdout] 306 |               let mut unix_stream_opt = Some(unix_stream);
[INFO] [stdout]     |                   ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/ipc.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let mut loop_error_to_report: Option<ZmqError>;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/ipc.rs:598:17
[INFO] [stdout]     |
[INFO] [stdout] 598 |             let mut unix_stream_opt = Some(unix_stream);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/ipc.rs:306:19
[INFO] [stdout]     |
[INFO] [stdout] 306 |               let mut unix_stream_opt = Some(unix_stream);
[INFO] [stdout]     |                   ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/ipc.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let mut loop_error_to_report: Option<ZmqError>;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/ipc.rs:598:17
[INFO] [stdout]     |
[INFO] [stdout] 598 |             let mut unix_stream_opt = Some(unix_stream);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `popped_msgs`
[INFO] [stdout]   --> src/sessionx/egress_driver.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 |       let popped_msgs = this.egress_buffer.advance(n);
[INFO] [stdout]    |           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_popped_msgs`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `site`
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:322:3
[INFO] [stdout]     |
[INFO] [stdout] 322 |   site: &str,
[INFO] [stdout]     |   ^^^^ help: if this is intentional, prefix it with an underscore: `_site`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `spins` is assigned to, but never used
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:324:7
[INFO] [stdout]     |
[INFO] [stdout] 324 |   let mut spins = 0usize;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_spins` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `spins` is never read
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout] 329 |         spins += 1;
[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: `use_io_uring`
[INFO] [stdout]    --> src/transport/ipc.rs:289:15
[INFO] [stdout]     |
[INFO] [stdout] 289 |           let use_io_uring = false;
[INFO] [stdout]     |               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_io_uring`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `connect_use_io_uring`
[INFO] [stdout]    --> src/transport/ipc.rs:596:17
[INFO] [stdout]     |
[INFO] [stdout] 596 |             let connect_use_io_uring = false;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connect_use_io_uring`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket_type`
[INFO] [stdout]    --> src/transport/tcp.rs:496:25
[INFO] [stdout]     |
[INFO] [stdout] 496 |                     let socket_type = socket_options_clone.socket_type_name.as_str();
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `setup_successful` is never read
[INFO] [stdout]    --> src/transport/tcp.rs:478:19
[INFO] [stdout]     |
[INFO] [stdout] 478 |                   setup_successful = false;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `popped_msgs`
[INFO] [stdout]   --> src/sessionx/egress_driver.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 |       let popped_msgs = this.egress_buffer.advance(n);
[INFO] [stdout]    |           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_popped_msgs`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket_type`
[INFO] [stdout]     --> src/transport/tcp.rs:1079:17
[INFO] [stdout]      |
[INFO] [stdout] 1079 |             let socket_type = self.socket_options.socket_type_name.as_str();
[INFO] [stdout]      |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `binder_core_id` is never read
[INFO] [stdout]   --> src/context.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) struct InprocBinding {
[INFO] [stdout]    |                   ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |   pub(crate) binder_core_id: usize,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InprocBinding` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PeerAddress` is never constructed
[INFO] [stdout]    --> src/message/metadata.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct PeerAddress(pub SocketAddr);
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ZapUserId` is never constructed
[INFO] [stdout]    --> src/message/metadata.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct ZapUserId(pub String);
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAT_THRESHOLD` is never used
[INFO] [stdout]   --> src/protocol/zmtp/engine.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const FLAT_THRESHOLD: usize = 16 * 1024; // 16 KiB
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `check_handshake_deadline`, `heartbeats_enabled`, `frame_batch`, `frame_batch_vectored`, `frame_msgs`, and `on_app_message` are never used
[INFO] [stdout]    --> src/protocol/zmtp/engine.rs:124:10
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl ZmtpEngine {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |   pub fn check_handshake_deadline(&mut self, now: Instant) -> EngineOutput {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |   pub fn heartbeats_enabled(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |   pub fn frame_batch(&mut self, batch: &[FrameBatch]) -> Result<Bytes, ZmqError> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |   pub fn frame_batch_vectored(&mut self, batch: &[FrameBatch]) -> Result<Vec<Bytes>, ZmqError> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |   pub fn frame_msgs(&mut self, msgs: FrameBatch) -> Result<Bytes, ZmqError> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |   pub fn on_app_message(&mut self, msgs: FrameBatch) -> EngineOutput {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `notify` is never read
[INFO] [stdout]  --> src/runtime/latch.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct CountDownLatch {
[INFO] [stdout]   |                   -------------- field in this struct
[INFO] [stdout] 7 |   count: Arc<AtomicUsize>,
[INFO] [stdout] 8 |   notify: Arc<Notify>,
[INFO] [stdout]   |   ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `CountDownLatch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `count_down`, and `await_` are never used
[INFO] [stdout]   --> src/runtime/latch.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl CountDownLatch {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 12 |   /// Creates a new latch initialized with the given count.
[INFO] [stdout] 13 |   pub fn new(count: usize) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |   pub async fn count_down(&self) {
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |   pub async fn await_(&self) {
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MailboxSyncSender` is never used
[INFO] [stdout]   --> src/runtime/mailbox.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) type MailboxSyncSender = mpsc::BoundedSyncSender<Command>;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IDataCipher` is never used
[INFO] [stdout]  --> src/security/cipher.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait IDataCipher: Send + Sync + 'static {
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_msg_multipart`, `write_msg_split`, `frame_vectored`, and `try_read_msgs_from_bytes` are never used
[INFO] [stdout]   --> src/security/framer/mod.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) trait ISecureFramer: Send + Sync + 'static {
[INFO] [stdout]    |                  ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 15 |   fn write_msg_multipart(&mut self, msgs: FrameBatch) -> Result<Bytes, ZmqError>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |   fn write_msg_split(&mut self, msg: Msg) -> Result<(Bytes, Option<Bytes>), ZmqError> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |   fn frame_vectored(&mut self, batch: &[FrameBatch]) -> Result<Vec<Bytes>, ZmqError> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |   fn try_read_msgs_from_bytes(
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LengthPrefixedFramer` is never constructed
[INFO] [stdout]    --> src/security/framer/mod.rs:109:19
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub(crate) struct LengthPrefixedFramer {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `frame_with_length_prefix` are never used
[INFO] [stdout]    --> src/security/framer/mod.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl LengthPrefixedFramer {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 118 |   pub(crate) fn new(cipher: Box<dyn IDataCipher>, max_msg_size: i64, sndbatch_count: usize, sndbatch_bytes_physical: usize) -> Self {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |   fn frame_with_length_prefix(&mut self, plaintext: &[u8]) -> Result<Bytes, ZmqError> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `header_slab` is never read
[INFO] [stdout]   --> src/security/framer/encoder.rs:32:3
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(crate) struct ZmtpFrameEncoder {
[INFO] [stdout]    |                   ---------------- field in this struct
[INFO] [stdout] 32 |   header_slab: BytesMut,
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `frame_vectored` is never used
[INFO] [stdout]    --> src/security/framer/encoder.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl ZmtpFrameEncoder {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 128 |   pub fn frame_vectored(&mut self, batch: &[FrameBatch]) -> Result<Vec<Bytes>, ZmqError> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ContinueWaiting` is never constructed
[INFO] [stdout]   --> src/security/mechanism.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) enum ProcessTokenAction {
[INFO] [stdout]    |                 ------------------ variant in this enum
[INFO] [stdout] 16 |   /// No immediate action is required. The handler should wait for the next event.
[INFO] [stdout] 17 |   ContinueWaiting,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProcessTokenAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `peak_messages`, `peak_bytes`, `current_slice`, and `total_pending_bytes` are never used
[INFO] [stdout]    --> src/sessionx/egress_buffer.rs:39:17
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl EgressBuffer {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  39 |   pub(crate) fn peak_messages(&self) -> usize {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |   pub(crate) fn peak_bytes(&self) -> usize {
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |   pub(crate) fn current_slice(&self) -> Option<&[u8]> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |   pub(crate) fn total_pending_bytes(&self) -> usize {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `actor_handle` is never read
[INFO] [stdout]   --> src/sessionx/egress_driver.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct EgressDriver<'a, W: ZmtpWriteHalf> {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |   actor_handle: usize,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expecting_first_frame_of_new_zmq_message` is never read
[INFO] [stdout]   --> src/sessionx/cork.rs:14:3
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct TcpCorkInfoX {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |   expecting_first_frame_of_new_zmq_message: bool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TcpCorkInfoX` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fd`, `is_expecting_first_frame`, and `set_expecting_first_frame` are never used
[INFO] [stdout]   --> src/sessionx/cork.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl TcpCorkInfoX {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |   pub(crate) fn fd(&self) -> RawFd {
[INFO] [stdout]    |                 ^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |   pub(crate) fn is_expecting_first_frame(&self) -> bool {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |   pub(crate) fn set_expecting_first_frame(&mut self, expecting: bool) {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sndtimeo`, `use_send_zerocopy`, `use_recv_multishot`, `rcvhwm`, and `rcvbuf` are never read
[INFO] [stdout]    --> src/socket/options.rs:302:7
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub(crate) struct ZmtpEngineConfig {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 302 |   pub sndtimeo: Option<Duration>,
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |   pub use_send_zerocopy: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 309 |   pub use_recv_multishot: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |   pub rcvhwm: usize,
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 342 |   pub rcvbuf: Option<usize>,
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ZmtpEngineConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_key_option` is never used
[INFO] [stdout]    --> src/socket/options.rs:684:15
[INFO] [stdout]     |
[INFO] [stdout] 684 | pub(crate) fn parse_key_option<const N: usize>(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_connections` is never used
[INFO] [stdout]    --> src/socket/patterns/load_balancer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl LoadBalancer {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |   pub fn has_connections(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_connections` is never used
[INFO] [stdout]   --> src/socket/patterns/outgoing_orchestrator.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl OutgoingMessageOrchestrator {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |   pub fn has_connections(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reserved_of` is never used
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn reserved_of(counts: u64) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `capacity` and `lwm` are never read
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:179:3
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub(crate) struct PipeSlot<T: Send + 'static> {
[INFO] [stdout]     |                   -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 179 |   capacity: usize,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |   pub(crate) lwm: usize,
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reserved`, `capacity`, `is_congested`, and `is_drained` are never used
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:246:10
[INFO] [stdout]     |
[INFO] [stdout] 234 | impl<T: Send + 'static> PipeSlot<T> {
[INFO] [stdout]     | ----------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 246 |   pub fn reserved(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |   pub fn is_drained(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/socket/patterns/ready_pipe_queue.rs:854:10
[INFO] [stdout]      |
[INFO] [stdout]  797 | impl<T: Send + 'static> ReadyPipeSender<T> {
[INFO] [stdout]      | ------------------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  854 |   pub fn try_send(&self, item: T) -> Result<(), TrySendError<T>> {
[INFO] [stdout]      |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1043 |   pub fn queued_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1047 |   pub fn reserved_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1051 |   pub fn len(&self) -> usize {
[INFO] [stdout]      |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1055 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1063 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1071 |   pub fn is_drained(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/socket/patterns/ready_pipe_queue.rs:1211:10
[INFO] [stdout]      |
[INFO] [stdout] 1143 | impl PipeMessageSender {
[INFO] [stdout]      | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1211 |   pub fn try_send_sync(&self, batch: FrameBatch) -> Result<(), TrySendError<FrameBatch>> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1341 |   pub fn queued_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1350 |   pub fn reserved_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1359 |   pub fn len(&self) -> usize {
[INFO] [stdout]      |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1368 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1377 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1386 |   pub fn is_drained(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_identity_by_read_pipe` is never used
[INFO] [stdout]   --> src/socket/patterns/router.rs:97:16
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl RouterMap {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 97 |   pub async fn get_identity_by_read_pipe(&self, pipe_read_id: usize) -> Option<Blob> {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_read_chunk` is never used
[INFO] [stdout]   --> src/transport/mod.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) trait ZmtpReadHalf: AsyncRead + Unpin + Send + std::fmt::Debug + 'static {
[INFO] [stdout]    |                  ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 45 |   fn try_read_chunk(&mut self, _buf: &mut [u8]) -> std::io::Result<usize> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connection_id` is never read
[INFO] [stdout]   --> src/transport/inproc/connection.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct DirectInprocConnection {
[INFO] [stdout]    |                   ---------------------- field in this struct
[INFO] [stdout] 16 |   pub connection_id: usize,
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DirectInprocConnection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connector_id` is never read
[INFO] [stdout]   --> src/transport/inproc/types.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct InprocHandshakeRequest {
[INFO] [stdout]    |                   ---------------------- field in this struct
[INFO] [stdout] 10 |   pub connector_id: usize,
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `binder_id` is never read
[INFO] [stdout]   --> src/transport/inproc/types.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) struct InprocHandshakeResponse {
[INFO] [stdout]    |                   ----------------------- field in this struct
[INFO] [stdout] 19 |   pub binder_id: usize,
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InprocHandshakeResponse` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `verify_response` is never used
[INFO] [stdout]   --> src/transport/inproc/types.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl InprocHandshakeRequest {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] 30 |   pub fn verify_response(&self, response: &InprocHandshakeResponse) -> Result<(), ZmqError> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `begin_work` is never used
[INFO] [stdout]    --> src/throttle/mod.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl AdaptiveThrottle {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 119 |   pub fn begin_work(&self, dir: Direction) -> ThrottleGuard {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProfileGuard` is never constructed
[INFO] [stdout]   --> src/profiler.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 |   pub struct ProfileGuard;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoopProfiler` is never constructed
[INFO] [stdout]   --> src/profiler.rs:95:14
[INFO] [stdout]    |
[INFO] [stdout] 95 |   pub struct LoopProfiler;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `loop_start`, `profile`, and `log_and_reset_for_next_loop` are never used
[INFO] [stdout]    --> src/profiler.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  97 |   impl LoopProfiler {
[INFO] [stdout]     |   ----------------- associated items in this implementation
[INFO] [stdout]  98 |     #[inline(always)]
[INFO] [stdout]  99 |     pub fn new(_threshold: Duration, _log_interval: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn loop_start(&mut self) {}
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn profile(&mut self, _index: usize, _label: &'static str) -> ProfileGuard {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn log_and_reset_for_next_loop(&mut self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/socket/core/inproc_reader.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 |       rx.try_recv_batch_mut(&mut drain_buf, rcvbatch_count - 1);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |       let _ = rx.try_recv_batch_mut(&mut drain_buf, rcvbatch_count - 1);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:771:5
[INFO] [stdout]     |
[INFO] [stdout] 771 |     self.ready_tx.close();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 771 |     let _ = self.ready_tx.close();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/transport/inproc/connection.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     self.peer_queue_sender.close();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let _ = self.peer_queue_sender.close();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `site`
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:322:3
[INFO] [stdout]     |
[INFO] [stdout] 322 |   site: &str,
[INFO] [stdout]     |   ^^^^ help: if this is intentional, prefix it with an underscore: `_site`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `spins` is assigned to, but never used
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:324:7
[INFO] [stdout]     |
[INFO] [stdout] 324 |   let mut spins = 0usize;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_spins` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `spins` is never read
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout] 329 |         spins += 1;
[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 imports: `AsyncBenchmarkLogicFn`, `AsyncSetupFn`, `AsyncTeardownFn`, `ExtractorFn`, `GlobalSetupFn`, and `GlobalTeardownFn`
[INFO] [stdout]  --> benches/pub_sub_throughput.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     ExtractorFn, GlobalSetupFn, GlobalTeardownFn,
[INFO] [stdout]   |     ^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     async_suite::{AsyncBenchmarkLogicFn, AsyncBenchmarkSuite, AsyncSetupFn, AsyncTeardownFn},
[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 imports: `AsyncBenchmarkLogicFn`, `AsyncSetupFn`, `AsyncTeardownFn`, `ExtractorFn`, `GlobalSetupFn`, and `GlobalTeardownFn`
[INFO] [stdout]  --> benches/push_pull_throughput.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     ExtractorFn, GlobalSetupFn, GlobalTeardownFn,
[INFO] [stdout]   |     ^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     async_suite::{AsyncBenchmarkLogicFn, AsyncBenchmarkSuite, AsyncSetupFn, AsyncTeardownFn},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead
[INFO] [stdout]  --> benches/pub_sub_throughput.rs:8:40
[INFO] [stdout]   |
[INFO] [stdout] 8 | use criterion::{Criterion, Throughput, black_box, criterion_group, criterion_main};
[INFO] [stdout]   |                                        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncSetupFn` and `ExtractorFn`
[INFO] [stdout]  --> benches/req_rep_throughput.rs:3:40
[INFO] [stdout]   |
[INFO] [stdout] 3 |     async_suite::{AsyncBenchmarkSuite, AsyncSetupFn},
[INFO] [stdout]   |                                        ^^^^^^^^^^^^
[INFO] [stdout] 4 |     ExtractorFn,
[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: `tracing::level_filters::LevelFilter`
[INFO] [stdout]   --> benches/req_rep_throughput.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tracing::level_filters::LevelFilter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead
[INFO] [stdout]    --> benches/pub_sub_throughput.rs:202:35
[INFO] [stdout]     |
[INFO] [stdout] 202 |           let msg = Msg::from_vec(black_box(payload.clone()));
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead
[INFO] [stdout]    --> benches/pub_sub_throughput.rs:215:11
[INFO] [stdout]     |
[INFO] [stdout] 215 |           black_box(msg.data());
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead
[INFO] [stdout]  --> benches/push_pull_throughput.rs:8:40
[INFO] [stdout]   |
[INFO] [stdout] 8 | use criterion::{Criterion, Throughput, black_box, criterion_group, criterion_main};
[INFO] [stdout]   |                                        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead
[INFO] [stdout]    --> benches/push_pull_throughput.rs:205:35
[INFO] [stdout]     |
[INFO] [stdout] 205 |           let msg = Msg::from_vec(black_box(payload.clone()));
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead
[INFO] [stdout]    --> benches/push_pull_throughput.rs:220:15
[INFO] [stdout]     |
[INFO] [stdout] 220 |               black_box(msg.data());
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead
[INFO] [stdout]  --> benches/req_rep_throughput.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use criterion::{black_box, criterion_group, criterion_main, Criterion, Throughput};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead
[INFO] [stdout]    --> benches/req_rep_throughput.rs:199:11
[INFO] [stdout]     |
[INFO] [stdout] 199 |           black_box(req_msg.data());
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead
[INFO] [stdout]    --> benches/req_rep_throughput.rs:200:39
[INFO] [stdout]     |
[INFO] [stdout] 200 |           let rep_msg = Msg::from_vec(black_box(reply_payload.clone()));
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead
[INFO] [stdout]    --> benches/req_rep_throughput.rs:213:39
[INFO] [stdout]     |
[INFO] [stdout] 213 |           let req_msg = Msg::from_vec(black_box(request_payload.clone()));
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead
[INFO] [stdout]    --> benches/req_rep_throughput.rs:216:11
[INFO] [stdout]     |
[INFO] [stdout] 216 |           black_box(rep_msg.data());
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `seq` is never read
[INFO] [stdout]     --> src/socket/patterns/ready_pipe_queue.rs:1895:11
[INFO] [stdout]      |
[INFO] [stdout] 1895 |           seq += 1;
[INFO] [stdout]      |           ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncBenchmarkLogicFn`, `AsyncSetupFn`, `AsyncTeardownFn`, `ExtractorFn`, `GlobalSetupFn`, and `GlobalTeardownFn`
[INFO] [stdout]  --> benches/dealer_router_throughput.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 |     async_suite::{AsyncBenchmarkLogicFn, AsyncBenchmarkSuite, AsyncSetupFn, AsyncTeardownFn},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     ExtractorFn, GlobalSetupFn, GlobalTeardownFn,
[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: `Blob`
[INFO] [stdout]   --> benches/dealer_router_throughput.rs:14:3
[INFO] [stdout]    |
[INFO] [stdout] 14 |   Blob, Context, Msg, MsgFlags, SocketType, ZmqError,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead
[INFO] [stdout]  --> benches/dealer_router_throughput.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use criterion::{black_box, criterion_group, criterion_main, Criterion, Throughput};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead
[INFO] [stdout]    --> benches/dealer_router_throughput.rs:247:35
[INFO] [stdout]     |
[INFO] [stdout] 247 |           let msg = Msg::from_vec(black_box(payload_to_send.clone()));
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ctx_arc` is never read
[INFO] [stdout]   --> benches/pub_sub_throughput.rs:51:3
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct BenchState {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 51 |   ctx_arc: Arc<Context>,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ctx_arc` is never read
[INFO] [stdout]   --> benches/req_rep_throughput.rs:52:3
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct BenchState {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 52 |   ctx_arc: Arc<Context>,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> tests/dealer_dealer.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rzmq::{Context, Msg, SocketType, ZmqError};
[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: `Context`
[INFO] [stdout]  --> tests/dealer_rep.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rzmq::{Context, Msg, SocketType, ZmqError};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ctx_arc` is never read
[INFO] [stdout]   --> benches/push_pull_throughput.rs:51:3
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct BenchState {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 51 |   ctx_arc: Arc<Context>,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHORT_TIMEOUT` is never used
[INFO] [stdout]  --> tests/tcp_corking.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const SHORT_TIMEOUT: Duration = Duration::from_millis(500);
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> tests/dealer_router.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rzmq::{Context, Msg, MsgFlags, SocketType, ZmqError};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> tests/dealer_router.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_handshake_events` is never used
[INFO] [stdout]   --> examples/common/mod.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub async fn wait_for_handshake_events(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OwnedPermitGuard` is never constructed
[INFO] [stdout]  --> examples/common/capacity_gate.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) struct OwnedPermitGuard {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CapacityGate` is never constructed
[INFO] [stdout]   --> examples/common/capacity_gate.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) struct CapacityGate {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PermitGuard` is never used
[INFO] [stdout]   --> examples/common/capacity_gate.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) type PermitGuard<'a> = GenericSemaphoreReleaser<'a, RawMutex>;
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `acquire`, `acquire_owned`, `release`, `get_permits`, and `capacity` are never used
[INFO] [stdout]   --> examples/common/capacity_gate.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl CapacityGate {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 28 |   pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |   pub fn acquire(&self) -> impl Future<Output = PermitGuard<'_>> {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |   pub fn acquire_owned(self: Arc<Self>) -> impl Future<Output = OwnedPermitGuard> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |   pub fn release(&self) {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |   pub fn get_permits(&self) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Off` and `Verbose` are never constructed
[INFO] [stdout]   --> examples/dealrtr_multiclient.rs:31:3
[INFO] [stdout]    |
[INFO] [stdout] 30 | enum PrintLogLevel {
[INFO] [stdout]    |      ------------- variants in this enum
[INFO] [stdout] 31 |   Off,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 32 |   Info,
[INFO] [stdout] 33 |   Verbose,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PrintLogLevel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> examples/dealrtr_multiclient.rs:122:3
[INFO] [stdout]     |
[INFO] [stdout] 121 | struct DealerSenderStats {
[INFO] [stdout]     |        ----------------- field in this struct
[INFO] [stdout] 122 |   id: usize,
[INFO] [stdout]     |   ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DealerSenderStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_event` is never used
[INFO] [stdout]  --> examples/common/mod.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub async fn wait_for_event(
[INFO] [stdout]   |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_handshake_events` is never used
[INFO] [stdout]   --> examples/common/mod.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub async fn wait_for_handshake_events(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `capacity` is never read
[INFO] [stdout]   --> examples/common/capacity_gate.rs:21:3
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) struct CapacityGate {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] 21 |   capacity: usize,
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CapacityGate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PermitGuard` is never used
[INFO] [stdout]   --> examples/common/capacity_gate.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) type PermitGuard<'a> = GenericSemaphoreReleaser<'a, RawMutex>;
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `acquire`, `get_permits`, and `capacity` are never used
[INFO] [stdout]   --> examples/common/capacity_gate.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl CapacityGate {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |   pub fn acquire(&self) -> impl Future<Output = PermitGuard<'_>> {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |   pub fn get_permits(&self) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> examples/dealrtr_multiclient.rs:330:3
[INFO] [stdout]     |
[INFO] [stdout] 330 | /   tokio::time::timeout(SHUTDOWN_TIMEOUT, ctx.term())
[INFO] [stdout] 331 | |     .await
[INFO] [stdout] 332 | |     .expect("Context termination timed out!");
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 330 |   let _ = tokio::time::timeout(SHUTDOWN_TIMEOUT, ctx.term())
[INFO] [stdout]     |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SETUP_TIMEOUT` is never used
[INFO] [stdout]   --> benches/dealer_router_throughput.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const SETUP_TIMEOUT: Duration = Duration::from_secs(20);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ctx_arc` is never read
[INFO] [stdout]   --> benches/dealer_router_throughput.rs:53:3
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct BenchState {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 53 |   ctx_arc: Arc<Context>,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Off` and `Verbose` are never constructed
[INFO] [stdout]   --> examples/dealrtr_multitask.rs:30:3
[INFO] [stdout]    |
[INFO] [stdout] 29 | enum PrintLogLevel {
[INFO] [stdout]    |      ------------- variants in this enum
[INFO] [stdout] 30 |   Off,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 31 |   Info,
[INFO] [stdout] 32 |   Verbose,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PrintLogLevel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> examples/dealrtr_multitask.rs:107:3
[INFO] [stdout]     |
[INFO] [stdout] 106 | struct DealerSenderStats {
[INFO] [stdout]     |        ----------------- field in this struct
[INFO] [stdout] 107 |   id: usize,
[INFO] [stdout]     |   ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DealerSenderStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_event` is never used
[INFO] [stdout]  --> examples/common/mod.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub async fn wait_for_event(
[INFO] [stdout]   |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_handshake_events` is never used
[INFO] [stdout]   --> examples/common/mod.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub async fn wait_for_handshake_events(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `capacity` is never read
[INFO] [stdout]   --> examples/common/capacity_gate.rs:21:3
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) struct CapacityGate {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] 21 |   capacity: usize,
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CapacityGate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PermitGuard` is never used
[INFO] [stdout]   --> examples/common/capacity_gate.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) type PermitGuard<'a> = GenericSemaphoreReleaser<'a, RawMutex>;
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `acquire`, `get_permits`, and `capacity` are never used
[INFO] [stdout]   --> examples/common/capacity_gate.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl CapacityGate {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |   pub fn acquire(&self) -> impl Future<Output = PermitGuard<'_>> {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |   pub fn get_permits(&self) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> examples/dealrtr_multitask.rs:299:3
[INFO] [stdout]     |
[INFO] [stdout] 299 | /   tokio::time::timeout(SHUTDOWN_TIMEOUT, ctx.term())
[INFO] [stdout] 300 | |     .await
[INFO] [stdout] 301 | |     .expect("Context termination timed out!");
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 299 |   let _ = tokio::time::timeout(SHUTDOWN_TIMEOUT, ctx.term())
[INFO] [stdout]     |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RCVTIMEO`
[INFO] [stdout]  --> tests/dns.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 |     options::{LINGER, RCVTIMEO, RECONNECT_IVL}, SocketEvent, SNDTIMEO
[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: `Context`
[INFO] [stdout]  --> tests/inproc_minimal.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rzmq::{Context, Msg, SocketType, ZmqError};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHORT_TIMEOUT` is never used
[INFO] [stdout]  --> tests/dealer_rep.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const SHORT_TIMEOUT: Duration = Duration::from_millis(200);
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RCVTIMEO`
[INFO] [stdout]  --> tests/push_pull_load_balance.rs:7:48
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rzmq::socket::options::{IMMEDIATE, RCVHWM, RCVTIMEO, SNDHWM, SNDTIMEO};
[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 imports: `RCVBUF` and `SNDBUF`
[INFO] [stdout]  --> tests/push_pull_load_balance.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rzmq::socket::{RCVBUF, SNDBUF, SocketEvent};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> tests/maxmsgsize.rs:3:3
[INFO] [stdout]   |
[INFO] [stdout] 3 |   Context, Msg, SocketType, ZmqError,
[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: `Context`
[INFO] [stdout]  --> tests/mre_ingress_deadlock.rs:2:3
[INFO] [stdout]   |
[INFO] [stdout] 2 |   Context, Msg, SocketType, ZmqError,
[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 imports: `Context` and `Socket`
[INFO] [stdout]  --> tests/push_pull.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rzmq::{Context, Msg, Socket, SocketType, ZmqError};
[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: `Context`
[INFO] [stdout]  --> tests/pub_sub.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rzmq::{Context, Msg, MsgFlags, SocketType, ZmqError};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> tests/pub_sub.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> tests/req_router.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rzmq::{Context, Msg, SocketType, ZmqError};
[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: `Context`
[INFO] [stdout]  --> tests/push_pull_lifecycle.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rzmq::{Context, Msg, SocketType, ZmqError};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `tokio::net::TcpStream::set_linger`: `SO_LINGER` causes the socket to block the thread on drop
[INFO] [stdout]    --> tests/handshake_failure_events.rs:117:20
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let _ = stream.set_linger(Some(Duration::ZERO));
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> tests/security_plain.rs:164:7
[INFO] [stdout]     |
[INFO] [stdout] 158 |       Ok(Ok(event)) => {
[INFO] [stdout]     |       ------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 164 |       Ok(Ok(_)) => {}, // Ignore other events
[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: constant `SHORT_TIMEOUT` is never used
[INFO] [stdout]   --> tests/req_router.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const SHORT_TIMEOUT: Duration = Duration::from_millis(200);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/security_plain.rs:198:7
[INFO] [stdout]     |
[INFO] [stdout] 198 |   let mut monitor = client.monitor_default().await?;
[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: constant `SHORT_TIMEOUT` is never used
[INFO] [stdout]  --> tests/push_pull_lifecycle.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const SHORT_TIMEOUT: Duration = Duration::from_millis(250);
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dealer_endpoint_uri` is never read
[INFO] [stdout]    --> tests/dealer_router_advanced.rs:331:33
[INFO] [stdout]     |
[INFO] [stdout] 331 |   let mut dealer_endpoint_uri = "".to_string(); // Store the specific endpoint URI seen by router
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 351 |       } => dealer_endpoint_uri = format!("tcp://{}", peer_addr), // Should be tcp://<peer_ip>:<peer_port>
[INFO] [stdout]     |            ------------------- `dealer_endpoint_uri` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/security_plain.rs:253:29
[INFO] [stdout]     |
[INFO] [stdout] 253 |   if let Ok((client_socket, mut client_monitor)) = client_setup_result {
[INFO] [stdout]     |                             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> tests/router_router.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rzmq::{Context, Msg, MsgFlags, SocketType, ZmqError, socket::options::ROUTING_ID};
[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 imports: `Context`, `LINGER`, `RCVHWM`, and `SNDHWM`
[INFO] [stdout]  --> tests/socket_options.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 |   socket::options::{LAST_ENDPOINT, LINGER, MAXMSGSIZE, RCVHWM, SNDHWM},
[INFO] [stdout]   |                                    ^^^^^^              ^^^^^^  ^^^^^^
[INFO] [stdout] 3 |   Context, Msg, SocketType, ZmqError,
[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 variable: `use_io_uring`
[INFO] [stdout]    --> src/transport/ipc.rs:289:15
[INFO] [stdout]     |
[INFO] [stdout] 289 |           let use_io_uring = false;
[INFO] [stdout]     |               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_io_uring`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `connect_use_io_uring`
[INFO] [stdout]    --> src/transport/ipc.rs:596:17
[INFO] [stdout]     |
[INFO] [stdout] 596 |             let connect_use_io_uring = false;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connect_use_io_uring`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket_type`
[INFO] [stdout]    --> src/transport/tcp.rs:496:25
[INFO] [stdout]     |
[INFO] [stdout] 496 |                     let socket_type = socket_options_clone.socket_type_name.as_str();
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `setup_successful` is never read
[INFO] [stdout]    --> src/transport/tcp.rs:478:19
[INFO] [stdout]     |
[INFO] [stdout] 478 |                   setup_successful = false;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket_type`
[INFO] [stdout]     --> src/transport/tcp.rs:1079:17
[INFO] [stdout]      |
[INFO] [stdout] 1079 |             let socket_type = self.socket_options.socket_type_name.as_str();
[INFO] [stdout]      |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LONG_TIMEOUT` is never used
[INFO] [stdout]  --> tests/router_router.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const LONG_TIMEOUT: Duration = Duration::from_secs(2);
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAT_THRESHOLD` is never used
[INFO] [stdout]   --> src/protocol/zmtp/engine.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const FLAT_THRESHOLD: usize = 16 * 1024; // 16 KiB
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `check_handshake_deadline`, `heartbeats_enabled`, `frame_batch`, `frame_batch_vectored`, `frame_msgs`, and `on_app_message` are never used
[INFO] [stdout]    --> src/protocol/zmtp/engine.rs:124:10
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl ZmtpEngine {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |   pub fn check_handshake_deadline(&mut self, now: Instant) -> EngineOutput {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |   pub fn heartbeats_enabled(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |   pub fn frame_batch(&mut self, batch: &[FrameBatch]) -> Result<Bytes, ZmqError> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |   pub fn frame_batch_vectored(&mut self, batch: &[FrameBatch]) -> Result<Vec<Bytes>, ZmqError> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |   pub fn frame_msgs(&mut self, msgs: FrameBatch) -> Result<Bytes, ZmqError> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |   pub fn on_app_message(&mut self, msgs: FrameBatch) -> EngineOutput {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MailboxSyncSender` is never used
[INFO] [stdout]   --> src/runtime/mailbox.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) type MailboxSyncSender = mpsc::BoundedSyncSender<Command>;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IDataCipher` is never used
[INFO] [stdout]  --> src/security/cipher.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait IDataCipher: Send + Sync + 'static {
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_msg_multipart`, `write_msg_split`, `frame_vectored`, and `try_read_msgs_from_bytes` are never used
[INFO] [stdout]   --> src/security/framer/mod.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) trait ISecureFramer: Send + Sync + 'static {
[INFO] [stdout]    |                  ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 15 |   fn write_msg_multipart(&mut self, msgs: FrameBatch) -> Result<Bytes, ZmqError>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |   fn write_msg_split(&mut self, msg: Msg) -> Result<(Bytes, Option<Bytes>), ZmqError> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |   fn frame_vectored(&mut self, batch: &[FrameBatch]) -> Result<Vec<Bytes>, ZmqError> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |   fn try_read_msgs_from_bytes(
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LengthPrefixedFramer` is never constructed
[INFO] [stdout]    --> src/security/framer/mod.rs:109:19
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub(crate) struct LengthPrefixedFramer {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `frame_with_length_prefix` are never used
[INFO] [stdout]    --> src/security/framer/mod.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl LengthPrefixedFramer {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 118 |   pub(crate) fn new(cipher: Box<dyn IDataCipher>, max_msg_size: i64, sndbatch_count: usize, sndbatch_bytes_physical: usize) -> Self {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |   fn frame_with_length_prefix(&mut self, plaintext: &[u8]) -> Result<Bytes, ZmqError> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ContinueWaiting` is never constructed
[INFO] [stdout]   --> src/security/mechanism.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) enum ProcessTokenAction {
[INFO] [stdout]    |                 ------------------ variant in this enum
[INFO] [stdout] 16 |   /// No immediate action is required. The handler should wait for the next event.
[INFO] [stdout] 17 |   ContinueWaiting,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProcessTokenAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `peak_messages` and `peak_bytes` are never used
[INFO] [stdout]   --> src/sessionx/egress_buffer.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl EgressBuffer {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |   pub(crate) fn peak_messages(&self) -> usize {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |   pub(crate) fn peak_bytes(&self) -> usize {
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `actor_handle` is never read
[INFO] [stdout]   --> src/sessionx/egress_driver.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct EgressDriver<'a, W: ZmtpWriteHalf> {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |   actor_handle: usize,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expecting_first_frame_of_new_zmq_message` is never read
[INFO] [stdout]   --> src/sessionx/cork.rs:14:3
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct TcpCorkInfoX {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |   expecting_first_frame_of_new_zmq_message: bool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TcpCorkInfoX` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fd`, `is_expecting_first_frame`, and `set_expecting_first_frame` are never used
[INFO] [stdout]   --> src/sessionx/cork.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl TcpCorkInfoX {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |   pub(crate) fn fd(&self) -> RawFd {
[INFO] [stdout]    |                 ^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |   pub(crate) fn is_expecting_first_frame(&self) -> bool {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |   pub(crate) fn set_expecting_first_frame(&mut self, expecting: bool) {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sndtimeo`, `use_send_zerocopy`, `use_recv_multishot`, `rcvhwm`, and `rcvbuf` are never read
[INFO] [stdout]    --> src/socket/options.rs:302:7
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub(crate) struct ZmtpEngineConfig {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 302 |   pub sndtimeo: Option<Duration>,
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |   pub use_send_zerocopy: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 309 |   pub use_recv_multishot: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |   pub rcvhwm: usize,
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 342 |   pub rcvbuf: Option<usize>,
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ZmtpEngineConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_key_option` is never used
[INFO] [stdout]    --> src/socket/options.rs:684:15
[INFO] [stdout]     |
[INFO] [stdout] 684 | pub(crate) fn parse_key_option<const N: usize>(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_connections` is never used
[INFO] [stdout]    --> src/socket/patterns/load_balancer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl LoadBalancer {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |   pub fn has_connections(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_connections` is never used
[INFO] [stdout]   --> src/socket/patterns/outgoing_orchestrator.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl OutgoingMessageOrchestrator {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |   pub fn has_connections(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `capacity` and `lwm` are never read
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:179:3
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub(crate) struct PipeSlot<T: Send + 'static> {
[INFO] [stdout]     |                   -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 179 |   capacity: usize,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |   pub(crate) lwm: usize,
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `capacity`, `is_congested`, and `is_drained` are never used
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:250:10
[INFO] [stdout]     |
[INFO] [stdout] 234 | impl<T: Send + 'static> PipeSlot<T> {
[INFO] [stdout]     | ----------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 250 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |   pub fn is_drained(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `queued_count`, `reserved_count`, `len`, `capacity`, `is_congested`, and `is_drained` are never used
[INFO] [stdout]     --> src/socket/patterns/ready_pipe_queue.rs:1043:10
[INFO] [stdout]      |
[INFO] [stdout]  797 | impl<T: Send + 'static> ReadyPipeSender<T> {
[INFO] [stdout]      | ------------------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1043 |   pub fn queued_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1047 |   pub fn reserved_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1051 |   pub fn len(&self) -> usize {
[INFO] [stdout]      |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1055 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1063 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1071 |   pub fn is_drained(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/socket/patterns/ready_pipe_queue.rs:1211:10
[INFO] [stdout]      |
[INFO] [stdout] 1143 | impl PipeMessageSender {
[INFO] [stdout]      | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1211 |   pub fn try_send_sync(&self, batch: FrameBatch) -> Result<(), TrySendError<FrameBatch>> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1341 |   pub fn queued_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1350 |   pub fn reserved_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1359 |   pub fn len(&self) -> usize {
[INFO] [stdout]      |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1368 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1377 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1386 |   pub fn is_drained(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_read_chunk` is never used
[INFO] [stdout]   --> src/transport/mod.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) trait ZmtpReadHalf: AsyncRead + Unpin + Send + std::fmt::Debug + 'static {
[INFO] [stdout]    |                  ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 45 |   fn try_read_chunk(&mut self, _buf: &mut [u8]) -> std::io::Result<usize> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connection_id` is never read
[INFO] [stdout]   --> src/transport/inproc/connection.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct DirectInprocConnection {
[INFO] [stdout]    |                   ---------------------- field in this struct
[INFO] [stdout] 16 |   pub connection_id: usize,
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DirectInprocConnection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connector_id` is never read
[INFO] [stdout]   --> src/transport/inproc/types.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct InprocHandshakeRequest {
[INFO] [stdout]    |                   ---------------------- field in this struct
[INFO] [stdout] 10 |   pub connector_id: usize,
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `binder_id` is never read
[INFO] [stdout]   --> src/transport/inproc/types.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) struct InprocHandshakeResponse {
[INFO] [stdout]    |                   ----------------------- field in this struct
[INFO] [stdout] 19 |   pub binder_id: usize,
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InprocHandshakeResponse` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProfileGuard` is never constructed
[INFO] [stdout]   --> src/profiler.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 |   pub struct ProfileGuard;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoopProfiler` is never constructed
[INFO] [stdout]   --> src/profiler.rs:95:14
[INFO] [stdout]    |
[INFO] [stdout] 95 |   pub struct LoopProfiler;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `loop_start`, `profile`, and `log_and_reset_for_next_loop` are never used
[INFO] [stdout]    --> src/profiler.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  97 |   impl LoopProfiler {
[INFO] [stdout]     |   ----------------- associated items in this implementation
[INFO] [stdout]  98 |     #[inline(always)]
[INFO] [stdout]  99 |     pub fn new(_threshold: Duration, _log_interval: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn loop_start(&mut self) {}
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn profile(&mut self, _index: usize, _label: &'static str) -> ProfileGuard {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn log_and_reset_for_next_loop(&mut self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/socket/core/inproc_reader.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 |       rx.try_recv_batch_mut(&mut drain_buf, rcvbatch_count - 1);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |       let _ = rx.try_recv_batch_mut(&mut drain_buf, rcvbatch_count - 1);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:771:5
[INFO] [stdout]     |
[INFO] [stdout] 771 |     self.ready_tx.close();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 771 |     let _ = self.ready_tx.close();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/transport/inproc/connection.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     self.peer_queue_sender.close();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let _ = self.peer_queue_sender.close();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_PULLERS` is never used
[INFO] [stdout]   --> tests/shutdown_race.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const NUM_PULLERS: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TCP_NUM_PULLERS` is never used
[INFO] [stdout]    --> tests/shutdown_race.rs:425:7
[INFO] [stdout]     |
[INFO] [stdout] 425 | const TCP_NUM_PULLERS: usize = 1; // Must be 1 for TCP bind
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/shutdown_race.rs:365:3
[INFO] [stdout]     |
[INFO] [stdout] 365 |   pull_socket.close().await;
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 365 |   let _ = pull_socket.close().await;
[INFO] [stdout]     |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/shutdown_race.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     sck.close().await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 367 |     let _ = sck.close().await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `async-recursion`
[INFO] [stderr]   --> Cargo.toml:30:15
[INFO] [stderr]    |
[INFO] [stderr] 30 | [dependencies.async-recursion]
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `async-recursion`
[INFO] [stderr] warning: unused dependency `linked-hash-map`
[INFO] [stderr]   --> Cargo.toml:69:15
[INFO] [stderr]    |
[INFO] [stderr] 69 | [dependencies.linked-hash-map]
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `linked-hash-map`
[INFO] [stderr] warning: unused dependency `zeroize`
[INFO] [stderr]    --> Cargo.toml:118:15
[INFO] [stderr]     |
[INFO] [stderr] 118 | [dependencies.zeroize]
[INFO] [stderr]     |               ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: consider removing the dependency on `zeroize`
[INFO] [stderr] warning: `rzmq` (manifest) generated 3 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 03s
[INFO] running `Command { std: "docker" "inspect" "17ea58f118c3eda282b4ee6003d66169af1fe5b9b4c986250682f50518d19864", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17ea58f118c3eda282b4ee6003d66169af1fe5b9b4c986250682f50518d19864", kill_on_drop: false }`
[INFO] [stdout] 17ea58f118c3eda282b4ee6003d66169af1fe5b9b4c986250682f50518d19864
