[INFO] cloning repository https://github.com/shawn0762/nsq-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shawn0762/nsq-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshawn0762%2Fnsq-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshawn0762%2Fnsq-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bf5faba1834e6e84f1142725018036602f5f08d1
[INFO] checking shawn0762/nsq-rs against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshawn0762%2Fnsq-rs" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shawn0762/nsq-rs
[INFO] finished tweaking git repo https://github.com/shawn0762/nsq-rs
[INFO] tweaked toml for git repo https://github.com/shawn0762/nsq-rs written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shawn0762/nsq-rs on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/shawn0762/nsq-rs 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded futures-sink v0.3.31
[INFO] [stderr]   Downloaded hermit-abi v0.3.9
[INFO] [stderr]   Downloaded slab v0.4.9
[INFO] [stderr]   Downloaded futures-macro v0.3.31
[INFO] [stderr]   Downloaded which v4.4.2
[INFO] [stderr]   Downloaded glob v0.3.1
[INFO] [stderr]   Downloaded axum-core v0.4.5
[INFO] [stderr]   Downloaded paste v1.0.15
[INFO] [stderr]   Downloaded cexpr v0.6.0
[INFO] [stderr]   Downloaded zeroize v1.8.1
[INFO] [stderr]   Downloaded lazycell v1.3.0
[INFO] [stderr]   Downloaded either v1.13.0
[INFO] [stderr]   Downloaded async-trait v0.1.83
[INFO] [stderr]   Downloaded rustc-hash v1.1.0
[INFO] [stderr]   Downloaded mio v1.0.2
[INFO] [stderr]   Downloaded matchit v0.7.3
[INFO] [stderr]   Downloaded serde_derive v1.0.216
[INFO] [stderr]   Downloaded minimal-lexical v0.2.1
[INFO] [stderr]   Downloaded nom v7.1.3
[INFO] [stderr]   Downloaded itertools v0.12.1
[INFO] [stderr]   Downloaded hyper v1.5.2
[INFO] [stderr]   Downloaded axum v0.7.9
[INFO] [stderr]   Downloaded serde_json v1.0.134
[INFO] [stderr]   Downloaded cc v1.2.5
[INFO] [stderr]   Downloaded bindgen v0.69.5
[INFO] [stderr]   Downloaded aws-lc-rs v1.12.0
[INFO] [stderr]   Downloaded rustls-webpki v0.102.8
[INFO] [stderr]   Downloaded rustls-pki-types v1.10.1
[INFO] [stderr]   Downloaded prettyplease v0.2.25
[INFO] [stderr]   Downloaded jobserver v0.1.32
[INFO] [stderr]   Downloaded serde v1.0.216
[INFO] [stderr]   Downloaded rustix v0.38.42
[INFO] [stderr]   Downloaded rustls v0.23.20
[INFO] [stderr]   Downloaded tokio-util v0.7.13
[INFO] [stderr]   Downloaded spin v0.9.8
[INFO] [stderr]   Downloaded miniz_oxide v0.8.2
[INFO] [stderr]   Downloaded libloading v0.8.6
[INFO] [stderr]   Downloaded clang-sys v1.8.1
[INFO] [stderr]   Downloaded fs_extra v1.3.0
[INFO] [stderr]   Downloaded untrusted v0.9.0
[INFO] [stderr]   Downloaded thiserror-impl v2.0.8
[INFO] [stderr]   Downloaded errno v0.3.10
[INFO] [stderr]   Downloaded cmake v0.1.52
[INFO] [stderr]   Downloaded dunce v1.0.5
[INFO] [stderr]   Downloaded shlex v1.3.0
[INFO] [stderr]   Downloaded subtle v2.6.1
[INFO] [stderr]   Downloaded socket2 v0.5.7
[INFO] [stderr]   Downloaded home v0.5.11
[INFO] [stderr]   Downloaded thiserror v2.0.8
[INFO] [stderr]   Downloaded libc v0.2.169
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.14
[INFO] [stderr]   Downloaded windows-sys v0.59.0
[INFO] [stderr]   Downloaded ring v0.17.8
[INFO] [stderr]   Downloaded aws-lc-sys v0.24.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 47572d73b5ba75c686a79e59d71f07c9490406ea602930c9ba1a26c165228d26
[INFO] running `Command { std: "docker" "start" "-a" "47572d73b5ba75c686a79e59d71f07c9490406ea602930c9ba1a26c165228d26", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "47572d73b5ba75c686a79e59d71f07c9490406ea602930c9ba1a26c165228d26", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "47572d73b5ba75c686a79e59d71f07c9490406ea602930c9ba1a26c165228d26", kill_on_drop: false }`
[INFO] [stdout] 47572d73b5ba75c686a79e59d71f07c9490406ea602930c9ba1a26c165228d26
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c3f19c4cb5c24fde9161c84ee294ad763067aee7bcf14e03a3b9a57a5273e1f9
[INFO] running `Command { std: "docker" "start" "-a" "c3f19c4cb5c24fde9161c84ee294ad763067aee7bcf14e03a3b9a57a5273e1f9", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]     Checking bytes v1.9.0
[INFO] [stderr]     Checking pin-project-lite v0.2.15
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking itoa v1.0.14
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]    Compiling serde v1.0.216
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling aws-lc-rs v1.12.0
[INFO] [stderr]    Compiling rustversion v1.0.18
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]    Compiling serde_json v1.0.134
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]    Compiling thiserror v2.0.8
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking rustls-pki-types v1.10.1
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking http v1.2.0
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]    Compiling rustls v0.23.20
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling cc v1.2.5
[INFO] [stderr]    Compiling cmake v0.1.52
[INFO] [stderr]    Compiling aws-lc-sys v0.24.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.16
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]    Compiling thiserror-impl v2.0.8
[INFO] [stderr]     Checking tokio v1.42.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking hyper v1.5.2
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-util v0.7.13
[INFO] [stderr]     Checking hyper-util v0.1.10
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]     Checking nsq-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `ReadHalf`, and `WriteHalf`
[INFO] [stdout]   --> src/nsqd/client_v2.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 |     io::{BufReader, BufWriter},
[INFO] [stdout]    |          ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 13 |     net::{
[INFO] [stdout] 14 |         tcp::{ReadHalf, WriteHalf},
[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: `shutdown::Shutdown`
[INFO] [stdout]   --> src/nsqd/client_v2.rs:20:43
[INFO] [stdout]    |
[INFO] [stdout] 20 | use super::{channel::Channel, nsqd::NSQD, shutdown::Shutdown};
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncWrite`
[INFO] [stdout]  --> src/nsqd/message.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::io::AsyncWrite;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpStream` and `io::BufReader`
[INFO] [stdout]  --> src/nsqd/nsqd.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     io::BufReader,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 9 |     net::{TcpListener, TcpStream},
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Path` and `os`
[INFO] [stdout]  --> src/nsqd/options.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     os,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 4 |     path::{Path, PathBuf},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Client`
[INFO] [stdout]  --> src/nsqd/protocol_v2.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     client_v2::{Client, ClientV2},
[INFO] [stdout]   |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/nsqd/nsqd.rs:66:25
[INFO] [stdout]    |
[INFO] [stdout] 65 |             client_id_seq: todo!(),
[INFO] [stdout]    |                            ------- any code following this expression is unreachable
[INFO] [stdout] 66 |             is_loading: false.into(),
[INFO] [stdout]    |                         ^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `ReadHalf`, and `WriteHalf`
[INFO] [stdout]   --> src/nsqd/client_v2.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 |     io::{BufReader, BufWriter},
[INFO] [stdout]    |          ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 13 |     net::{
[INFO] [stdout] 14 |         tcp::{ReadHalf, WriteHalf},
[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: `shutdown::Shutdown`
[INFO] [stdout]   --> src/nsqd/client_v2.rs:20:43
[INFO] [stdout]    |
[INFO] [stdout] 20 | use super::{channel::Channel, nsqd::NSQD, shutdown::Shutdown};
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncWrite`
[INFO] [stdout]  --> src/nsqd/message.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::io::AsyncWrite;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpStream` and `io::BufReader`
[INFO] [stdout]  --> src/nsqd/nsqd.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     io::BufReader,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 9 |     net::{TcpListener, TcpStream},
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Path` and `os`
[INFO] [stdout]  --> src/nsqd/options.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     os,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 4 |     path::{Path, PathBuf},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Client`
[INFO] [stdout]  --> src/nsqd/protocol_v2.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     client_v2::{Client, ClientV2},
[INFO] [stdout]   |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/nsqd/nsqd.rs:98:30
[INFO] [stdout]    |
[INFO] [stdout] 98 |                         let (mut reader, mut writer) = conn.split();
[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/nsqd/nsqd.rs:98:42
[INFO] [stdout]    |
[INFO] [stdout] 98 |                         let (mut reader, mut writer) = conn.split();
[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/nsqd/nsqd.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut shutdown2: Shutdown = (&tx).into();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/nsqd/options.rs:116:28
[INFO] [stdout]     |
[INFO] [stdout] 115 |             max_heartbeat_interval: todo!(),
[INFO] [stdout]     |                                     ------- any code following this expression is unreachable
[INFO] [stdout] 116 |             max_rdy_count: todo!(),
[INFO] [stdout]     |                            ^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let token = CancellationToken::new();
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `notify_tx`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:57:14
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let (notify_tx, notify_rx) = mpsc::channel(1);
[INFO] [stdout]    |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_notify_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `notify_rx`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let (notify_tx, notify_rx) = mpsc::channel(1);
[INFO] [stdout]    |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_notify_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tcp_listener`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let tcp_listener = TcpListener::bind(opts.tcp_addr.clone()).await.unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tcp_listener`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `http_listener`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let http_listener = TcpListener::bind(opts.http_addr).await.unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_http_listener`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `https_listener`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let https_listener = TcpListener::bind(opts.https_addr).await.unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_https_listener`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nsqd`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let nsqd = NSQD {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_nsqd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reader`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:98:30
[INFO] [stdout]    |
[INFO] [stdout] 98 |                         let (mut reader, mut writer) = conn.split();
[INFO] [stdout]    |                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `writer`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:98:42
[INFO] [stdout]    |
[INFO] [stdout] 98 |                         let (mut reader, mut writer) = conn.split();
[INFO] [stdout]    |                                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let (tx, rx) = broadcast::channel(1);
[INFO] [stdout]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shutdown2`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut shutdown2: Shutdown = (&tx).into();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shutdown2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn io_loop(&mut self, c: ClientV2) -> Result<()> {
[INFO] [stdout]    |                               ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:38:28
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn message_pump(&self, c: ClientV2, started_chan: oneshot::Sender<()>) {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `started_chan`
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:38:41
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn message_pump(&self, c: ClientV2, started_chan: oneshot::Sender<()>) {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_started_chan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:60:20
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn send(&self, c: &ClientV2, ft: FrameType, data: &[u8]) {}
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ft`
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:60:34
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn send(&self, c: &ClientV2, ft: FrameType, data: &[u8]) {}
[INFO] [stdout]    |                                  ^^ help: if this is intentional, prefix it with an underscore: `_ft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:60:49
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn send(&self, c: &ClientV2, ft: FrameType, data: &[u8]) {}
[INFO] [stdout]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]  --> src/common.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Result<T> = std::result::Result<T, errors::NsqError>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NsqError` is never used
[INFO] [stdout]  --> src/errors.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum NsqError {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BackEndQueue` is never used
[INFO] [stdout]  --> src/nsqd/backend_queue.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(super) trait BackEndQueue {
[INFO] [stdout]   |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Channel` is never constructed
[INFO] [stdout]  --> src/nsqd/channel.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Channel {}
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_BUF_SIZE` is never used
[INFO] [stdout]   --> src/nsqd/client_v2.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const DEFAULT_BUF_SIZE: i32 = 16 * 1024;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Client` is never used
[INFO] [stdout]   --> src/nsqd/client_v2.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(super) trait Client {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `State` is never used
[INFO] [stdout]   --> src/nsqd/client_v2.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(super) enum State {
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClientV2` is never constructed
[INFO] [stdout]   --> src/nsqd/client_v2.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(super) struct ClientV2 {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `addr` are never used
[INFO] [stdout]    --> src/nsqd/client_v2.rs:96:12
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl ClientV2 {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  96 |     pub fn new(id: i64, stream: TcpStream, addr: SocketAddr, nsqd: Arc<NSQD>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn addr(&self) -> String {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `finished_msg`, `published_msg`, `requeue_msg`, `sending_msg`, and `timed_out_msg` are never used
[INFO] [stdout]    --> src/nsqd/client_v2.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl ClientV2 {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 146 |     pub fn finished_msg(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn published_msg(&mut self, topic: &str, count: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn requeue_msg(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn sending_msg(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn timed_out_msg(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IdentifyEvent` is never constructed
[INFO] [stdout]    --> src/nsqd/client_v2.rs:182:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | struct IdentifyEvent {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_ID_LENGTH` is never used
[INFO] [stdout]   --> src/nsqd/message.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const MSG_ID_LENGTH: usize = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_VALID_MSG_LEN` is never used
[INFO] [stdout]   --> src/nsqd/message.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const MIN_VALID_MSG_LEN: usize = MSG_ID_LENGTH + 8 + 2; // Timestamp + Attempts
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MessageID` is never used
[INFO] [stdout]   --> src/nsqd/message.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(super) type MessageID = [u8; MSG_ID_LENGTH];
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Message` is never constructed
[INFO] [stdout]   --> src/nsqd/message.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(super) struct Message {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `write_to`, `decode`, and `write_to_backend` are never used
[INFO] [stdout]    --> src/nsqd/message.rs:37:12
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl Message {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  37 |     pub fn new(id: MessageID, body: Vec<u8>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub async fn write_to<W>(&self, w: &mut W) -> Result<i64>
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn decode(b: &[u8]) -> Result<Message> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub async fn write_to_backend<Q>(&mut self, bq: &mut Q) -> Result<()>
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NSQD` is never constructed
[INFO] [stdout]   --> src/nsqd/nsqd.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct NSQD {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start`, `stop`, and `get_opts` are never used
[INFO] [stdout]    --> src/nsqd/nsqd.rs:55:18
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl NSQD {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  55 |     pub async fn new(opts: Options) -> (Self, CancellationToken) {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub async fn start(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn stop(&mut self) {}
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 152 |
[INFO] [stdout] 153 |     pub fn get_opts(&self) -> &Options {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NotifyType` is never used
[INFO] [stdout]    --> src/nsqd/nsqd.rs:158:10
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub enum NotifyType {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Options` is never constructed
[INFO] [stdout]   --> src/nsqd/options.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Options {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/nsqd/options.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl Options {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 70 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `separator_bytes` is never used
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const separator_bytes: &str = " ";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `heartbeat_bytes` is never used
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const heartbeat_bytes: &str = "_heartbeat_";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ok_bytes` is never used
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const ok_bytes: &str = "OK";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FrameType` is never used
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(super) enum FrameType {
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProtocolV2` is never constructed
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(super) struct ProtocolV2 {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `io_loop`, `message_pump`, `send_msg`, and `send` are never used
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl ProtocolV2 {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 28 |     pub fn new(nsqd: Arc<NSQD>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn io_loop(&mut self, c: ClientV2) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn message_pump(&self, c: ClientV2, started_chan: oneshot::Sender<()>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub async fn send_msg(&self, c: &ClientV2, msg: Message) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     fn send(&self, c: &ClientV2, ft: FrameType, data: &[u8]) {}
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shutdown` is never constructed
[INFO] [stdout]  --> src/nsqd/shutdown.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub(super) struct Shutdown {
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_shutdown`, and `recv` are never used
[INFO] [stdout]   --> src/nsqd/shutdown.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Shutdown {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(notify: broadcast::Receiver<()>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn is_shutdown(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub async fn recv(&mut self) {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Topic` is never constructed
[INFO] [stdout]  --> src/nsqd/topic.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Topic {}
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `separator_bytes` should have an upper case name
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const separator_bytes: &str = " ";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `SEPARATOR_BYTES`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `heartbeat_bytes` should have an upper case name
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const heartbeat_bytes: &str = "_heartbeat_";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `HEARTBEAT_BYTES`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ok_bytes` should have an upper case name
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const ok_bytes: &str = "OK";
[INFO] [stdout]    |       ^^^^^^^^ help: convert the identifier to upper case: `OK_BYTES`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]  --> src/bin/nsqd.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]  --> src/bin/nsqd.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/nsqd/nsqd.rs:66:25
[INFO] [stdout]    |
[INFO] [stdout] 65 |             client_id_seq: todo!(),
[INFO] [stdout]    |                            ------- any code following this expression is unreachable
[INFO] [stdout] 66 |             is_loading: false.into(),
[INFO] [stdout]    |                         ^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/nsqd/nsqd.rs:98:30
[INFO] [stdout]    |
[INFO] [stdout] 98 |                         let (mut reader, mut writer) = conn.split();
[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/nsqd/nsqd.rs:98:42
[INFO] [stdout]    |
[INFO] [stdout] 98 |                         let (mut reader, mut writer) = conn.split();
[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/nsqd/nsqd.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut shutdown2: Shutdown = (&tx).into();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/nsqd/options.rs:116:28
[INFO] [stdout]     |
[INFO] [stdout] 115 |             max_heartbeat_interval: todo!(),
[INFO] [stdout]     |                                     ------- any code following this expression is unreachable
[INFO] [stdout] 116 |             max_rdy_count: todo!(),
[INFO] [stdout]     |                            ^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let token = CancellationToken::new();
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `notify_tx`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:57:14
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let (notify_tx, notify_rx) = mpsc::channel(1);
[INFO] [stdout]    |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_notify_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `notify_rx`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let (notify_tx, notify_rx) = mpsc::channel(1);
[INFO] [stdout]    |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_notify_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tcp_listener`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let tcp_listener = TcpListener::bind(opts.tcp_addr.clone()).await.unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tcp_listener`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `http_listener`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let http_listener = TcpListener::bind(opts.http_addr).await.unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_http_listener`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `https_listener`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let https_listener = TcpListener::bind(opts.https_addr).await.unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_https_listener`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nsqd`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let nsqd = NSQD {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_nsqd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reader`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:98:30
[INFO] [stdout]    |
[INFO] [stdout] 98 |                         let (mut reader, mut writer) = conn.split();
[INFO] [stdout]    |                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `writer`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:98:42
[INFO] [stdout]    |
[INFO] [stdout] 98 |                         let (mut reader, mut writer) = conn.split();
[INFO] [stdout]    |                                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let (tx, rx) = broadcast::channel(1);
[INFO] [stdout]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shutdown2`
[INFO] [stdout]   --> src/nsqd/nsqd.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut shutdown2: Shutdown = (&tx).into();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shutdown2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn io_loop(&mut self, c: ClientV2) -> Result<()> {
[INFO] [stdout]    |                               ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:38:28
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn message_pump(&self, c: ClientV2, started_chan: oneshot::Sender<()>) {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `started_chan`
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:38:41
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn message_pump(&self, c: ClientV2, started_chan: oneshot::Sender<()>) {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_started_chan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:60:20
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn send(&self, c: &ClientV2, ft: FrameType, data: &[u8]) {}
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ft`
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:60:34
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn send(&self, c: &ClientV2, ft: FrameType, data: &[u8]) {}
[INFO] [stdout]    |                                  ^^ help: if this is intentional, prefix it with an underscore: `_ft`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:60:49
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn send(&self, c: &ClientV2, ft: FrameType, data: &[u8]) {}
[INFO] [stdout]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]  --> src/common.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Result<T> = std::result::Result<T, errors::NsqError>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NsqError` is never used
[INFO] [stdout]  --> src/errors.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum NsqError {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BackEndQueue` is never used
[INFO] [stdout]  --> src/nsqd/backend_queue.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(super) trait BackEndQueue {
[INFO] [stdout]   |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Channel` is never constructed
[INFO] [stdout]  --> src/nsqd/channel.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Channel {}
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_BUF_SIZE` is never used
[INFO] [stdout]   --> src/nsqd/client_v2.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const DEFAULT_BUF_SIZE: i32 = 16 * 1024;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Client` is never used
[INFO] [stdout]   --> src/nsqd/client_v2.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(super) trait Client {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `State` is never used
[INFO] [stdout]   --> src/nsqd/client_v2.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(super) enum State {
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClientV2` is never constructed
[INFO] [stdout]   --> src/nsqd/client_v2.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(super) struct ClientV2 {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `addr` are never used
[INFO] [stdout]    --> src/nsqd/client_v2.rs:96:12
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl ClientV2 {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  96 |     pub fn new(id: i64, stream: TcpStream, addr: SocketAddr, nsqd: Arc<NSQD>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn addr(&self) -> String {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `finished_msg`, `published_msg`, `requeue_msg`, `sending_msg`, and `timed_out_msg` are never used
[INFO] [stdout]    --> src/nsqd/client_v2.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl ClientV2 {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 146 |     pub fn finished_msg(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn published_msg(&mut self, topic: &str, count: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn requeue_msg(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn sending_msg(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn timed_out_msg(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IdentifyEvent` is never constructed
[INFO] [stdout]    --> src/nsqd/client_v2.rs:182:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | struct IdentifyEvent {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_ID_LENGTH` is never used
[INFO] [stdout]   --> src/nsqd/message.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const MSG_ID_LENGTH: usize = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_VALID_MSG_LEN` is never used
[INFO] [stdout]   --> src/nsqd/message.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const MIN_VALID_MSG_LEN: usize = MSG_ID_LENGTH + 8 + 2; // Timestamp + Attempts
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MessageID` is never used
[INFO] [stdout]   --> src/nsqd/message.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(super) type MessageID = [u8; MSG_ID_LENGTH];
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Message` is never constructed
[INFO] [stdout]   --> src/nsqd/message.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(super) struct Message {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `write_to`, `decode`, and `write_to_backend` are never used
[INFO] [stdout]    --> src/nsqd/message.rs:37:12
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl Message {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  37 |     pub fn new(id: MessageID, body: Vec<u8>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub async fn write_to<W>(&self, w: &mut W) -> Result<i64>
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn decode(b: &[u8]) -> Result<Message> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub async fn write_to_backend<Q>(&mut self, bq: &mut Q) -> Result<()>
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NSQD` is never constructed
[INFO] [stdout]   --> src/nsqd/nsqd.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct NSQD {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start`, `stop`, and `get_opts` are never used
[INFO] [stdout]    --> src/nsqd/nsqd.rs:55:18
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl NSQD {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  55 |     pub async fn new(opts: Options) -> (Self, CancellationToken) {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub async fn start(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn stop(&mut self) {}
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 152 |
[INFO] [stdout] 153 |     pub fn get_opts(&self) -> &Options {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NotifyType` is never used
[INFO] [stdout]    --> src/nsqd/nsqd.rs:158:10
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub enum NotifyType {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Options` is never constructed
[INFO] [stdout]   --> src/nsqd/options.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Options {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/nsqd/options.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl Options {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 70 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `separator_bytes` is never used
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const separator_bytes: &str = " ";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `heartbeat_bytes` is never used
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const heartbeat_bytes: &str = "_heartbeat_";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ok_bytes` is never used
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const ok_bytes: &str = "OK";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FrameType` is never used
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(super) enum FrameType {
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProtocolV2` is never constructed
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(super) struct ProtocolV2 {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `io_loop`, `message_pump`, `send_msg`, and `send` are never used
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl ProtocolV2 {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 28 |     pub fn new(nsqd: Arc<NSQD>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn io_loop(&mut self, c: ClientV2) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn message_pump(&self, c: ClientV2, started_chan: oneshot::Sender<()>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub async fn send_msg(&self, c: &ClientV2, msg: Message) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     fn send(&self, c: &ClientV2, ft: FrameType, data: &[u8]) {}
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shutdown` is never constructed
[INFO] [stdout]  --> src/nsqd/shutdown.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub(super) struct Shutdown {
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_shutdown`, and `recv` are never used
[INFO] [stdout]   --> src/nsqd/shutdown.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Shutdown {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(notify: broadcast::Receiver<()>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn is_shutdown(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub async fn recv(&mut self) {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Topic` is never constructed
[INFO] [stdout]  --> src/nsqd/topic.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Topic {}
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `separator_bytes` should have an upper case name
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const separator_bytes: &str = " ";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `SEPARATOR_BYTES`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `heartbeat_bytes` should have an upper case name
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const heartbeat_bytes: &str = "_heartbeat_";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `HEARTBEAT_BYTES`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ok_bytes` should have an upper case name
[INFO] [stdout]   --> src/nsqd/protocol_v2.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const ok_bytes: &str = "OK";
[INFO] [stdout]    |       ^^^^^^^^ help: convert the identifier to upper case: `OK_BYTES`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.12s
[INFO] running `Command { std: "docker" "inspect" "c3f19c4cb5c24fde9161c84ee294ad763067aee7bcf14e03a3b9a57a5273e1f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c3f19c4cb5c24fde9161c84ee294ad763067aee7bcf14e03a3b9a57a5273e1f9", kill_on_drop: false }`
[INFO] [stdout] c3f19c4cb5c24fde9161c84ee294ad763067aee7bcf14e03a3b9a57a5273e1f9
