[INFO] fetching crate rzmq 0.5.26...
[INFO] checking rzmq-0.5.26 against 895980e0290783bb09b1ccf1b11f14eb09b10430 for pr-160186
[INFO] extracting crate rzmq 0.5.26 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate rzmq 0.5.26
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate rzmq 0.5.26
[INFO] tweaked toml for crates.io crate rzmq 0.5.26 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rzmq 0.5.26 on toolchain 895980e0290783bb09b1ccf1b11f14eb09b10430
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rzmq 0.5.26 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" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "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]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 16d205d6b667905fb56cea6bcb634a6ebe802ff5245b7f9f05f50ac0b23d616d
[INFO] running `Command { std: "docker" "start" "16d205d6b667905fb56cea6bcb634a6ebe802ff5245b7f9f05f50ac0b23d616d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "16d205d6b667905fb56cea6bcb634a6ebe802ff5245b7f9f05f50ac0b23d616d", 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" "16d205d6b667905fb56cea6bcb634a6ebe802ff5245b7f9f05f50ac0b23d616d" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "16d205d6b667905fb56cea6bcb634a6ebe802ff5245b7f9f05f50ac0b23d616d", 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" "16d205d6b667905fb56cea6bcb634a6ebe802ff5245b7f9f05f50ac0b23d616d" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "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 zerocopy v0.8.59
[INFO] [stderr]     Checking smallvec v1.16.2
[INFO] [stderr]     Checking futures-channel v0.3.34
[INFO] [stderr]    Compiling syn v3.0.6
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling cc v1.5.1
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling toml_edit v0.25.15+spec-1.1.0
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]    Compiling rstest_macros v0.26.1
[INFO] [stderr]     Checking seize v0.5.1
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]     Checking criterion-plot v0.8.2
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking sha2 v0.11.0
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]    Compiling relative-path v1.9.3
[INFO] [stderr]     Checking papaya v0.2.5
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking bitflags v2.13.2
[INFO] [stderr]     Checking atomic_float v1.1.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling zerocopy-derive v0.8.59
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]    Compiling serial_test_derive v3.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking thiserror v2.0.21
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking futures-executor v0.3.34
[INFO] [stderr]     Checking fibre v0.6.7
[INFO] [stderr]     Checking rstest v0.26.1
[INFO] [stderr]     Checking futures v0.3.34
[INFO] [stderr]     Checking serial_test v3.5.0
[INFO] [stderr]     Checking tokio-util v0.7.19
[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 ciborium-ll v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking xskiplist v0.1.0
[INFO] [stderr]     Checking criterion v0.8.2
[INFO] [stderr]     Checking xs_foundation v0.4.10
[INFO] [stderr]     Checking rzmq v0.5.26 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `BufMut`
[INFO] [stdout]  --> src/protocol/zmtp/manual_parser.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bytes::{Buf, BufMut, Bytes, BytesMut};
[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: `SystemEvent`
[INFO] [stdout]  --> src/runtime/actor_drop_guard.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::runtime::{ActorType, SystemEvent}; // Adjust imports as needed
[INFO] [stdout]   |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicBool` and `Ordering`
[INFO] [stdout]  --> src/runtime/actor_drop_guard.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::atomic::{AtomicBool, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/runtime/actor_drop_guard.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::io::RawFd`
[INFO] [stdout]   --> src/runtime/command.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::os::unix::io::RawFd;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::socket::connection_iface::ISocketConnection`
[INFO] [stdout]  --> src/runtime/system_events.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::socket::connection_iface::ISocketConnection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fibre::oneshot`
[INFO] [stdout]   --> src/runtime/system_events.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use fibre::oneshot;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::Id as TaskId`
[INFO] [stdout]   --> src/runtime/system_events.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::task::Id as TaskId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[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: `latch::CountDownLatch`
[INFO] [stdout]   --> src/runtime/mod.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) use latch::CountDownLatch;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IDataCipher`
[INFO] [stdout]  --> src/security/mechanism.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{IDataCipher, ZmqError};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IDataCipher` and `cipher::PassThroughDataCipher`
[INFO] [stdout]  --> src/security/null.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::{cipher::PassThroughDataCipher, IDataCipher, Mechanism, MechanismStatus};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IDataCipher` and `cipher::PassThroughDataCipher`
[INFO] [stdout]   --> src/security/plain.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::{cipher::PassThroughDataCipher, IDataCipher, Mechanism, MechanismStatus};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::message::Metadata`
[INFO] [stdout]   --> src/security/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::message::Metadata;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking bench_matrix v0.2.2
[INFO] [stdout] warning: unused import: `ZmtpWriteHalf`
[INFO] [stdout]   --> src/sessionx/actor.rs:15:39
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::transport::{ZmtpStdStream, ZmtpWriteHalf};
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]   --> src/sessionx/actor.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use std::sync::atomic::Ordering;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::fd::AsRawFd`
[INFO] [stdout]    --> src/sessionx/actor.rs:124:11
[INFO] [stdout]     |
[INFO] [stdout] 124 |       use std::os::fd::AsRawFd;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::IoSlice`
[INFO] [stdout]  --> src/sessionx/egress_driver.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::IoSlice;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FromRawFd`
[INFO] [stdout]  --> src/sessionx/cork.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::os::fd::{AsRawFd, FromRawFd, RawFd};
[INFO] [stdout]   |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::ZmqError`
[INFO] [stdout]  --> src/sessionx/types.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::error::ZmqError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Blob`
[INFO] [stdout]  --> src/sessionx/types.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::Blob;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Msg`
[INFO] [stdout]  --> src/socket/core/command_processor.rs:2:34
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::message::{FrameBatch, Msg};
[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:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::socket::core::pipe_manager;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `command_processor`
[INFO] [stdout]  --> src/socket/core/shutdown.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::socket::core::{command_processor, pipe_manager, SocketCore};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadyPipeQueue` and `ReadyPipeSender`
[INFO] [stdout]   --> src/socket/patterns/mod.rs:21:35
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) use ready_pipe_queue::{ReadyPipeQueue, ReadyPipeSender, PipeMessageSender};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SocketAddr as StdSocketAddr`
[INFO] [stdout]   --> src/transport/tcp.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::net::{SocketAddr as StdSocketAddr, ToSocketAddrs};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, `trace`, and `warn`
[INFO] [stdout]   --> src/transport/tcp.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 | use tracing::{debug, error, info, trace, warn};
[INFO] [stdout]    |               ^^^^^  ^^^^^  ^^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LoopProfiler` and `ProfileGuard`
[INFO] [stdout]    --> src/profiler.rs:120:23
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) use stub::{LoopProfiler, ProfileGuard};
[INFO] [stdout]     |                       ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MailboxSender`
[INFO] [stdout]   --> src/lib.rs:44:43
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) use runtime::{MailboxReceiver, MailboxSender};
[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:100:67
[INFO] [stdout]     |
[INFO] [stdout] 100 |     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:145:67
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let max_conns = options.max_connections.unwrap_or(std::usize::MAX);
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SystemEvent`
[INFO] [stdout]  --> src/runtime/actor_drop_guard.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::runtime::{ActorType, SystemEvent}; // Adjust imports as needed
[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: `AtomicBool` and `Ordering`
[INFO] [stdout]  --> src/runtime/actor_drop_guard.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::atomic::{AtomicBool, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/runtime/actor_drop_guard.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::io::RawFd`
[INFO] [stdout]   --> src/runtime/command.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::os::unix::io::RawFd;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::socket::connection_iface::ISocketConnection`
[INFO] [stdout]  --> src/runtime/system_events.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::socket::connection_iface::ISocketConnection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fibre::oneshot`
[INFO] [stdout]   --> src/runtime/system_events.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use fibre::oneshot;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::Id as TaskId`
[INFO] [stdout]   --> src/runtime/system_events.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::task::Id as TaskId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[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: `latch::CountDownLatch`
[INFO] [stdout]   --> src/runtime/mod.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) use latch::CountDownLatch;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IDataCipher`
[INFO] [stdout]  --> src/security/mechanism.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{IDataCipher, ZmqError};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IDataCipher` and `cipher::PassThroughDataCipher`
[INFO] [stdout]  --> src/security/null.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::{cipher::PassThroughDataCipher, IDataCipher, Mechanism, MechanismStatus};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IDataCipher` and `cipher::PassThroughDataCipher`
[INFO] [stdout]   --> src/security/plain.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::{cipher::PassThroughDataCipher, IDataCipher, Mechanism, MechanismStatus};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::message::Metadata`
[INFO] [stdout]   --> src/security/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::message::Metadata;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ZmtpWriteHalf`
[INFO] [stdout]   --> src/sessionx/actor.rs:15:39
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::transport::{ZmtpStdStream, ZmtpWriteHalf};
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]   --> src/sessionx/actor.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use std::sync::atomic::Ordering;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::fd::AsRawFd`
[INFO] [stdout]    --> src/sessionx/actor.rs:124:11
[INFO] [stdout]     |
[INFO] [stdout] 124 |       use std::os::fd::AsRawFd;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::IoSlice`
[INFO] [stdout]  --> src/sessionx/egress_driver.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::IoSlice;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FromRawFd`
[INFO] [stdout]  --> src/sessionx/cork.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::os::fd::{AsRawFd, FromRawFd, RawFd};
[INFO] [stdout]   |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::ZmqError`
[INFO] [stdout]  --> src/sessionx/types.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::error::ZmqError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Blob`
[INFO] [stdout]  --> src/sessionx/types.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::Blob;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/socket/core/command_processor.rs:543:5
[INFO] [stdout]     |
[INFO] [stdout] 543 |     _ => 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:543:5
[INFO] [stdout]     |
[INFO] [stdout] 418 |     Ok(Endpoint::Tcp(_addr, ref uri_from_parse)) => {
[INFO] [stdout]     |     -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 471 |     Ok(Endpoint::Ipc(ref path_buf, ref uri_from_parse)) => {
[INFO] [stdout]     |     --------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 522 |     Ok(Endpoint::Inproc(ref name)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 542 |     Err(e) => bind_result = Err(e), // Error from parse_endpoint
[INFO] [stdout]     |     ------ matches some of the same values
[INFO] [stdout] 543 |     _ => 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: unused import: `Msg`
[INFO] [stdout]  --> src/socket/core/command_processor.rs:2:34
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::message::{FrameBatch, Msg};
[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:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::socket::core::pipe_manager;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `command_processor`
[INFO] [stdout]  --> src/socket/core/shutdown.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::socket::core::{command_processor, pipe_manager, SocketCore};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]     --> src/socket/patterns/ready_pipe_queue.rs:1444:7
[INFO] [stdout]      |
[INFO] [stdout] 1444 |   use std::sync::atomic::Ordering;
[INFO] [stdout]      |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadyPipeQueue` and `ReadyPipeSender`
[INFO] [stdout]   --> src/socket/patterns/mod.rs:21:35
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) use ready_pipe_queue::{ReadyPipeQueue, ReadyPipeSender, PipeMessageSender};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SocketAddr as StdSocketAddr`
[INFO] [stdout]   --> src/transport/tcp.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::net::{SocketAddr as StdSocketAddr, ToSocketAddrs};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, `trace`, and `warn`
[INFO] [stdout]   --> src/transport/tcp.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 | use tracing::{debug, error, info, trace, warn};
[INFO] [stdout]    |               ^^^^^  ^^^^^  ^^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LoopProfiler` and `ProfileGuard`
[INFO] [stdout]    --> src/profiler.rs:120:23
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) use stub::{LoopProfiler, ProfileGuard};
[INFO] [stdout]     |                       ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MailboxSender`
[INFO] [stdout]   --> src/lib.rs:44:43
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) use runtime::{MailboxReceiver, MailboxSender};
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/socket/core/command_processor.rs:607:5
[INFO] [stdout]     |
[INFO] [stdout] 607 |     _ => {
[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:607:5
[INFO] [stdout]     |
[INFO] [stdout] 582 | /     Ok(Endpoint::Tcp(_, ref parsed_uri_for_connecter))
[INFO] [stdout] 583 | |     | Ok(Endpoint::Ipc(_, ref parsed_uri_for_connecter)) => {
[INFO] [stdout]     | |________________________________________________________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 595 |       Ok(Endpoint::Inproc(ref name)) => {
[INFO] [stdout]     |       ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 604 |       Err(e) => {
[INFO] [stdout]     |       ------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 607 |       _ => {
[INFO] [stdout]     |       ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/socket/core/command_processor.rs:694:5
[INFO] [stdout]     |
[INFO] [stdout] 694 |     _ => {
[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:694:5
[INFO] [stdout]     |
[INFO] [stdout] 628 |     Ok(Endpoint::Tcp(_, _)) => {
[INFO] [stdout]     |     ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 659 |     Ok(Endpoint::Ipc(path_buf, _)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 679 |     Ok(Endpoint::Inproc(_)) => {
[INFO] [stdout]     |     ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 682 |     Err(err) => {
[INFO] [stdout]     |     -------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 694 |     _ => {
[INFO] [stdout]     |     ^ collectively making this unreachable
[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:100:67
[INFO] [stdout]     |
[INFO] [stdout] 100 |     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:145:67
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let max_conns = options.max_connections.unwrap_or(std::usize::MAX);
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/ipc.rs:311:19
[INFO] [stdout]     |
[INFO] [stdout] 311 |               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:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |     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:606:17
[INFO] [stdout]     |
[INFO] [stdout] 606 |             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: unreachable pattern
[INFO] [stdout]    --> src/socket/core/command_processor.rs:543:5
[INFO] [stdout]     |
[INFO] [stdout] 543 |     _ => 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:543:5
[INFO] [stdout]     |
[INFO] [stdout] 418 |     Ok(Endpoint::Tcp(_addr, ref uri_from_parse)) => {
[INFO] [stdout]     |     -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 471 |     Ok(Endpoint::Ipc(ref path_buf, ref uri_from_parse)) => {
[INFO] [stdout]     |     --------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 522 |     Ok(Endpoint::Inproc(ref name)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 542 |     Err(e) => bind_result = Err(e), // Error from parse_endpoint
[INFO] [stdout]     |     ------ matches some of the same values
[INFO] [stdout] 543 |     _ => 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:607:5
[INFO] [stdout]     |
[INFO] [stdout] 607 |     _ => {
[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:607:5
[INFO] [stdout]     |
[INFO] [stdout] 582 | /     Ok(Endpoint::Tcp(_, ref parsed_uri_for_connecter))
[INFO] [stdout] 583 | |     | Ok(Endpoint::Ipc(_, ref parsed_uri_for_connecter)) => {
[INFO] [stdout]     | |________________________________________________________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 595 |       Ok(Endpoint::Inproc(ref name)) => {
[INFO] [stdout]     |       ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 604 |       Err(e) => {
[INFO] [stdout]     |       ------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 607 |       _ => {
[INFO] [stdout]     |       ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/socket/core/command_processor.rs:694:5
[INFO] [stdout]     |
[INFO] [stdout] 694 |     _ => {
[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:694:5
[INFO] [stdout]     |
[INFO] [stdout] 628 |     Ok(Endpoint::Tcp(_, _)) => {
[INFO] [stdout]     |     ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 659 |     Ok(Endpoint::Ipc(path_buf, _)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 679 |     Ok(Endpoint::Inproc(_)) => {
[INFO] [stdout]     |     ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 682 |     Err(err) => {
[INFO] [stdout]     |     -------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 694 |     _ => {
[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:311:19
[INFO] [stdout]     |
[INFO] [stdout] 311 |               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:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |     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:606:17
[INFO] [stdout]     |
[INFO] [stdout] 606 |             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 import: `crate::socket::connection_iface::ISocketConnection`
[INFO] [stdout]  --> src/socket/req_socket.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::socket::connection_iface::ISocketConnection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `popped_msgs`
[INFO] [stdout]   --> src/sessionx/egress_driver.rs:75:11
[INFO] [stdout]    |
[INFO] [stdout] 75 |       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:305:3
[INFO] [stdout]     |
[INFO] [stdout] 305 |   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:307:7
[INFO] [stdout]     |
[INFO] [stdout] 307 |   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:312:9
[INFO] [stdout]     |
[INFO] [stdout] 312 |         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:294:15
[INFO] [stdout]     |
[INFO] [stdout] 294 |           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:604:17
[INFO] [stdout]     |
[INFO] [stdout] 604 |             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:501:25
[INFO] [stdout]     |
[INFO] [stdout] 501 |                     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:483:19
[INFO] [stdout]     |
[INFO] [stdout] 483 |                   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:1093:17
[INFO] [stdout]      |
[INFO] [stdout] 1093 |             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: type `options::ZmtpEngineConfig` is more private than the item `ZmtpEngine::new`
[INFO] [stdout]    --> src/protocol/zmtp/engine.rs:84:3
[INFO] [stdout]     |
[INFO] [stdout]  84 |   pub fn new(is_server: bool, config: Arc<ZmtpEngineConfig>) -> Self {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `ZmtpEngine::new` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `options::ZmtpEngineConfig` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/socket/options.rs:280:1
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub(crate) struct ZmtpEngineConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `options::ZmtpEngineConfig` is more private than the item `ZmtpEngine::config`
[INFO] [stdout]    --> src/protocol/zmtp/engine.rs:134:3
[INFO] [stdout]     |
[INFO] [stdout] 134 |   pub fn config(&self) -> &Arc<ZmtpEngineConfig> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ZmtpEngine::config` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `options::ZmtpEngineConfig` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/socket/options.rs:280:1
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub(crate) struct ZmtpEngineConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PipeMessageSender` is more private than the item `runtime::command::Command::ScaInitializePipes::incoming_pipe_sender`
[INFO] [stdout]    --> src/runtime/command.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     incoming_pipe_sender: Option<PipeMessageSender>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `runtime::command::Command::ScaInitializePipes::incoming_pipe_sender` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PipeMessageSender` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:961:1
[INFO] [stdout]     |
[INFO] [stdout] 961 | pub(crate) enum PipeMessageSender {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ISocketConnection` is more private than the item `runtime::command::Command::NewConnectionEstablished::connection_iface`
[INFO] [stdout]    --> src/runtime/command.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     connection_iface: Option<Arc<dyn ISocketConnection>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `runtime::command::Command::NewConnectionEstablished::connection_iface` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `ISocketConnection` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/socket/connection_iface.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | pub(crate) trait ISocketConnection: Send + Sync + fmt::Debug {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `InprocHandshakeRequest` is more private than the item `SystemEvent::InprocBindingRequest::handshake_request`
[INFO] [stdout]    --> src/runtime/system_events.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     handshake_request: Arc<std::sync::Mutex<Option<InprocHandshakeRequest>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `SystemEvent::InprocBindingRequest::handshake_request` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `InprocHandshakeRequest` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/transport/inproc/types.rs:7:1
[INFO] [stdout]     |
[INFO] [stdout]   7 | pub(crate) struct InprocHandshakeRequest {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ProcessTokenAction` is more private than the item `Mechanism::process_token`
[INFO] [stdout]   --> src/security/mechanism.rs:35:3
[INFO] [stdout]    |
[INFO] [stdout] 35 |   fn process_token(&mut self, token: &[u8]) -> Result<ProcessTokenAction, ZmqError>;
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Mechanism::process_token` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ProcessTokenAction` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/security/mechanism.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) enum ProcessTokenAction {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ISecureFramer` is more private than the item `Mechanism::into_framer`
[INFO] [stdout]   --> src/security/mechanism.rs:87:3
[INFO] [stdout]    |
[INFO] [stdout] 87 | /   fn into_framer(
[INFO] [stdout] 88 | |     self: Box<Self>,
[INFO] [stdout] 89 | |     max_msg_size: i64,
[INFO] [stdout] 90 | |     sndbatch_count: usize,
[INFO] [stdout] 91 | |     sndbatch_bytes_physical: usize,
[INFO] [stdout] 92 | |   ) -> Result<(Box<dyn ISecureFramer>, Option<Vec<u8>>), ZmqError>;
[INFO] [stdout]    | |___________________________________________________________________^ method `Mechanism::into_framer` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `ISecureFramer` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/security/framer/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) trait ISecureFramer: Send + Sync + 'static {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PipeMessageSender` is more private than the item `ISocket::get_incoming_pipe_sender`
[INFO] [stdout]    --> src/socket/mod.rs:212:3
[INFO] [stdout]     |
[INFO] [stdout] 212 |   fn get_incoming_pipe_sender(&self, _pipe_read_id: usize) -> Option<PipeMessageSender> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ISocket::get_incoming_pipe_sender` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PipeMessageSender` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:961:1
[INFO] [stdout]     |
[INFO] [stdout] 961 | pub(crate) enum PipeMessageSender {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PipeState` is more private than the item `WritePipeCoordinator::remove_pipe`
[INFO] [stdout]   --> src/socket/patterns/pipe_coordinator.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 |   pub async fn remove_pipe(&self, pipe_id: PipeId) -> Option<Arc<PipeState>> {
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `WritePipeCoordinator::remove_pipe` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `PipeState` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/socket/patterns/pipe_coordinator.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct PipeState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::socket::connection_iface::ISocketConnection`
[INFO] [stdout]  --> src/socket/req_socket.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::socket::connection_iface::ISocketConnection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `binder_core_id` is never read
[INFO] [stdout]   --> src/context.rs:25:14
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) struct InprocBinding {
[INFO] [stdout]    |                   ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |   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: method `get_socket_command_sender` is never used
[INFO] [stdout]    --> src/context.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl ContextInner {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 217 |   pub(crate) fn get_socket_command_sender(&self, handle: usize) -> Option<MailboxSender> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[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: variant `ReadBody` is never constructed
[INFO] [stdout]   --> src/protocol/zmtp/manual_parser.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout]  7 | enum ManualDecodingState {
[INFO] [stdout]    |      ------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |   ReadBody {
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ManualDecodingState` 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 `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: method `poll` is never used
[INFO] [stdout]   --> src/runtime/reusable_box.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<'a, T> ReusableBoxFuture<'a, T> {
[INFO] [stdout]    | ------------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 73 |   pub fn poll(&mut self, cx: &mut Context<'_>) -> Poll<T> {
[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: struct `PassThroughDataCipher` is never constructed
[INFO] [stdout]   --> src/security/cipher.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) struct PassThroughDataCipher;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_msg_split` and `try_read_msgs_from_bytes` are never used
[INFO] [stdout]   --> src/security/framer/mod.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) trait ISecureFramer: Send + Sync + 'static {
[INFO] [stdout]    |                  ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 19 |   fn write_msg_split(&mut self, msg: Msg) -> Result<(Bytes, Option<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: variant `Initializing` is never constructed
[INFO] [stdout]   --> src/security/plain.rs:16:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum PlainState {
[INFO] [stdout]    |      ---------- variant in this enum
[INFO] [stdout] 16 |   Initializing, // Start state (not strictly used as we set initial state in new())
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PlainState` 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:20:3
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) struct EgressDriver<'a, W: ZmtpWriteHalf> {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |   actor_handle: usize,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `READ_CHUNK` is never used
[INFO] [stdout]   --> src/sessionx/message_processor.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const READ_CHUNK: usize = 65536 * 2;
[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: variant `Initial` is never constructed
[INFO] [stdout]  --> src/sessionx/types.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) enum ConnectionPhaseX {
[INFO] [stdout]   |                 ---------------- variant in this enum
[INFO] [stdout] 7 |   /// Actor just started, stream might be present but no pipes from SocketCore yet.
[INFO] [stdout] 8 |   Initial,
[INFO] [stdout]   |   ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ConnectionPhaseX` 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 `cleanup_session_state_by_uri` is never used
[INFO] [stdout]    --> src/socket/core/pipe_manager.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub(crate) async fn cleanup_session_state_by_uri(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_session_state_by_pipe` is never used
[INFO] [stdout]    --> src/socket/core/pipe_manager.rs:235:21
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub(crate) async fn cleanup_session_state_by_pipe(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `current_phase` is never used
[INFO] [stdout]   --> src/socket/core/shutdown.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl ShutdownCoordinator {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] 14 |   pub(crate) fn current_phase(&self) -> ShutdownPhase {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_pipe_sender` is never used
[INFO] [stdout]    --> src/socket/core/state.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl CoreState {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |   pub(crate) fn get_pipe_sender(&self, pipe_write_id: usize) -> Option<BoundedAsyncSender<FrameBatch>> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `StoppingChildren` is never constructed
[INFO] [stdout]    --> src/socket/core/state.rs:369:3
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub(crate) enum ShutdownPhase {
[INFO] [stdout]     |                 ------------- variant in this enum
[INFO] [stdout] 368 |   Running,
[INFO] [stdout] 369 |   StoppingChildren,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ShutdownPhase` 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: fields `sndtimeo`, `use_recv_multishot`, `rcvhwm`, and `rcvbuf` are never read
[INFO] [stdout]    --> src/socket/options.rs:292:7
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub(crate) struct ZmtpEngineConfig {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 292 |   pub sndtimeo: Option<Duration>,
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |   pub use_recv_multishot: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |   pub rcvhwm: usize,
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |   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_duration_ms_option` is never used
[INFO] [stdout]    --> src/socket/options.rs:513:15
[INFO] [stdout]     |
[INFO] [stdout] 513 | pub(crate) fn parse_duration_ms_option(value: &[u8]) -> Result<Option<Duration>, ZmqError> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_key_option` is never used
[INFO] [stdout]    --> src/socket/options.rs:668:15
[INFO] [stdout]     |
[INFO] [stdout] 668 | pub(crate) fn parse_key_option<const N: usize>(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `decoders` is never read
[INFO] [stdout]   --> src/socket/patterns/framing.rs:21:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct FramingLatch {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |   decoders: [FramingOp; 2],
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FramingLatch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decode` is never used
[INFO] [stdout]   --> src/socket/patterns/framing.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl FramingLatch {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |   pub fn decode(&self, frames: &mut FrameBatch) {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wait_for_connection` is never used
[INFO] [stdout]   --> src/socket/patterns/outgoing_orchestrator.rs:34:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl OutgoingMessageOrchestrator {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |   pub async fn wait_for_connection(&self) -> Result<(), ZmqError> {
[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:162:3
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub(crate) struct PipeSlot<T: Send + 'static> {
[INFO] [stdout]     |                   -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 162 |   capacity: usize,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |   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:229:10
[INFO] [stdout]     |
[INFO] [stdout] 217 | impl<T: Send + 'static> PipeSlot<T> {
[INFO] [stdout]     | ----------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 229 |   pub fn reserved(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |   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:735:10
[INFO] [stdout]     |
[INFO] [stdout] 690 | impl<T: Send + 'static> ReadyPipeSender<T> {
[INFO] [stdout]     | ------------------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 735 |   pub fn try_send(&self, item: T) -> Result<(), TrySendError<T>> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 924 |   pub fn queued_count(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 928 |   pub fn reserved_count(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 932 |   pub fn len(&self) -> usize {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 936 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 944 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 952 |   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:1084:10
[INFO] [stdout]      |
[INFO] [stdout] 1023 | impl PipeMessageSender {
[INFO] [stdout]      | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1084 |   pub fn try_send_sync(&self, batch: FrameBatch) -> Result<(), TrySendError<FrameBatch>> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1214 |   pub fn queued_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1223 |   pub fn reserved_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1232 |   pub fn len(&self) -> usize {
[INFO] [stdout]      |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1241 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1250 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1259 |   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 `core_state_read` is never used
[INFO] [stdout]   --> src/socket/req_socket.rs:55:6
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl ReqSocket {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 55 |   fn core_state_read(&self) -> RwLockReadGuard<'_, CoreState> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_read_chunk` is never used
[INFO] [stdout]   --> src/transport/mod.rs:47:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) trait ZmtpReadHalf: AsyncRead + Unpin + Send + std::fmt::Debug + 'static {
[INFO] [stdout]    |                  ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 47 |   fn try_read_chunk(&mut self, _buf: &mut [u8]) -> std::io::Result<usize> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_cork` is never used
[INFO] [stdout]   --> src/transport/mod.rs:69:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub(crate) trait ZmtpWriteHalf: AsyncWrite + Unpin + Send + std::fmt::Debug + 'static {
[INFO] [stdout]    |                  ------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 69 |   fn set_cork(&self, _enable: bool) {}
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connection_id` is never read
[INFO] [stdout]   --> src/transport/inproc/connection.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) struct DirectInprocConnection {
[INFO] [stdout]    |                   ---------------------- field in this struct
[INFO] [stdout] 15 |   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:8:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) struct InprocHandshakeRequest {
[INFO] [stdout]   |                   ---------------------- field in this struct
[INFO] [stdout] 8 |   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:17:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) struct InprocHandshakeResponse {
[INFO] [stdout]    |                   ----------------------- field in this struct
[INFO] [stdout] 17 |   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:24:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl InprocHandshakeRequest {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] 24 |   pub fn verify_response(&self, response: &InprocHandshakeResponse) -> Result<(), ZmqError> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/transport/inproc_stream.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl InprocStream {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 18 |   pub(crate) fn new(inner: tokio::io::DuplexStream) -> Self {
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `socket_logic` is never read
[INFO] [stdout]   --> src/transport/ipc.rs:49:3
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub(crate) struct IpcListener {
[INFO] [stdout]    |                   ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |   socket_logic: Arc<dyn ISocket>,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `socket_logic` is never read
[INFO] [stdout]   --> src/transport/tcp.rs:53:3
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) struct TcpListener {
[INFO] [stdout]    |                   ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 53 |   socket_logic: Arc<dyn ISocket>,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `begin_work` is never used
[INFO] [stdout]    --> src/throttle/mod.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl AdaptiveThrottle {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |   pub fn begin_work(&self, dir: Direction) -> ThrottleGuard {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_current_balance` is never used
[INFO] [stdout]    --> src/throttle/mod.rs:194:10
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl ThrottleGuard {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 194 |   pub fn get_current_balance(&self) -> i32 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `linear_strategy` is never used
[INFO] [stdout]   --> src/throttle/strategies.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn linear_strategy(state: &ThrottleStateView) -> f64 {
[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:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 |       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] 29 |       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:676:5
[INFO] [stdout]     |
[INFO] [stdout] 676 |     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] 676 |     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:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 |     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] 114 |     let _ = self.peer_queue_sender.close();
[INFO] [stdout]     |     +++++++
[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: 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: 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: 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/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/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 import: `RCVTIMEO`
[INFO] [stdout]  --> tests/push_pull_load_balance.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rzmq::socket::options::{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: `RCVTIMEO`
[INFO] [stdout]  --> tests/dns.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 |     options::{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 variable: `popped_msgs`
[INFO] [stdout]   --> src/sessionx/egress_driver.rs:75:11
[INFO] [stdout]    |
[INFO] [stdout] 75 |       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 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/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: 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 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: 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: 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: 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: 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 `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 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: 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: 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: 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/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: 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: 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 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/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: 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: 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 variable: `site`
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:305:3
[INFO] [stdout]     |
[INFO] [stdout] 305 |   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:307:7
[INFO] [stdout]     |
[INFO] [stdout] 307 |   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:312:9
[INFO] [stdout]     |
[INFO] [stdout] 312 |         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: 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: 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: 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: 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: 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: value assigned to `seq` is never read
[INFO] [stdout]     --> src/socket/patterns/ready_pipe_queue.rs:1768:11
[INFO] [stdout]      |
[INFO] [stdout] 1768 |           seq += 1;
[INFO] [stdout]      |           ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[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: 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] [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: 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: 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: 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: unused variable: `use_io_uring`
[INFO] [stdout]    --> src/transport/ipc.rs:294:15
[INFO] [stdout]     |
[INFO] [stdout] 294 |           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:604:17
[INFO] [stdout]     |
[INFO] [stdout] 604 |             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:501:25
[INFO] [stdout]     |
[INFO] [stdout] 501 |                     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:483:19
[INFO] [stdout]     |
[INFO] [stdout] 483 |                   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:1093:17
[INFO] [stdout]      |
[INFO] [stdout] 1093 |             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: type `options::ZmtpEngineConfig` is more private than the item `engine::ZmtpEngine::new`
[INFO] [stdout]    --> src/protocol/zmtp/engine.rs:84:3
[INFO] [stdout]     |
[INFO] [stdout]  84 |   pub fn new(is_server: bool, config: Arc<ZmtpEngineConfig>) -> Self {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `engine::ZmtpEngine::new` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `options::ZmtpEngineConfig` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/socket/options.rs:280:1
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub(crate) struct ZmtpEngineConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `options::ZmtpEngineConfig` is more private than the item `engine::ZmtpEngine::config`
[INFO] [stdout]    --> src/protocol/zmtp/engine.rs:134:3
[INFO] [stdout]     |
[INFO] [stdout] 134 |   pub fn config(&self) -> &Arc<ZmtpEngineConfig> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `engine::ZmtpEngine::config` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `options::ZmtpEngineConfig` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/socket/options.rs:280:1
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub(crate) struct ZmtpEngineConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PipeMessageSender` is more private than the item `runtime::command::Command::ScaInitializePipes::incoming_pipe_sender`
[INFO] [stdout]    --> src/runtime/command.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     incoming_pipe_sender: Option<PipeMessageSender>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `runtime::command::Command::ScaInitializePipes::incoming_pipe_sender` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PipeMessageSender` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:961:1
[INFO] [stdout]     |
[INFO] [stdout] 961 | pub(crate) enum PipeMessageSender {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `connection_iface::ISocketConnection` is more private than the item `runtime::command::Command::NewConnectionEstablished::connection_iface`
[INFO] [stdout]    --> src/runtime/command.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     connection_iface: Option<Arc<dyn ISocketConnection>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `runtime::command::Command::NewConnectionEstablished::connection_iface` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `connection_iface::ISocketConnection` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/socket/connection_iface.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | pub(crate) trait ISocketConnection: Send + Sync + fmt::Debug {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `inproc::types::InprocHandshakeRequest` is more private than the item `SystemEvent::InprocBindingRequest::handshake_request`
[INFO] [stdout]    --> src/runtime/system_events.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     handshake_request: Arc<std::sync::Mutex<Option<InprocHandshakeRequest>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `SystemEvent::InprocBindingRequest::handshake_request` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `inproc::types::InprocHandshakeRequest` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/transport/inproc/types.rs:7:1
[INFO] [stdout]     |
[INFO] [stdout]   7 | pub(crate) struct InprocHandshakeRequest {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ProcessTokenAction` is more private than the item `Mechanism::process_token`
[INFO] [stdout]   --> src/security/mechanism.rs:35:3
[INFO] [stdout]    |
[INFO] [stdout] 35 |   fn process_token(&mut self, token: &[u8]) -> Result<ProcessTokenAction, ZmqError>;
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Mechanism::process_token` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ProcessTokenAction` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/security/mechanism.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) enum ProcessTokenAction {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ISecureFramer` is more private than the item `Mechanism::into_framer`
[INFO] [stdout]   --> src/security/mechanism.rs:87:3
[INFO] [stdout]    |
[INFO] [stdout] 87 | /   fn into_framer(
[INFO] [stdout] 88 | |     self: Box<Self>,
[INFO] [stdout] 89 | |     max_msg_size: i64,
[INFO] [stdout] 90 | |     sndbatch_count: usize,
[INFO] [stdout] 91 | |     sndbatch_bytes_physical: usize,
[INFO] [stdout] 92 | |   ) -> Result<(Box<dyn ISecureFramer>, Option<Vec<u8>>), ZmqError>;
[INFO] [stdout]    | |___________________________________________________________________^ method `Mechanism::into_framer` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `ISecureFramer` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/security/framer/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) trait ISecureFramer: Send + Sync + 'static {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PipeMessageSender` is more private than the item `ISocket::get_incoming_pipe_sender`
[INFO] [stdout]    --> src/socket/mod.rs:212:3
[INFO] [stdout]     |
[INFO] [stdout] 212 |   fn get_incoming_pipe_sender(&self, _pipe_read_id: usize) -> Option<PipeMessageSender> {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ISocket::get_incoming_pipe_sender` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PipeMessageSender` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:961:1
[INFO] [stdout]     |
[INFO] [stdout] 961 | pub(crate) enum PipeMessageSender {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PipeState` is more private than the item `pipe_coordinator::WritePipeCoordinator::remove_pipe`
[INFO] [stdout]   --> src/socket/patterns/pipe_coordinator.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 |   pub async fn remove_pipe(&self, pipe_id: PipeId) -> Option<Arc<PipeState>> {
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `pipe_coordinator::WritePipeCoordinator::remove_pipe` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `PipeState` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/socket/patterns/pipe_coordinator.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct PipeState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_socket_command_sender` is never used
[INFO] [stdout]    --> src/context.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl ContextInner {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 217 |   pub(crate) fn get_socket_command_sender(&self, handle: usize) -> Option<MailboxSender> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ReadBody` is never constructed
[INFO] [stdout]   --> src/protocol/zmtp/manual_parser.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout]  7 | enum ManualDecodingState {
[INFO] [stdout]    |      ------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |   ReadBody {
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ManualDecodingState` 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: method `poll` is never used
[INFO] [stdout]   --> src/runtime/reusable_box.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<'a, T> ReusableBoxFuture<'a, T> {
[INFO] [stdout]    | ------------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 73 |   pub fn poll(&mut self, cx: &mut Context<'_>) -> Poll<T> {
[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: struct `PassThroughDataCipher` is never constructed
[INFO] [stdout]   --> src/security/cipher.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) struct PassThroughDataCipher;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_msg_split` and `try_read_msgs_from_bytes` are never used
[INFO] [stdout]   --> src/security/framer/mod.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) trait ISecureFramer: Send + Sync + 'static {
[INFO] [stdout]    |                  ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 19 |   fn write_msg_split(&mut self, msg: Msg) -> Result<(Bytes, Option<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: variant `Initializing` is never constructed
[INFO] [stdout]   --> src/security/plain.rs:16:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum PlainState {
[INFO] [stdout]    |      ---------- variant in this enum
[INFO] [stdout] 16 |   Initializing, // Start state (not strictly used as we set initial state in new())
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PlainState` 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:20:3
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) struct EgressDriver<'a, W: ZmtpWriteHalf> {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |   actor_handle: usize,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `READ_CHUNK` is never used
[INFO] [stdout]   --> src/sessionx/message_processor.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const READ_CHUNK: usize = 65536 * 2;
[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: variant `Initial` is never constructed
[INFO] [stdout]  --> src/sessionx/types.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) enum ConnectionPhaseX {
[INFO] [stdout]   |                 ---------------- variant in this enum
[INFO] [stdout] 7 |   /// Actor just started, stream might be present but no pipes from SocketCore yet.
[INFO] [stdout] 8 |   Initial,
[INFO] [stdout]   |   ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ConnectionPhaseX` 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 `cleanup_session_state_by_uri` is never used
[INFO] [stdout]    --> src/socket/core/pipe_manager.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub(crate) async fn cleanup_session_state_by_uri(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_session_state_by_pipe` is never used
[INFO] [stdout]    --> src/socket/core/pipe_manager.rs:235:21
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub(crate) async fn cleanup_session_state_by_pipe(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `current_phase` is never used
[INFO] [stdout]   --> src/socket/core/shutdown.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl ShutdownCoordinator {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] 14 |   pub(crate) fn current_phase(&self) -> ShutdownPhase {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_pipe_sender` is never used
[INFO] [stdout]    --> src/socket/core/state.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl CoreState {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |   pub(crate) fn get_pipe_sender(&self, pipe_write_id: usize) -> Option<BoundedAsyncSender<FrameBatch>> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `StoppingChildren` is never constructed
[INFO] [stdout]    --> src/socket/core/state.rs:369:3
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub(crate) enum ShutdownPhase {
[INFO] [stdout]     |                 ------------- variant in this enum
[INFO] [stdout] 368 |   Running,
[INFO] [stdout] 369 |   StoppingChildren,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ShutdownPhase` 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: fields `sndtimeo`, `use_recv_multishot`, `rcvhwm`, and `rcvbuf` are never read
[INFO] [stdout]    --> src/socket/options.rs:292:7
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub(crate) struct ZmtpEngineConfig {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 292 |   pub sndtimeo: Option<Duration>,
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |   pub use_recv_multishot: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |   pub rcvhwm: usize,
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |   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_duration_ms_option` is never used
[INFO] [stdout]    --> src/socket/options.rs:513:15
[INFO] [stdout]     |
[INFO] [stdout] 513 | pub(crate) fn parse_duration_ms_option(value: &[u8]) -> Result<Option<Duration>, ZmqError> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_key_option` is never used
[INFO] [stdout]    --> src/socket/options.rs:668:15
[INFO] [stdout]     |
[INFO] [stdout] 668 | pub(crate) fn parse_key_option<const N: usize>(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `decoders` is never read
[INFO] [stdout]   --> src/socket/patterns/framing.rs:21:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct FramingLatch {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |   decoders: [FramingOp; 2],
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FramingLatch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decode` is never used
[INFO] [stdout]   --> src/socket/patterns/framing.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl FramingLatch {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |   pub fn decode(&self, frames: &mut FrameBatch) {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wait_for_connection` is never used
[INFO] [stdout]   --> src/socket/patterns/outgoing_orchestrator.rs:34:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl OutgoingMessageOrchestrator {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |   pub async fn wait_for_connection(&self) -> Result<(), ZmqError> {
[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:162:3
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub(crate) struct PipeSlot<T: Send + 'static> {
[INFO] [stdout]     |                   -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 162 |   capacity: usize,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |   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:233:10
[INFO] [stdout]     |
[INFO] [stdout] 217 | impl<T: Send + 'static> PipeSlot<T> {
[INFO] [stdout]     | ----------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 233 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |   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:924:10
[INFO] [stdout]     |
[INFO] [stdout] 690 | impl<T: Send + 'static> ReadyPipeSender<T> {
[INFO] [stdout]     | ------------------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 924 |   pub fn queued_count(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 928 |   pub fn reserved_count(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 932 |   pub fn len(&self) -> usize {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 936 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 944 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 952 |   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:1084:10
[INFO] [stdout]      |
[INFO] [stdout] 1023 | impl PipeMessageSender {
[INFO] [stdout]      | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1084 |   pub fn try_send_sync(&self, batch: FrameBatch) -> Result<(), TrySendError<FrameBatch>> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1214 |   pub fn queued_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1223 |   pub fn reserved_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1232 |   pub fn len(&self) -> usize {
[INFO] [stdout]      |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1241 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1250 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1259 |   pub fn is_drained(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `core_state_read` is never used
[INFO] [stdout]   --> src/socket/req_socket.rs:55:6
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl ReqSocket {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 55 |   fn core_state_read(&self) -> RwLockReadGuard<'_, CoreState> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_read_chunk` is never used
[INFO] [stdout]   --> src/transport/mod.rs:47:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) trait ZmtpReadHalf: AsyncRead + Unpin + Send + std::fmt::Debug + 'static {
[INFO] [stdout]    |                  ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 47 |   fn try_read_chunk(&mut self, _buf: &mut [u8]) -> std::io::Result<usize> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_cork` is never used
[INFO] [stdout]   --> src/transport/mod.rs:69:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub(crate) trait ZmtpWriteHalf: AsyncWrite + Unpin + Send + std::fmt::Debug + 'static {
[INFO] [stdout]    |                  ------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 69 |   fn set_cork(&self, _enable: bool) {}
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connection_id` is never read
[INFO] [stdout]   --> src/transport/inproc/connection.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) struct DirectInprocConnection {
[INFO] [stdout]    |                   ---------------------- field in this struct
[INFO] [stdout] 15 |   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:8:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) struct InprocHandshakeRequest {
[INFO] [stdout]   |                   ---------------------- field in this struct
[INFO] [stdout] 8 |   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:17:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) struct InprocHandshakeResponse {
[INFO] [stdout]    |                   ----------------------- field in this struct
[INFO] [stdout] 17 |   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: associated function `new` is never used
[INFO] [stdout]   --> src/transport/inproc_stream.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl InprocStream {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 18 |   pub(crate) fn new(inner: tokio::io::DuplexStream) -> Self {
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `socket_logic` is never read
[INFO] [stdout]   --> src/transport/ipc.rs:49:3
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub(crate) struct IpcListener {
[INFO] [stdout]    |                   ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |   socket_logic: Arc<dyn ISocket>,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `socket_logic` is never read
[INFO] [stdout]   --> src/transport/tcp.rs:53:3
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) struct TcpListener {
[INFO] [stdout]    |                   ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 53 |   socket_logic: Arc<dyn ISocket>,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_current_balance` is never used
[INFO] [stdout]    --> src/throttle/mod.rs:194:10
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl ThrottleGuard {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 194 |   pub fn get_current_balance(&self) -> i32 {
[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:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 |       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] 29 |       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:676:5
[INFO] [stdout]     |
[INFO] [stdout] 676 |     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] 676 |     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:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 |     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] 114 |     let _ = self.peer_queue_sender.close();
[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 57.59s
[INFO] running `Command { std: "docker" "inspect" "16d205d6b667905fb56cea6bcb634a6ebe802ff5245b7f9f05f50ac0b23d616d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "16d205d6b667905fb56cea6bcb634a6ebe802ff5245b7f9f05f50ac0b23d616d", kill_on_drop: false }`
[INFO] [stdout] 16d205d6b667905fb56cea6bcb634a6ebe802ff5245b7f9f05f50ac0b23d616d
