[INFO] fetching crate rzmq 0.5.28...
[INFO] checking rzmq-0.5.28 against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] extracting crate rzmq 0.5.28 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate rzmq 0.5.28
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate rzmq 0.5.28
[INFO] tweaked toml for crates.io crate rzmq 0.5.28 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rzmq 0.5.28 on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rzmq 0.5.28 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] dfb32d352d370d6b1f985798c0731460418febd686b084bed2eeec9841019f75
[INFO] running `Command { std: "docker" "start" "dfb32d352d370d6b1f985798c0731460418febd686b084bed2eeec9841019f75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dfb32d352d370d6b1f985798c0731460418febd686b084bed2eeec9841019f75", 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" "dfb32d352d370d6b1f985798c0731460418febd686b084bed2eeec9841019f75" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dfb32d352d370d6b1f985798c0731460418febd686b084bed2eeec9841019f75", 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" "dfb32d352d370d6b1f985798c0731460418febd686b084bed2eeec9841019f75" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "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.63
[INFO] [stderr]     Checking smallvec v1.16.3
[INFO] [stderr]     Checking futures-channel v0.3.34
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]    Compiling find-msvc-tools v0.1.14
[INFO] [stderr]    Compiling syn v3.0.9
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking either v1.19.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling equivalent v1.0.3
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking clap_lex v1.1.1
[INFO] [stderr]    Compiling cc v1.8.0
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling toml_datetime v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking const-oid v0.10.2
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking clap_builder v4.6.7
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking serde_json v1.0.154
[INFO] [stderr]    Compiling rstest_macros v0.26.1
[INFO] [stderr]     Checking seize v0.5.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking cpufeatures v0.3.1
[INFO] [stderr]     Checking log v0.4.34
[INFO] [stderr]     Checking papaya v0.2.5
[INFO] [stderr]    Compiling indexmap v2.14.2
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]     Checking seahash v4.1.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking arc-swap v1.9.2
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking thread_local v1.1.10
[INFO] [stderr]     Checking atomic_float v1.1.0
[INFO] [stderr]     Checking futures-timer v3.0.4
[INFO] [stderr]     Checking hybrid-array v0.4.15
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]     Checking criterion-plot v0.8.2
[INFO] [stderr]     Checking clap v4.6.7
[INFO] [stderr]    Compiling toml_parser v1.1.5+spec-1.1.0
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]     Checking block-buffer v0.12.1
[INFO] [stderr]    Compiling toml_edit v0.25.17+spec-1.1.0
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]     Checking sha2 v0.11.1
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]    Compiling async-recursion v1.2.0
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]     Checking tokio v1.53.3
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]     Checking thiserror v2.0.21
[INFO] [stderr]    Compiling zerocopy-derive v0.8.63
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling serial_test_derive v3.5.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[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 futures v0.3.34
[INFO] [stderr]     Checking serial_test v3.5.0
[INFO] [stderr]     Checking rstest v0.26.1
[INFO] [stderr]     Checking tokio-util v0.7.20
[INFO] [stderr]     Checking tokio-stream v0.1.19
[INFO] [stderr]     Checking tokio-test v0.4.6
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]     Checking criterion v0.8.2
[INFO] [stderr]     Checking xskiplist v0.1.0
[INFO] [stderr]     Checking xs_foundation v0.4.10
[INFO] [stderr]     Checking rzmq v0.5.28 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::os::unix::io::RawFd`
[INFO] [stdout]   --> src/runtime/command.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::os::unix::io::RawFd;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MailboxSyncSender`
[INFO] [stdout]   --> src/runtime/mod.rs:14:67
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) use mailbox::{mailbox, MailboxReceiver, MailboxSender, MailboxSyncSender};
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::runtime::ActorType`
[INFO] [stdout]  --> src/socket/core/command_processor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::runtime::ActorType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::socket::core::pipe_manager`
[INFO] [stdout]   --> src/socket/core/command_processor.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::socket::core::pipe_manager;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConservationCounters`
[INFO] [stdout]   --> src/socket/core/command_processor.rs:17:47
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::socket::core::state::{ConnectPipe, ConservationCounters, CoreState, EndpointInfo, EndpointType, ShutdownPhase, listener_k...
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `connection_lifecycle`
[INFO] [stdout]   --> src/socket/core/command_processor.rs:18:39
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::socket::core::{SocketCore, connection_lifecycle, shutdown};
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]   --> src/socket/core/pipe_manager.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tokio::task::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking bench_matrix v0.2.2
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]   --> src/transport/tcp.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use tracing::info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stub::LoopProfiler`
[INFO] [stdout]    --> src/profiler.rs:120:16
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) use stub::LoopProfiler;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/transport/ipc.rs:98:67
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let max_conns = options.max_connections.unwrap_or(std::usize::MAX);
[INFO] [stdout]    |                                                                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/transport/tcp.rs:143:67
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let max_conns = options.max_connections.unwrap_or(std::usize::MAX);
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::io::RawFd`
[INFO] [stdout]   --> src/runtime/command.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::os::unix::io::RawFd;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MailboxSyncSender`
[INFO] [stdout]   --> src/runtime/mod.rs:14:67
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) use mailbox::{mailbox, MailboxReceiver, MailboxSender, MailboxSyncSender};
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::runtime::ActorType`
[INFO] [stdout]  --> src/socket/core/command_processor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::runtime::ActorType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::socket::core::pipe_manager`
[INFO] [stdout]   --> src/socket/core/command_processor.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::socket::core::pipe_manager;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConservationCounters`
[INFO] [stdout]   --> src/socket/core/command_processor.rs:17:47
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::socket::core::state::{ConnectPipe, ConservationCounters, CoreState, EndpointInfo, EndpointType, ShutdownPhase, listener_k...
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `connection_lifecycle`
[INFO] [stdout]   --> src/socket/core/command_processor.rs:18:39
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::socket::core::{SocketCore, connection_lifecycle, shutdown};
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]   --> src/socket/core/pipe_manager.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tokio::task::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]     --> src/socket/patterns/ready_pipe_queue.rs:1571:7
[INFO] [stdout]      |
[INFO] [stdout] 1571 |   use std::sync::atomic::Ordering;
[INFO] [stdout]      |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]   --> src/transport/tcp.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use tracing::info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stub::LoopProfiler`
[INFO] [stdout]    --> src/profiler.rs:120:16
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub(crate) use stub::LoopProfiler;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/socket/core/command_processor.rs:595:5
[INFO] [stdout]     |
[INFO] [stdout] 595 |     _ => bind_result = Err(ZmqError::UnsupportedTransport(endpoint.to_string())),
[INFO] [stdout]     |     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/socket/core/command_processor.rs:595:5
[INFO] [stdout]     |
[INFO] [stdout] 468 |     Ok(Endpoint::Tcp(_addr, ref uri_from_parse)) => {
[INFO] [stdout]     |     -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 522 |     Ok(Endpoint::Ipc(ref path_buf, ref uri_from_parse)) => {
[INFO] [stdout]     |     --------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 574 |     Ok(Endpoint::Inproc(ref name)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 594 |     Err(e) => bind_result = Err(e), // Error from parse_endpoint
[INFO] [stdout]     |     ------ matches some of the same values
[INFO] [stdout] 595 |     _ => bind_result = Err(ZmqError::UnsupportedTransport(endpoint.to_string())),
[INFO] [stdout]     |     ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/transport/ipc.rs:98:67
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let max_conns = options.max_connections.unwrap_or(std::usize::MAX);
[INFO] [stdout]    |                                                                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/transport/tcp.rs:143:67
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let max_conns = options.max_connections.unwrap_or(std::usize::MAX);
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/socket/core/command_processor.rs:671:5
[INFO] [stdout]     |
[INFO] [stdout] 671 |     _ => {
[INFO] [stdout]     |     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/socket/core/command_processor.rs:671:5
[INFO] [stdout]     |
[INFO] [stdout] 635 |     Ok(Endpoint::Tcp(_, ref parsed_uri_for_connecter)) => {
[INFO] [stdout]     |     -------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 647 |     Ok(Endpoint::Ipc(_, ref parsed_uri_for_connecter)) => {
[INFO] [stdout]     |     -------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 659 |     Ok(Endpoint::Inproc(ref name)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 668 |     Err(e) => {
[INFO] [stdout]     |     ------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 671 |     _ => {
[INFO] [stdout]     |     ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/socket/core/command_processor.rs:942:5
[INFO] [stdout]     |
[INFO] [stdout] 942 |     _ => {
[INFO] [stdout]     |     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/socket/core/command_processor.rs:942:5
[INFO] [stdout]     |
[INFO] [stdout] 875 |     Ok(Endpoint::Tcp(_, _)) => {
[INFO] [stdout]     |     ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 906 |     Ok(Endpoint::Ipc(path_buf, _)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 927 |     Ok(Endpoint::Inproc(_)) => {
[INFO] [stdout]     |     ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 930 |     Err(err) => {
[INFO] [stdout]     |     -------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 942 |     _ => {
[INFO] [stdout]     |     ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/ipc.rs:306:19
[INFO] [stdout]     |
[INFO] [stdout] 306 |               let mut unix_stream_opt = Some(unix_stream);
[INFO] [stdout]     |                   ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/ipc.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let mut loop_error_to_report: Option<ZmqError>;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/ipc.rs:598:17
[INFO] [stdout]     |
[INFO] [stdout] 598 |             let mut unix_stream_opt = Some(unix_stream);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/socket/core/command_processor.rs:595:5
[INFO] [stdout]     |
[INFO] [stdout] 595 |     _ => bind_result = Err(ZmqError::UnsupportedTransport(endpoint.to_string())),
[INFO] [stdout]     |     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/socket/core/command_processor.rs:595:5
[INFO] [stdout]     |
[INFO] [stdout] 468 |     Ok(Endpoint::Tcp(_addr, ref uri_from_parse)) => {
[INFO] [stdout]     |     -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 522 |     Ok(Endpoint::Ipc(ref path_buf, ref uri_from_parse)) => {
[INFO] [stdout]     |     --------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 574 |     Ok(Endpoint::Inproc(ref name)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 594 |     Err(e) => bind_result = Err(e), // Error from parse_endpoint
[INFO] [stdout]     |     ------ matches some of the same values
[INFO] [stdout] 595 |     _ => bind_result = Err(ZmqError::UnsupportedTransport(endpoint.to_string())),
[INFO] [stdout]     |     ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/socket/core/command_processor.rs:671:5
[INFO] [stdout]     |
[INFO] [stdout] 671 |     _ => {
[INFO] [stdout]     |     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/socket/core/command_processor.rs:671:5
[INFO] [stdout]     |
[INFO] [stdout] 635 |     Ok(Endpoint::Tcp(_, ref parsed_uri_for_connecter)) => {
[INFO] [stdout]     |     -------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 647 |     Ok(Endpoint::Ipc(_, ref parsed_uri_for_connecter)) => {
[INFO] [stdout]     |     -------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 659 |     Ok(Endpoint::Inproc(ref name)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 668 |     Err(e) => {
[INFO] [stdout]     |     ------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 671 |     _ => {
[INFO] [stdout]     |     ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/socket/core/command_processor.rs:942:5
[INFO] [stdout]     |
[INFO] [stdout] 942 |     _ => {
[INFO] [stdout]     |     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/socket/core/command_processor.rs:942:5
[INFO] [stdout]     |
[INFO] [stdout] 875 |     Ok(Endpoint::Tcp(_, _)) => {
[INFO] [stdout]     |     ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 906 |     Ok(Endpoint::Ipc(path_buf, _)) => {
[INFO] [stdout]     |     ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 927 |     Ok(Endpoint::Inproc(_)) => {
[INFO] [stdout]     |     ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 930 |     Err(err) => {
[INFO] [stdout]     |     -------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 942 |     _ => {
[INFO] [stdout]     |     ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/ipc.rs:306:19
[INFO] [stdout]     |
[INFO] [stdout] 306 |               let mut unix_stream_opt = Some(unix_stream);
[INFO] [stdout]     |                   ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/ipc.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let mut loop_error_to_report: Option<ZmqError>;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/ipc.rs:598:17
[INFO] [stdout]     |
[INFO] [stdout] 598 |             let mut unix_stream_opt = Some(unix_stream);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `popped_msgs`
[INFO] [stdout]   --> src/sessionx/egress_driver.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 |       let popped_msgs = this.egress_buffer.advance(n);
[INFO] [stdout]    |           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_popped_msgs`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `site`
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:322:3
[INFO] [stdout]     |
[INFO] [stdout] 322 |   site: &str,
[INFO] [stdout]     |   ^^^^ help: if this is intentional, prefix it with an underscore: `_site`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `spins` is assigned to, but never used
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:324:7
[INFO] [stdout]     |
[INFO] [stdout] 324 |   let mut spins = 0usize;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_spins` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `spins` is never read
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout] 329 |         spins += 1;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `use_io_uring`
[INFO] [stdout]    --> src/transport/ipc.rs:289:15
[INFO] [stdout]     |
[INFO] [stdout] 289 |           let use_io_uring = false;
[INFO] [stdout]     |               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_io_uring`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `connect_use_io_uring`
[INFO] [stdout]    --> src/transport/ipc.rs:596:17
[INFO] [stdout]     |
[INFO] [stdout] 596 |             let connect_use_io_uring = false;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connect_use_io_uring`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket_type`
[INFO] [stdout]    --> src/transport/tcp.rs:496:25
[INFO] [stdout]     |
[INFO] [stdout] 496 |                     let socket_type = socket_options_clone.socket_type_name.as_str();
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `setup_successful` is never read
[INFO] [stdout]    --> src/transport/tcp.rs:478:19
[INFO] [stdout]     |
[INFO] [stdout] 478 |                   setup_successful = false;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket_type`
[INFO] [stdout]     --> src/transport/tcp.rs:1079:17
[INFO] [stdout]      |
[INFO] [stdout] 1079 |             let socket_type = self.socket_options.socket_type_name.as_str();
[INFO] [stdout]      |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `binder_core_id` is never read
[INFO] [stdout]   --> src/context.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) struct InprocBinding {
[INFO] [stdout]    |                   ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |   pub(crate) binder_core_id: usize,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InprocBinding` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PeerAddress` is never constructed
[INFO] [stdout]    --> src/message/metadata.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct PeerAddress(pub SocketAddr);
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ZapUserId` is never constructed
[INFO] [stdout]    --> src/message/metadata.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct ZapUserId(pub String);
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAT_THRESHOLD` is never used
[INFO] [stdout]   --> src/protocol/zmtp/engine.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const FLAT_THRESHOLD: usize = 16 * 1024; // 16 KiB
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `check_handshake_deadline`, `heartbeats_enabled`, `frame_batch`, `frame_batch_vectored`, `frame_msgs`, and `on_app_message` are never used
[INFO] [stdout]    --> src/protocol/zmtp/engine.rs:124:10
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl ZmtpEngine {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |   pub fn check_handshake_deadline(&mut self, now: Instant) -> EngineOutput {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |   pub fn heartbeats_enabled(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |   pub fn frame_batch(&mut self, batch: &[FrameBatch]) -> Result<Bytes, ZmqError> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |   pub fn frame_batch_vectored(&mut self, batch: &[FrameBatch]) -> Result<Vec<Bytes>, ZmqError> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |   pub fn frame_msgs(&mut self, msgs: FrameBatch) -> Result<Bytes, ZmqError> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |   pub fn on_app_message(&mut self, msgs: FrameBatch) -> EngineOutput {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `notify` is never read
[INFO] [stdout]  --> src/runtime/latch.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct CountDownLatch {
[INFO] [stdout]   |                   -------------- field in this struct
[INFO] [stdout] 7 |   count: Arc<AtomicUsize>,
[INFO] [stdout] 8 |   notify: Arc<Notify>,
[INFO] [stdout]   |   ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `CountDownLatch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `count_down`, and `await_` are never used
[INFO] [stdout]   --> src/runtime/latch.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl CountDownLatch {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 12 |   /// Creates a new latch initialized with the given count.
[INFO] [stdout] 13 |   pub fn new(count: usize) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |   pub async fn count_down(&self) {
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |   pub async fn await_(&self) {
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MailboxSyncSender` is never used
[INFO] [stdout]   --> src/runtime/mailbox.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) type MailboxSyncSender = mpsc::BoundedSyncSender<Command>;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IDataCipher` is never used
[INFO] [stdout]  --> src/security/cipher.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait IDataCipher: Send + Sync + 'static {
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_msg_multipart`, `write_msg_split`, `frame_vectored`, and `try_read_msgs_from_bytes` are never used
[INFO] [stdout]   --> src/security/framer/mod.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) trait ISecureFramer: Send + Sync + 'static {
[INFO] [stdout]    |                  ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 15 |   fn write_msg_multipart(&mut self, msgs: FrameBatch) -> Result<Bytes, ZmqError>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |   fn write_msg_split(&mut self, msg: Msg) -> Result<(Bytes, Option<Bytes>), ZmqError> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |   fn frame_vectored(&mut self, batch: &[FrameBatch]) -> Result<Vec<Bytes>, ZmqError> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |   fn try_read_msgs_from_bytes(
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LengthPrefixedFramer` is never constructed
[INFO] [stdout]    --> src/security/framer/mod.rs:109:19
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub(crate) struct LengthPrefixedFramer {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `frame_with_length_prefix` are never used
[INFO] [stdout]    --> src/security/framer/mod.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl LengthPrefixedFramer {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 118 |   pub(crate) fn new(cipher: Box<dyn IDataCipher>, max_msg_size: i64, sndbatch_count: usize, sndbatch_bytes_physical: usize) -> Self {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |   fn frame_with_length_prefix(&mut self, plaintext: &[u8]) -> Result<Bytes, ZmqError> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `header_slab` is never read
[INFO] [stdout]   --> src/security/framer/encoder.rs:32:3
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(crate) struct ZmtpFrameEncoder {
[INFO] [stdout]    |                   ---------------- field in this struct
[INFO] [stdout] 32 |   header_slab: BytesMut,
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `frame_vectored` is never used
[INFO] [stdout]    --> src/security/framer/encoder.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl ZmtpFrameEncoder {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 128 |   pub fn frame_vectored(&mut self, batch: &[FrameBatch]) -> Result<Vec<Bytes>, ZmqError> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ContinueWaiting` is never constructed
[INFO] [stdout]   --> src/security/mechanism.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) enum ProcessTokenAction {
[INFO] [stdout]    |                 ------------------ variant in this enum
[INFO] [stdout] 16 |   /// No immediate action is required. The handler should wait for the next event.
[INFO] [stdout] 17 |   ContinueWaiting,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProcessTokenAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `peak_messages`, `peak_bytes`, `current_slice`, and `total_pending_bytes` are never used
[INFO] [stdout]    --> src/sessionx/egress_buffer.rs:39:17
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl EgressBuffer {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  39 |   pub(crate) fn peak_messages(&self) -> usize {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |   pub(crate) fn peak_bytes(&self) -> usize {
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |   pub(crate) fn current_slice(&self) -> Option<&[u8]> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |   pub(crate) fn total_pending_bytes(&self) -> usize {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `actor_handle` is never read
[INFO] [stdout]   --> src/sessionx/egress_driver.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct EgressDriver<'a, W: ZmtpWriteHalf> {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |   actor_handle: usize,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expecting_first_frame_of_new_zmq_message` is never read
[INFO] [stdout]   --> src/sessionx/cork.rs:14:3
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct TcpCorkInfoX {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |   expecting_first_frame_of_new_zmq_message: bool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TcpCorkInfoX` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fd`, `is_expecting_first_frame`, and `set_expecting_first_frame` are never used
[INFO] [stdout]   --> src/sessionx/cork.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl TcpCorkInfoX {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |   pub(crate) fn fd(&self) -> RawFd {
[INFO] [stdout]    |                 ^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |   pub(crate) fn is_expecting_first_frame(&self) -> bool {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |   pub(crate) fn set_expecting_first_frame(&mut self, expecting: bool) {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sndtimeo`, `use_send_zerocopy`, `use_recv_multishot`, `rcvhwm`, and `rcvbuf` are never read
[INFO] [stdout]    --> src/socket/options.rs:302:7
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub(crate) struct ZmtpEngineConfig {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 302 |   pub sndtimeo: Option<Duration>,
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |   pub use_send_zerocopy: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 309 |   pub use_recv_multishot: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |   pub rcvhwm: usize,
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 342 |   pub rcvbuf: Option<usize>,
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ZmtpEngineConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_key_option` is never used
[INFO] [stdout]    --> src/socket/options.rs:684:15
[INFO] [stdout]     |
[INFO] [stdout] 684 | pub(crate) fn parse_key_option<const N: usize>(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_connections` is never used
[INFO] [stdout]    --> src/socket/patterns/load_balancer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl LoadBalancer {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |   pub fn has_connections(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_connections` is never used
[INFO] [stdout]   --> src/socket/patterns/outgoing_orchestrator.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl OutgoingMessageOrchestrator {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |   pub fn has_connections(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reserved_of` is never used
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn reserved_of(counts: u64) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `capacity` and `lwm` are never read
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:179:3
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub(crate) struct PipeSlot<T: Send + 'static> {
[INFO] [stdout]     |                   -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 179 |   capacity: usize,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |   pub(crate) lwm: usize,
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reserved`, `capacity`, `is_congested`, and `is_drained` are never used
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:246:10
[INFO] [stdout]     |
[INFO] [stdout] 234 | impl<T: Send + 'static> PipeSlot<T> {
[INFO] [stdout]     | ----------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 246 |   pub fn reserved(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |   pub fn is_drained(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/socket/patterns/ready_pipe_queue.rs:854:10
[INFO] [stdout]      |
[INFO] [stdout]  797 | impl<T: Send + 'static> ReadyPipeSender<T> {
[INFO] [stdout]      | ------------------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  854 |   pub fn try_send(&self, item: T) -> Result<(), TrySendError<T>> {
[INFO] [stdout]      |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1043 |   pub fn queued_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1047 |   pub fn reserved_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1051 |   pub fn len(&self) -> usize {
[INFO] [stdout]      |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1055 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1063 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1071 |   pub fn is_drained(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/socket/patterns/ready_pipe_queue.rs:1211:10
[INFO] [stdout]      |
[INFO] [stdout] 1143 | impl PipeMessageSender {
[INFO] [stdout]      | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1211 |   pub fn try_send_sync(&self, batch: FrameBatch) -> Result<(), TrySendError<FrameBatch>> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1341 |   pub fn queued_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1350 |   pub fn reserved_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1359 |   pub fn len(&self) -> usize {
[INFO] [stdout]      |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1368 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1377 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1386 |   pub fn is_drained(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_identity_by_read_pipe` is never used
[INFO] [stdout]   --> src/socket/patterns/router.rs:97:16
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl RouterMap {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 97 |   pub async fn get_identity_by_read_pipe(&self, pipe_read_id: usize) -> Option<Blob> {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_read_chunk` is never used
[INFO] [stdout]   --> src/transport/mod.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) trait ZmtpReadHalf: AsyncRead + Unpin + Send + std::fmt::Debug + 'static {
[INFO] [stdout]    |                  ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 45 |   fn try_read_chunk(&mut self, _buf: &mut [u8]) -> std::io::Result<usize> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connection_id` is never read
[INFO] [stdout]   --> src/transport/inproc/connection.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct DirectInprocConnection {
[INFO] [stdout]    |                   ---------------------- field in this struct
[INFO] [stdout] 16 |   pub connection_id: usize,
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DirectInprocConnection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connector_id` is never read
[INFO] [stdout]   --> src/transport/inproc/types.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct InprocHandshakeRequest {
[INFO] [stdout]    |                   ---------------------- field in this struct
[INFO] [stdout] 10 |   pub connector_id: usize,
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `binder_id` is never read
[INFO] [stdout]   --> src/transport/inproc/types.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) struct InprocHandshakeResponse {
[INFO] [stdout]    |                   ----------------------- field in this struct
[INFO] [stdout] 19 |   pub binder_id: usize,
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InprocHandshakeResponse` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `verify_response` is never used
[INFO] [stdout]   --> src/transport/inproc/types.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl InprocHandshakeRequest {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] 30 |   pub fn verify_response(&self, response: &InprocHandshakeResponse) -> Result<(), ZmqError> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `begin_work` is never used
[INFO] [stdout]    --> src/throttle/mod.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl AdaptiveThrottle {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 119 |   pub fn begin_work(&self, dir: Direction) -> ThrottleGuard {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProfileGuard` is never constructed
[INFO] [stdout]   --> src/profiler.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 |   pub struct ProfileGuard;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoopProfiler` is never constructed
[INFO] [stdout]   --> src/profiler.rs:95:14
[INFO] [stdout]    |
[INFO] [stdout] 95 |   pub struct LoopProfiler;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `loop_start`, `profile`, and `log_and_reset_for_next_loop` are never used
[INFO] [stdout]    --> src/profiler.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  97 |   impl LoopProfiler {
[INFO] [stdout]     |   ----------------- associated items in this implementation
[INFO] [stdout]  98 |     #[inline(always)]
[INFO] [stdout]  99 |     pub fn new(_threshold: Duration, _log_interval: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn loop_start(&mut self) {}
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn profile(&mut self, _index: usize, _label: &'static str) -> ProfileGuard {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn log_and_reset_for_next_loop(&mut self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/security/plain.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 317 |         "PLAIN handshake not complete.".into(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 317 -         "PLAIN handshake not complete.".into(),
[INFO] [stdout] 317 +         "PLAIN handshake not complete.",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 317 -         "PLAIN handshake not complete.".into(),
[INFO] [stdout] 317 +         <&str as Into<_>>::into("PLAIN handshake not complete."),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/sessionx/iface.rs:125:66
[INFO] [stdout]     |
[INFO] [stdout] 125 |       _ = self.closing.cancelled() => Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 125 -       _ = self.closing.cancelled() => Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout] 125 +       _ = self.closing.cancelled() => Err(ZmqError::InvalidState("Socket is closing")),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 125 -       _ = self.closing.cancelled() => Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout] 125 +       _ = self.closing.cancelled() => Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing"))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/core/command_processor.rs:141:11
[INFO] [stdout]     |
[INFO] [stdout] 141 |           "Socket is shutting down".into(),
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 141 -           "Socket is shutting down".into(),
[INFO] [stdout] 141 +           "Socket is shutting down",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 141 -           "Socket is shutting down".into(),
[INFO] [stdout] 141 +           <&str as Into<_>>::into("Socket is shutting down"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/core/command_processor.rs:146:11
[INFO] [stdout]     |
[INFO] [stdout] 146 |           "Socket is shutting down".into(),
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 146 -           "Socket is shutting down".into(),
[INFO] [stdout] 146 +           "Socket is shutting down",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 146 -           "Socket is shutting down".into(),
[INFO] [stdout] 146 +           <&str as Into<_>>::into("Socket is shutting down"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/core/command_processor.rs:151:11
[INFO] [stdout]     |
[INFO] [stdout] 151 |           "Socket is shutting down".into(),
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 151 -           "Socket is shutting down".into(),
[INFO] [stdout] 151 +           "Socket is shutting down",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 151 -           "Socket is shutting down".into(),
[INFO] [stdout] 151 +           <&str as Into<_>>::into("Socket is shutting down"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/core/event_processor.rs:168:15
[INFO] [stdout]     |
[INFO] [stdout] 168 |               "Binder socket is shutting down".into(),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 168 -               "Binder socket is shutting down".into(),
[INFO] [stdout] 168 +               "Binder socket is shutting down",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 168 -               "Binder socket is shutting down".into(),
[INFO] [stdout] 168 +               <&str as Into<_>>::into("Binder socket is shutting down"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/patterns/load_balancer.rs:101:43
[INFO] [stdout]     |
[INFO] [stdout] 101 |         return Err(ZmqError::InvalidState("Socket closed".into()));
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 101 -         return Err(ZmqError::InvalidState("Socket closed".into()));
[INFO] [stdout] 101 +         return Err(ZmqError::InvalidState("Socket closed"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 101 -         return Err(ZmqError::InvalidState("Socket closed".into()));
[INFO] [stdout] 101 +         return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket closed")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> src/socket/connection_iface.rs:75:7
[INFO] [stdout]    |
[INFO] [stdout] 75 |       "DummyConnection cannot send".into(),
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 75 -       "DummyConnection cannot send".into(),
[INFO] [stdout] 75 +       "DummyConnection cannot send",
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 75 -       "DummyConnection cannot send".into(),
[INFO] [stdout] 75 +       <&str as Into<_>>::into("DummyConnection cannot send"),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> src/socket/connection_iface.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 |       "DummyConnection cannot send multipart".into(),
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 81 -       "DummyConnection cannot send multipart".into(),
[INFO] [stdout] 81 +       "DummyConnection cannot send multipart",
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 81 -       "DummyConnection cannot send multipart".into(),
[INFO] [stdout] 81 +       <&str as Into<_>>::into("DummyConnection cannot send multipart"),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:193:41
[INFO] [stdout]     |
[INFO] [stdout] 193 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 193 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 193 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 193 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 193 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:264:47
[INFO] [stdout]     |
[INFO] [stdout] 264 |       return Err((msg, ZmqError::InvalidState("Socket is closing".into())));
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 264 -       return Err((msg, ZmqError::InvalidState("Socket is closing".into())));
[INFO] [stdout] 264 +       return Err((msg, ZmqError::InvalidState("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 264 -       return Err((msg, ZmqError::InvalidState("Socket is closing".into())));
[INFO] [stdout] 264 +       return Err((msg, ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing"))));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:287:41
[INFO] [stdout]     |
[INFO] [stdout] 287 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 287 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 287 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 287 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 287 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:321:80
[INFO] [stdout]     |
[INFO] [stdout] 321 | ...   _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx".into())),
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 321 -                 _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx".into())),
[INFO] [stdout] 321 +                 _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx")),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 321 -                 _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx".into())),
[INFO] [stdout] 321 +                 _ = closing_signal_future => return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing while waiting for prior send tx"))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:330:80
[INFO] [stdout]     |
[INFO] [stdout] 330 | ...   _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx".into())),
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 330 -                 _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx".into())),
[INFO] [stdout] 330 +                 _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx")),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 330 -                 _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx".into())),
[INFO] [stdout] 330 +                 _ = closing_signal_future => return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing while waiting for prior send tx"))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:342:41
[INFO] [stdout]     |
[INFO] [stdout] 342 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 342 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 342 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 342 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 342 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:373:41
[INFO] [stdout]     |
[INFO] [stdout] 373 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 373 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 373 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 373 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 373 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:472:9
[INFO] [stdout]     |
[INFO] [stdout] 472 |         "Socket is closing or terminated".into(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 472 -         "Socket is closing or terminated".into(),
[INFO] [stdout] 472 +         "Socket is closing or terminated",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 472 -         "Socket is closing or terminated".into(),
[INFO] [stdout] 472 +         <&str as Into<_>>::into("Socket is closing or terminated"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/pub_socket.rs:107:68
[INFO] [stdout]     |
[INFO] [stdout] 107 |       _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 107 -       _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout] 107 +       _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing")),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 107 -       _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout] 107 +       _ = closing.cancelled() => return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing"))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/pub_socket.rs:136:72
[INFO] [stdout]     |
[INFO] [stdout] 136 |           _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 136 -           _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout] 136 +           _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing")),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 136 -           _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout] 136 +           _ = closing.cancelled() => return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing"))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/pub_socket.rs:140:43
[INFO] [stdout]     |
[INFO] [stdout] 140 |         return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 140 -         return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 140 +         return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 140 -         return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 140 +         return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/pub_socket.rs:204:41
[INFO] [stdout]     |
[INFO] [stdout] 204 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 204 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 204 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 204 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 204 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/pub_socket.rs:229:41
[INFO] [stdout]     |
[INFO] [stdout] 229 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 229 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 229 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 229 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 229 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> src/socket/pull_socket.rs:67:32
[INFO] [stdout]    |
[INFO] [stdout] 67 |     Err(ZmqError::InvalidState("PULL sockets cannot send messages".into()))
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 67 -     Err(ZmqError::InvalidState("PULL sockets cannot send messages".into()))
[INFO] [stdout] 67 +     Err(ZmqError::InvalidState("PULL sockets cannot send messages"))
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 67 -     Err(ZmqError::InvalidState("PULL sockets cannot send messages".into()))
[INFO] [stdout] 67 +     Err(ZmqError::InvalidState(<&str as Into<_>>::into("PULL sockets cannot send messages")))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> src/socket/pull_socket.rs:72:41
[INFO] [stdout]    |
[INFO] [stdout] 72 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 72 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 72 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 72 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 72 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> src/socket/pull_socket.rs:79:32
[INFO] [stdout]    |
[INFO] [stdout] 79 |     Err(ZmqError::InvalidState("PULL sockets cannot send messages".into()))
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 79 -     Err(ZmqError::InvalidState("PULL sockets cannot send messages".into()))
[INFO] [stdout] 79 +     Err(ZmqError::InvalidState("PULL sockets cannot send messages"))
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 79 -     Err(ZmqError::InvalidState("PULL sockets cannot send messages".into()))
[INFO] [stdout] 79 +     Err(ZmqError::InvalidState(<&str as Into<_>>::into("PULL sockets cannot send messages")))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> src/socket/pull_socket.rs:84:41
[INFO] [stdout]    |
[INFO] [stdout] 84 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 84 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 84 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 84 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 84 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> src/socket/push_socket.rs:84:47
[INFO] [stdout]    |
[INFO] [stdout] 84 |       return Err((msg, ZmqError::InvalidState("Socket is closing".into())));
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 84 -       return Err((msg, ZmqError::InvalidState("Socket is closing".into())));
[INFO] [stdout] 84 +       return Err((msg, ZmqError::InvalidState("Socket is closing")));
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 84 -       return Err((msg, ZmqError::InvalidState("Socket is closing".into())));
[INFO] [stdout] 84 +       return Err((msg, ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing"))));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/rep_socket.rs:132:41
[INFO] [stdout]     |
[INFO] [stdout] 132 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 132 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 132 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 132 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 132 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/rep_socket.rs:144:41
[INFO] [stdout]     |
[INFO] [stdout] 144 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 144 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 144 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 144 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 144 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/rep_socket.rs:166:41
[INFO] [stdout]     |
[INFO] [stdout] 166 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 166 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 166 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 166 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 166 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/rep_socket.rs:239:41
[INFO] [stdout]     |
[INFO] [stdout] 239 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 239 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 239 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 239 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 239 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/req_socket.rs:172:41
[INFO] [stdout]     |
[INFO] [stdout] 172 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 172 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 172 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 172 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 172 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/req_socket.rs:207:43
[INFO] [stdout]     |
[INFO] [stdout] 207 |         return Err(ZmqError::InvalidState("Socket terminated".into()));
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 207 -         return Err(ZmqError::InvalidState("Socket terminated".into()));
[INFO] [stdout] 207 +         return Err(ZmqError::InvalidState("Socket terminated"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 207 -         return Err(ZmqError::InvalidState("Socket terminated".into()));
[INFO] [stdout] 207 +         return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket terminated")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/req_socket.rs:265:41
[INFO] [stdout]     |
[INFO] [stdout] 265 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 265 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 265 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 265 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 265 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/req_socket.rs:283:7
[INFO] [stdout]     |
[INFO] [stdout] 283 |       "REQ sockets use send() for single-part requests. Use DEALER for general multipart messaging.".into(),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 283 -       "REQ sockets use send() for single-part requests. Use DEALER for general multipart messaging.".into(),
[INFO] [stdout] 283 +       "REQ sockets use send() for single-part requests. Use DEALER for general multipart messaging.",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 283 -       "REQ sockets use send() for single-part requests. Use DEALER for general multipart messaging.".into(),
[INFO] [stdout] 283 +       <&str as Into<_>>::into("REQ sockets use send() for single-part requests. Use DEALER for general multipart messaging."),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/req_socket.rs:289:41
[INFO] [stdout]     |
[INFO] [stdout] 289 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 289 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 289 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 289 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 289 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/router_socket.rs:221:41
[INFO] [stdout]     |
[INFO] [stdout] 221 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 221 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 221 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 221 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 221 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/router_socket.rs:413:41
[INFO] [stdout]     |
[INFO] [stdout] 413 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 413 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 413 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 413 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 413 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/router_socket.rs:445:41
[INFO] [stdout]     |
[INFO] [stdout] 445 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 445 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 445 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 445 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 445 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/router_socket.rs:570:41
[INFO] [stdout]     |
[INFO] [stdout] 570 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 570 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 570 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 570 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 570 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/sub_socket.rs:159:41
[INFO] [stdout]     |
[INFO] [stdout] 159 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 159 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 159 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 159 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 159 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/sub_socket.rs:171:41
[INFO] [stdout]     |
[INFO] [stdout] 171 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 171 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 171 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 171 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 171 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/socket/core/inproc_reader.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 |       rx.try_recv_batch_mut(&mut drain_buf, rcvbatch_count - 1);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |       let _ = rx.try_recv_batch_mut(&mut drain_buf, rcvbatch_count - 1);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:771:5
[INFO] [stdout]     |
[INFO] [stdout] 771 |     self.ready_tx.close();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 771 |     let _ = self.ready_tx.close();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/transport/inproc/connection.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     self.peer_queue_sender.close();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let _ = self.peer_queue_sender.close();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `popped_msgs`
[INFO] [stdout]   --> src/sessionx/egress_driver.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 |       let popped_msgs = this.egress_buffer.advance(n);
[INFO] [stdout]    |           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_popped_msgs`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rzmq` (lib) due to 42 previous errors; 67 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `site`
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:322:3
[INFO] [stdout]     |
[INFO] [stdout] 322 |   site: &str,
[INFO] [stdout]     |   ^^^^ help: if this is intentional, prefix it with an underscore: `_site`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `spins` is assigned to, but never used
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:324:7
[INFO] [stdout]     |
[INFO] [stdout] 324 |   let mut spins = 0usize;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_spins` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `spins` is never read
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout] 329 |         spins += 1;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `seq` is never read
[INFO] [stdout]     --> src/socket/patterns/ready_pipe_queue.rs:1895:11
[INFO] [stdout]      |
[INFO] [stdout] 1895 |           seq += 1;
[INFO] [stdout]      |           ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `use_io_uring`
[INFO] [stdout]    --> src/transport/ipc.rs:289:15
[INFO] [stdout]     |
[INFO] [stdout] 289 |           let use_io_uring = false;
[INFO] [stdout]     |               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_io_uring`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `connect_use_io_uring`
[INFO] [stdout]    --> src/transport/ipc.rs:596:17
[INFO] [stdout]     |
[INFO] [stdout] 596 |             let connect_use_io_uring = false;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connect_use_io_uring`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket_type`
[INFO] [stdout]    --> src/transport/tcp.rs:496:25
[INFO] [stdout]     |
[INFO] [stdout] 496 |                     let socket_type = socket_options_clone.socket_type_name.as_str();
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `setup_successful` is never read
[INFO] [stdout]    --> src/transport/tcp.rs:478:19
[INFO] [stdout]     |
[INFO] [stdout] 478 |                   setup_successful = false;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket_type`
[INFO] [stdout]     --> src/transport/tcp.rs:1079:17
[INFO] [stdout]      |
[INFO] [stdout] 1079 |             let socket_type = self.socket_options.socket_type_name.as_str();
[INFO] [stdout]      |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAT_THRESHOLD` is never used
[INFO] [stdout]   --> src/protocol/zmtp/engine.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const FLAT_THRESHOLD: usize = 16 * 1024; // 16 KiB
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `check_handshake_deadline`, `heartbeats_enabled`, `frame_batch`, `frame_batch_vectored`, `frame_msgs`, and `on_app_message` are never used
[INFO] [stdout]    --> src/protocol/zmtp/engine.rs:124:10
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl ZmtpEngine {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |   pub fn check_handshake_deadline(&mut self, now: Instant) -> EngineOutput {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |   pub fn heartbeats_enabled(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |   pub fn frame_batch(&mut self, batch: &[FrameBatch]) -> Result<Bytes, ZmqError> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |   pub fn frame_batch_vectored(&mut self, batch: &[FrameBatch]) -> Result<Vec<Bytes>, ZmqError> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |   pub fn frame_msgs(&mut self, msgs: FrameBatch) -> Result<Bytes, ZmqError> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |   pub fn on_app_message(&mut self, msgs: FrameBatch) -> EngineOutput {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MailboxSyncSender` is never used
[INFO] [stdout]   --> src/runtime/mailbox.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) type MailboxSyncSender = mpsc::BoundedSyncSender<Command>;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IDataCipher` is never used
[INFO] [stdout]  --> src/security/cipher.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait IDataCipher: Send + Sync + 'static {
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write_msg_multipart`, `write_msg_split`, `frame_vectored`, and `try_read_msgs_from_bytes` are never used
[INFO] [stdout]   --> src/security/framer/mod.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) trait ISecureFramer: Send + Sync + 'static {
[INFO] [stdout]    |                  ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 15 |   fn write_msg_multipart(&mut self, msgs: FrameBatch) -> Result<Bytes, ZmqError>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |   fn write_msg_split(&mut self, msg: Msg) -> Result<(Bytes, Option<Bytes>), ZmqError> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |   fn frame_vectored(&mut self, batch: &[FrameBatch]) -> Result<Vec<Bytes>, ZmqError> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |   fn try_read_msgs_from_bytes(
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LengthPrefixedFramer` is never constructed
[INFO] [stdout]    --> src/security/framer/mod.rs:109:19
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub(crate) struct LengthPrefixedFramer {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `frame_with_length_prefix` are never used
[INFO] [stdout]    --> src/security/framer/mod.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl LengthPrefixedFramer {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 118 |   pub(crate) fn new(cipher: Box<dyn IDataCipher>, max_msg_size: i64, sndbatch_count: usize, sndbatch_bytes_physical: usize) -> Self {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |   fn frame_with_length_prefix(&mut self, plaintext: &[u8]) -> Result<Bytes, ZmqError> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ContinueWaiting` is never constructed
[INFO] [stdout]   --> src/security/mechanism.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) enum ProcessTokenAction {
[INFO] [stdout]    |                 ------------------ variant in this enum
[INFO] [stdout] 16 |   /// No immediate action is required. The handler should wait for the next event.
[INFO] [stdout] 17 |   ContinueWaiting,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProcessTokenAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `peak_messages` and `peak_bytes` are never used
[INFO] [stdout]   --> src/sessionx/egress_buffer.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl EgressBuffer {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |   pub(crate) fn peak_messages(&self) -> usize {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |   pub(crate) fn peak_bytes(&self) -> usize {
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `actor_handle` is never read
[INFO] [stdout]   --> src/sessionx/egress_driver.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct EgressDriver<'a, W: ZmtpWriteHalf> {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |   actor_handle: usize,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expecting_first_frame_of_new_zmq_message` is never read
[INFO] [stdout]   --> src/sessionx/cork.rs:14:3
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct TcpCorkInfoX {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |   expecting_first_frame_of_new_zmq_message: bool,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TcpCorkInfoX` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fd`, `is_expecting_first_frame`, and `set_expecting_first_frame` are never used
[INFO] [stdout]   --> src/sessionx/cork.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl TcpCorkInfoX {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |   pub(crate) fn fd(&self) -> RawFd {
[INFO] [stdout]    |                 ^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |   pub(crate) fn is_expecting_first_frame(&self) -> bool {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |   pub(crate) fn set_expecting_first_frame(&mut self, expecting: bool) {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sndtimeo`, `use_send_zerocopy`, `use_recv_multishot`, `rcvhwm`, and `rcvbuf` are never read
[INFO] [stdout]    --> src/socket/options.rs:302:7
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub(crate) struct ZmtpEngineConfig {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 302 |   pub sndtimeo: Option<Duration>,
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |   pub use_send_zerocopy: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 309 |   pub use_recv_multishot: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |   pub rcvhwm: usize,
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 342 |   pub rcvbuf: Option<usize>,
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ZmtpEngineConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_key_option` is never used
[INFO] [stdout]    --> src/socket/options.rs:684:15
[INFO] [stdout]     |
[INFO] [stdout] 684 | pub(crate) fn parse_key_option<const N: usize>(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_connections` is never used
[INFO] [stdout]    --> src/socket/patterns/load_balancer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl LoadBalancer {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |   pub fn has_connections(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_connections` is never used
[INFO] [stdout]   --> src/socket/patterns/outgoing_orchestrator.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl OutgoingMessageOrchestrator {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |   pub fn has_connections(&self) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `capacity` and `lwm` are never read
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:179:3
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub(crate) struct PipeSlot<T: Send + 'static> {
[INFO] [stdout]     |                   -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 179 |   capacity: usize,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |   pub(crate) lwm: usize,
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `capacity`, `is_congested`, and `is_drained` are never used
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:250:10
[INFO] [stdout]     |
[INFO] [stdout] 234 | impl<T: Send + 'static> PipeSlot<T> {
[INFO] [stdout]     | ----------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 250 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |   pub fn is_drained(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `queued_count`, `reserved_count`, `len`, `capacity`, `is_congested`, and `is_drained` are never used
[INFO] [stdout]     --> src/socket/patterns/ready_pipe_queue.rs:1043:10
[INFO] [stdout]      |
[INFO] [stdout]  797 | impl<T: Send + 'static> ReadyPipeSender<T> {
[INFO] [stdout]      | ------------------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1043 |   pub fn queued_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1047 |   pub fn reserved_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1051 |   pub fn len(&self) -> usize {
[INFO] [stdout]      |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1055 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1063 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1071 |   pub fn is_drained(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/socket/patterns/ready_pipe_queue.rs:1211:10
[INFO] [stdout]      |
[INFO] [stdout] 1143 | impl PipeMessageSender {
[INFO] [stdout]      | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1211 |   pub fn try_send_sync(&self, batch: FrameBatch) -> Result<(), TrySendError<FrameBatch>> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1341 |   pub fn queued_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1350 |   pub fn reserved_count(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1359 |   pub fn len(&self) -> usize {
[INFO] [stdout]      |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1368 |   pub fn capacity(&self) -> usize {
[INFO] [stdout]      |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1377 |   pub fn is_congested(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1386 |   pub fn is_drained(&self) -> bool {
[INFO] [stdout]      |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_read_chunk` is never used
[INFO] [stdout]   --> src/transport/mod.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) trait ZmtpReadHalf: AsyncRead + Unpin + Send + std::fmt::Debug + 'static {
[INFO] [stdout]    |                  ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 45 |   fn try_read_chunk(&mut self, _buf: &mut [u8]) -> std::io::Result<usize> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connection_id` is never read
[INFO] [stdout]   --> src/transport/inproc/connection.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct DirectInprocConnection {
[INFO] [stdout]    |                   ---------------------- field in this struct
[INFO] [stdout] 16 |   pub connection_id: usize,
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DirectInprocConnection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connector_id` is never read
[INFO] [stdout]   --> src/transport/inproc/types.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct InprocHandshakeRequest {
[INFO] [stdout]    |                   ---------------------- field in this struct
[INFO] [stdout] 10 |   pub connector_id: usize,
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `binder_id` is never read
[INFO] [stdout]   --> src/transport/inproc/types.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) struct InprocHandshakeResponse {
[INFO] [stdout]    |                   ----------------------- field in this struct
[INFO] [stdout] 19 |   pub binder_id: usize,
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InprocHandshakeResponse` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProfileGuard` is never constructed
[INFO] [stdout]   --> src/profiler.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 |   pub struct ProfileGuard;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoopProfiler` is never constructed
[INFO] [stdout]   --> src/profiler.rs:95:14
[INFO] [stdout]    |
[INFO] [stdout] 95 |   pub struct LoopProfiler;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `loop_start`, `profile`, and `log_and_reset_for_next_loop` are never used
[INFO] [stdout]    --> src/profiler.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  97 |   impl LoopProfiler {
[INFO] [stdout]     |   ----------------- associated items in this implementation
[INFO] [stdout]  98 |     #[inline(always)]
[INFO] [stdout]  99 |     pub fn new(_threshold: Duration, _log_interval: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn loop_start(&mut self) {}
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn profile(&mut self, _index: usize, _label: &'static str) -> ProfileGuard {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn log_and_reset_for_next_loop(&mut self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/security/plain.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 317 |         "PLAIN handshake not complete.".into(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 317 -         "PLAIN handshake not complete.".into(),
[INFO] [stdout] 317 +         "PLAIN handshake not complete.",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 317 -         "PLAIN handshake not complete.".into(),
[INFO] [stdout] 317 +         <&str as Into<_>>::into("PLAIN handshake not complete."),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/sessionx/iface.rs:125:66
[INFO] [stdout]     |
[INFO] [stdout] 125 |       _ = self.closing.cancelled() => Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 125 -       _ = self.closing.cancelled() => Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout] 125 +       _ = self.closing.cancelled() => Err(ZmqError::InvalidState("Socket is closing")),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 125 -       _ = self.closing.cancelled() => Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout] 125 +       _ = self.closing.cancelled() => Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing"))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/core/command_processor.rs:141:11
[INFO] [stdout]     |
[INFO] [stdout] 141 |           "Socket is shutting down".into(),
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 141 -           "Socket is shutting down".into(),
[INFO] [stdout] 141 +           "Socket is shutting down",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 141 -           "Socket is shutting down".into(),
[INFO] [stdout] 141 +           <&str as Into<_>>::into("Socket is shutting down"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/core/command_processor.rs:146:11
[INFO] [stdout]     |
[INFO] [stdout] 146 |           "Socket is shutting down".into(),
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 146 -           "Socket is shutting down".into(),
[INFO] [stdout] 146 +           "Socket is shutting down",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 146 -           "Socket is shutting down".into(),
[INFO] [stdout] 146 +           <&str as Into<_>>::into("Socket is shutting down"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/core/command_processor.rs:151:11
[INFO] [stdout]     |
[INFO] [stdout] 151 |           "Socket is shutting down".into(),
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 151 -           "Socket is shutting down".into(),
[INFO] [stdout] 151 +           "Socket is shutting down",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 151 -           "Socket is shutting down".into(),
[INFO] [stdout] 151 +           <&str as Into<_>>::into("Socket is shutting down"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/core/event_processor.rs:168:15
[INFO] [stdout]     |
[INFO] [stdout] 168 |               "Binder socket is shutting down".into(),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 168 -               "Binder socket is shutting down".into(),
[INFO] [stdout] 168 +               "Binder socket is shutting down",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 168 -               "Binder socket is shutting down".into(),
[INFO] [stdout] 168 +               <&str as Into<_>>::into("Binder socket is shutting down"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/patterns/load_balancer.rs:101:43
[INFO] [stdout]     |
[INFO] [stdout] 101 |         return Err(ZmqError::InvalidState("Socket closed".into()));
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 101 -         return Err(ZmqError::InvalidState("Socket closed".into()));
[INFO] [stdout] 101 +         return Err(ZmqError::InvalidState("Socket closed"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 101 -         return Err(ZmqError::InvalidState("Socket closed".into()));
[INFO] [stdout] 101 +         return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket closed")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> src/socket/connection_iface.rs:75:7
[INFO] [stdout]    |
[INFO] [stdout] 75 |       "DummyConnection cannot send".into(),
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 75 -       "DummyConnection cannot send".into(),
[INFO] [stdout] 75 +       "DummyConnection cannot send",
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 75 -       "DummyConnection cannot send".into(),
[INFO] [stdout] 75 +       <&str as Into<_>>::into("DummyConnection cannot send"),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> src/socket/connection_iface.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 |       "DummyConnection cannot send multipart".into(),
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 81 -       "DummyConnection cannot send multipart".into(),
[INFO] [stdout] 81 +       "DummyConnection cannot send multipart",
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 81 -       "DummyConnection cannot send multipart".into(),
[INFO] [stdout] 81 +       <&str as Into<_>>::into("DummyConnection cannot send multipart"),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:193:41
[INFO] [stdout]     |
[INFO] [stdout] 193 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 193 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 193 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 193 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 193 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:264:47
[INFO] [stdout]     |
[INFO] [stdout] 264 |       return Err((msg, ZmqError::InvalidState("Socket is closing".into())));
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 264 -       return Err((msg, ZmqError::InvalidState("Socket is closing".into())));
[INFO] [stdout] 264 +       return Err((msg, ZmqError::InvalidState("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 264 -       return Err((msg, ZmqError::InvalidState("Socket is closing".into())));
[INFO] [stdout] 264 +       return Err((msg, ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing"))));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:287:41
[INFO] [stdout]     |
[INFO] [stdout] 287 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 287 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 287 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 287 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 287 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:321:80
[INFO] [stdout]     |
[INFO] [stdout] 321 | ...   _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx".into())),
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 321 -                 _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx".into())),
[INFO] [stdout] 321 +                 _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx")),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 321 -                 _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx".into())),
[INFO] [stdout] 321 +                 _ = closing_signal_future => return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing while waiting for prior send tx"))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:330:80
[INFO] [stdout]     |
[INFO] [stdout] 330 | ...   _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx".into())),
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 330 -                 _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx".into())),
[INFO] [stdout] 330 +                 _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx")),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 330 -                 _ = closing_signal_future => return Err(ZmqError::InvalidState("Socket is closing while waiting for prior send tx".into())),
[INFO] [stdout] 330 +                 _ = closing_signal_future => return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing while waiting for prior send tx"))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:342:41
[INFO] [stdout]     |
[INFO] [stdout] 342 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 342 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 342 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 342 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 342 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:373:41
[INFO] [stdout]     |
[INFO] [stdout] 373 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 373 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 373 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 373 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 373 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/dealer_socket.rs:472:9
[INFO] [stdout]     |
[INFO] [stdout] 472 |         "Socket is closing or terminated".into(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 472 -         "Socket is closing or terminated".into(),
[INFO] [stdout] 472 +         "Socket is closing or terminated",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 472 -         "Socket is closing or terminated".into(),
[INFO] [stdout] 472 +         <&str as Into<_>>::into("Socket is closing or terminated"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/pub_socket.rs:107:68
[INFO] [stdout]     |
[INFO] [stdout] 107 |       _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 107 -       _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout] 107 +       _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing")),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 107 -       _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout] 107 +       _ = closing.cancelled() => return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing"))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/pub_socket.rs:136:72
[INFO] [stdout]     |
[INFO] [stdout] 136 |           _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 136 -           _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout] 136 +           _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing")),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 136 -           _ = closing.cancelled() => return Err(ZmqError::InvalidState("Socket is closing".into())),
[INFO] [stdout] 136 +           _ = closing.cancelled() => return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing"))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/pub_socket.rs:140:43
[INFO] [stdout]     |
[INFO] [stdout] 140 |         return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 140 -         return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 140 +         return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 140 -         return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 140 +         return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/pub_socket.rs:204:41
[INFO] [stdout]     |
[INFO] [stdout] 204 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 204 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 204 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 204 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 204 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/pub_socket.rs:229:41
[INFO] [stdout]     |
[INFO] [stdout] 229 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 229 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 229 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 229 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 229 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> src/socket/pull_socket.rs:67:32
[INFO] [stdout]    |
[INFO] [stdout] 67 |     Err(ZmqError::InvalidState("PULL sockets cannot send messages".into()))
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 67 -     Err(ZmqError::InvalidState("PULL sockets cannot send messages".into()))
[INFO] [stdout] 67 +     Err(ZmqError::InvalidState("PULL sockets cannot send messages"))
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 67 -     Err(ZmqError::InvalidState("PULL sockets cannot send messages".into()))
[INFO] [stdout] 67 +     Err(ZmqError::InvalidState(<&str as Into<_>>::into("PULL sockets cannot send messages")))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> src/socket/pull_socket.rs:72:41
[INFO] [stdout]    |
[INFO] [stdout] 72 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 72 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 72 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 72 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 72 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> src/socket/pull_socket.rs:79:32
[INFO] [stdout]    |
[INFO] [stdout] 79 |     Err(ZmqError::InvalidState("PULL sockets cannot send messages".into()))
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 79 -     Err(ZmqError::InvalidState("PULL sockets cannot send messages".into()))
[INFO] [stdout] 79 +     Err(ZmqError::InvalidState("PULL sockets cannot send messages"))
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 79 -     Err(ZmqError::InvalidState("PULL sockets cannot send messages".into()))
[INFO] [stdout] 79 +     Err(ZmqError::InvalidState(<&str as Into<_>>::into("PULL sockets cannot send messages")))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> src/socket/pull_socket.rs:84:41
[INFO] [stdout]    |
[INFO] [stdout] 84 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 84 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 84 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 84 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 84 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> src/socket/push_socket.rs:84:47
[INFO] [stdout]    |
[INFO] [stdout] 84 |       return Err((msg, ZmqError::InvalidState("Socket is closing".into())));
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 84 -       return Err((msg, ZmqError::InvalidState("Socket is closing".into())));
[INFO] [stdout] 84 +       return Err((msg, ZmqError::InvalidState("Socket is closing")));
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 84 -       return Err((msg, ZmqError::InvalidState("Socket is closing".into())));
[INFO] [stdout] 84 +       return Err((msg, ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing"))));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/rep_socket.rs:132:41
[INFO] [stdout]     |
[INFO] [stdout] 132 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 132 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 132 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 132 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 132 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/rep_socket.rs:144:41
[INFO] [stdout]     |
[INFO] [stdout] 144 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 144 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 144 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 144 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 144 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/rep_socket.rs:166:41
[INFO] [stdout]     |
[INFO] [stdout] 166 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 166 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 166 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 166 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 166 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/rep_socket.rs:239:41
[INFO] [stdout]     |
[INFO] [stdout] 239 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 239 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 239 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 239 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 239 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/req_socket.rs:172:41
[INFO] [stdout]     |
[INFO] [stdout] 172 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 172 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 172 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 172 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 172 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/req_socket.rs:207:43
[INFO] [stdout]     |
[INFO] [stdout] 207 |         return Err(ZmqError::InvalidState("Socket terminated".into()));
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 207 -         return Err(ZmqError::InvalidState("Socket terminated".into()));
[INFO] [stdout] 207 +         return Err(ZmqError::InvalidState("Socket terminated"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 207 -         return Err(ZmqError::InvalidState("Socket terminated".into()));
[INFO] [stdout] 207 +         return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket terminated")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/req_socket.rs:265:41
[INFO] [stdout]     |
[INFO] [stdout] 265 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 265 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 265 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 265 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 265 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/req_socket.rs:283:7
[INFO] [stdout]     |
[INFO] [stdout] 283 |       "REQ sockets use send() for single-part requests. Use DEALER for general multipart messaging.".into(),
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 283 -       "REQ sockets use send() for single-part requests. Use DEALER for general multipart messaging.".into(),
[INFO] [stdout] 283 +       "REQ sockets use send() for single-part requests. Use DEALER for general multipart messaging.",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 283 -       "REQ sockets use send() for single-part requests. Use DEALER for general multipart messaging.".into(),
[INFO] [stdout] 283 +       <&str as Into<_>>::into("REQ sockets use send() for single-part requests. Use DEALER for general multipart messaging."),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/req_socket.rs:289:41
[INFO] [stdout]     |
[INFO] [stdout] 289 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 289 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 289 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 289 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 289 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/router_socket.rs:221:41
[INFO] [stdout]     |
[INFO] [stdout] 221 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 221 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 221 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 221 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 221 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/router_socket.rs:413:41
[INFO] [stdout]     |
[INFO] [stdout] 413 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 413 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 413 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 413 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 413 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/router_socket.rs:445:41
[INFO] [stdout]     |
[INFO] [stdout] 445 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 445 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 445 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 445 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 445 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/router_socket.rs:570:41
[INFO] [stdout]     |
[INFO] [stdout] 570 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 570 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 570 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 570 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 570 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/sub_socket.rs:159:41
[INFO] [stdout]     |
[INFO] [stdout] 159 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 159 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 159 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 159 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 159 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> src/socket/sub_socket.rs:171:41
[INFO] [stdout]     |
[INFO] [stdout] 171 |       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 171 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 171 +       return Err(ZmqError::InvalidState("Socket is closing"));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 171 -       return Err(ZmqError::InvalidState("Socket is closing".into()));
[INFO] [stdout] 171 +       return Err(ZmqError::InvalidState(<&str as Into<_>>::into("Socket is closing")));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/socket/core/inproc_reader.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 |       rx.try_recv_batch_mut(&mut drain_buf, rcvbatch_count - 1);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |       let _ = rx.try_recv_batch_mut(&mut drain_buf, rcvbatch_count - 1);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/socket/patterns/ready_pipe_queue.rs:771:5
[INFO] [stdout]     |
[INFO] [stdout] 771 |     self.ready_tx.close();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 771 |     let _ = self.ready_tx.close();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/transport/inproc/connection.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     self.peer_queue_sender.close();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let _ = self.peer_queue_sender.close();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rzmq` (lib test) due to 42 previous errors; 58 warnings emitted
[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] running `Command { std: "docker" "inspect" "dfb32d352d370d6b1f985798c0731460418febd686b084bed2eeec9841019f75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dfb32d352d370d6b1f985798c0731460418febd686b084bed2eeec9841019f75", kill_on_drop: false }`
[INFO] [stdout] dfb32d352d370d6b1f985798c0731460418febd686b084bed2eeec9841019f75
