[INFO] cloning repository https://github.com/ksuaning-au/crabmqtt
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ksuaning-au/crabmqtt" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fksuaning-au%2Fcrabmqtt", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fksuaning-au%2Fcrabmqtt'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d6b657b7fa73ad1f765ac32ba13046f064e9525f
[INFO] testing ksuaning-au/crabmqtt against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fksuaning-au%2Fcrabmqtt" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/ksuaning-au/crabmqtt
[INFO] finished tweaking git repo https://github.com/ksuaning-au/crabmqtt
[INFO] tweaked toml for git repo https://github.com/ksuaning-au/crabmqtt written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ksuaning-au/crabmqtt on toolchain 1.99.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ksuaning-au/crabmqtt 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" "+1.99.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 55 packages to highest Rust 1.99.0-beta.1 compatible versions
[INFO] [stderr]       Adding aws-lc-rs v1.18.1
[INFO] [stderr]       Adding aws-lc-sys v0.45.0
[INFO] [stderr]       Adding cc v1.4.4
[INFO] [stderr]       Adding cmake v0.1.58
[INFO] [stderr]       Adding core-foundation v0.10.1
[INFO] [stderr]       Adding core-foundation-sys v0.8.7
[INFO] [stderr]       Adding dunce v1.0.5
[INFO] [stderr]       Adding find-msvc-tools v0.1.11
[INFO] [stderr]       Adding fixedbitset v0.5.7
[INFO] [stderr]       Adding flume v0.11.1
[INFO] [stderr]       Adding fs_extra v1.3.0
[INFO] [stderr]       Adding futures-core v0.3.34
[INFO] [stderr]       Adding futures-sink v0.3.34
[INFO] [stderr]       Adding futures-task v0.3.34
[INFO] [stderr]       Adding futures-util v0.3.34
[INFO] [stderr]       Adding getrandom v0.2.17
[INFO] [stderr]       Adding getrandom v0.4.3
[INFO] [stderr]       Adding jobserver v0.1.35
[INFO] [stderr]       Adding log v0.4.34
[INFO] [stderr]       Adding openssl-probe v0.2.1
[INFO] [stderr]       Adding pkg-config v0.3.34
[INFO] [stderr]       Adding r-efi v6.0.0
[INFO] [stderr]       Adding ring v0.17.14
[INFO] [stderr]       Adding rumqttc v0.25.1
[INFO] [stderr]       Adding rustls v0.23.43
[INFO] [stderr]       Adding rustls-native-certs v0.8.4
[INFO] [stderr]       Adding rustls-pemfile v2.2.0
[INFO] [stderr]       Adding rustls-pki-types v1.15.1
[INFO] [stderr]       Adding rustls-webpki v0.102.8
[INFO] [stderr]       Adding rustls-webpki v0.103.15
[INFO] [stderr]       Adding schannel v0.1.29
[INFO] [stderr]       Adding security-framework v3.7.0
[INFO] [stderr]       Adding security-framework-sys v2.17.0
[INFO] [stderr]       Adding shlex v2.0.1
[INFO] [stderr]       Adding slab v0.4.12
[INFO] [stderr]       Adding spin v0.9.9
[INFO] [stderr]       Adding subtle v2.6.1
[INFO] [stderr]       Adding syn v3.0.4
[INFO] [stderr]       Adding thiserror v2.0.20
[INFO] [stderr]       Adding thiserror-impl v2.0.20
[INFO] [stderr]       Adding tokio-rustls v0.26.4
[INFO] [stderr]       Adding tokio-stream v0.1.19
[INFO] [stderr]       Adding tokio-util v0.7.19
[INFO] [stderr]       Adding untrusted v0.9.0
[INFO] [stderr]       Adding windows-sys v0.52.0
[INFO] [stderr]       Adding windows-targets v0.52.6
[INFO] [stderr]       Adding windows_aarch64_gnullvm v0.52.6
[INFO] [stderr]       Adding windows_aarch64_msvc v0.52.6
[INFO] [stderr]       Adding windows_i686_gnu v0.52.6
[INFO] [stderr]       Adding windows_i686_gnullvm v0.52.6
[INFO] [stderr]       Adding windows_i686_msvc v0.52.6
[INFO] [stderr]       Adding windows_x86_64_gnu v0.52.6
[INFO] [stderr]       Adding windows_x86_64_gnullvm v0.52.6
[INFO] [stderr]       Adding windows_x86_64_msvc v0.52.6
[INFO] [stderr]       Adding zeroize v1.9.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c17edbe2c6b13aeb79845176b653ba2589835a7389e4188a53ea9f34cb4f07d1
[INFO] running `Command { std: "docker" "start" "c17edbe2c6b13aeb79845176b653ba2589835a7389e4188a53ea9f34cb4f07d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c17edbe2c6b13aeb79845176b653ba2589835a7389e4188a53ea9f34cb4f07d1", 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" "c17edbe2c6b13aeb79845176b653ba2589835a7389e4188a53ea9f34cb4f07d1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c17edbe2c6b13aeb79845176b653ba2589835a7389e4188a53ea9f34cb4f07d1", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c17edbe2c6b13aeb79845176b653ba2589835a7389e4188a53ea9f34cb4f07d1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling find-msvc-tools v0.1.11
[INFO] [stderr]    Compiling pkg-config v0.3.34
[INFO] [stderr]    Compiling aws-lc-rs v1.18.1
[INFO] [stderr]    Compiling rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling futures-core v0.3.34
[INFO] [stderr]    Compiling futures-sink v0.3.34
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling spin v0.9.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling futures-task v0.3.34
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling cc v1.4.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling aws-lc-sys v0.45.0
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling tokio-stream v0.1.19
[INFO] [stderr]    Compiling rustls-webpki v0.102.8
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rumqttc v0.25.1
[INFO] [stderr]    Compiling crabmqtt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/packet.rs:42:36
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let data_start_index = ((1 + bytes_read) as usize);
[INFO] [stdout]    |                                    ^                         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 42 -             let data_start_index = ((1 + bytes_read) as usize);
[INFO] [stdout] 42 +             let data_start_index = (1 + bytes_read) as usize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncReadExt` and `AsyncWriteExt`
[INFO] [stdout]   --> src/main.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/bin/benchmark.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     for j in 0..MSGS_PER_PUBLISHER {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `payload` is never used
[INFO] [stdout]   --> src/bin/benchmark.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn payload(client_id: u64, msg_num: u64, length: usize) -> String {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet_end`
[INFO] [stdout]   --> src/publish.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let packet_end = start_index + payload_size as usize;
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet_end`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_pos` is never read
[INFO] [stdout]   --> src/publish.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     current_pos += topic_len;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 32 |         current_pos += 2; // Skip the 2-byte Packet ID
[INFO] [stdout]    |         ---------------- `current_pos` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_pos` is never read
[INFO] [stdout]   --> src/publish.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |         current_pos += 2; // Skip the 2-byte Packet ID
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet_id`
[INFO] [stdout]   --> src/subscribe.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let (packet_id, topics_vec) = match parse_subscribe_topics(buffer) {
[INFO] [stdout]    |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qos`
[INFO] [stdout]   --> src/subscribe.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |     for (topic, qos) in &topics_vec {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_qos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let (mut stream, addr) = listener.accept().await?;
[INFO] [stdout]    |              ----^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/packet.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Debug, FromPrimitive, PartialEq)]
[INFO] [stdout]   |                 ^------------
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `FromPrimitive` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PacketType`
[INFO] [stdout] 5 | #[repr(u8)]
[INFO] [stdout] 6 | pub enum PacketType {
[INFO] [stdout]   |          ---------- `PacketType` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 54s
[INFO] running `Command { std: "docker" "inspect" "c17edbe2c6b13aeb79845176b653ba2589835a7389e4188a53ea9f34cb4f07d1", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c17edbe2c6b13aeb79845176b653ba2589835a7389e4188a53ea9f34cb4f07d1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling crabmqtt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/packet.rs:42:36
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let data_start_index = ((1 + bytes_read) as usize);
[INFO] [stdout]    |                                    ^                         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 42 -             let data_start_index = ((1 + bytes_read) as usize);
[INFO] [stdout] 42 +             let data_start_index = (1 + bytes_read) as usize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncReadExt` and `AsyncWriteExt`
[INFO] [stdout]   --> src/main.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet_end`
[INFO] [stdout]   --> src/publish.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let packet_end = start_index + payload_size as usize;
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet_end`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_pos` is never read
[INFO] [stdout]   --> src/publish.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     current_pos += topic_len;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 32 |         current_pos += 2; // Skip the 2-byte Packet ID
[INFO] [stdout]    |         ---------------- `current_pos` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_pos` is never read
[INFO] [stdout]   --> src/publish.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |         current_pos += 2; // Skip the 2-byte Packet ID
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet_id`
[INFO] [stdout]   --> src/subscribe.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let (packet_id, topics_vec) = match parse_subscribe_topics(buffer) {
[INFO] [stdout]    |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qos`
[INFO] [stdout]   --> src/subscribe.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |     for (topic, qos) in &topics_vec {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_qos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let (mut stream, addr) = listener.accept().await?;
[INFO] [stdout]    |              ----^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/packet.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Debug, FromPrimitive, PartialEq)]
[INFO] [stdout]   |                 ^------------
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `FromPrimitive` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PacketType`
[INFO] [stdout] 5 | #[repr(u8)]
[INFO] [stdout] 6 | pub enum PacketType {
[INFO] [stdout]   |          ---------- `PacketType` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/bin/benchmark.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     for j in 0..MSGS_PER_PUBLISHER {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `payload` is never used
[INFO] [stdout]   --> src/bin/benchmark.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn payload(client_id: u64, msg_num: u64, length: usize) -> String {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1.40s
[INFO] running `Command { std: "docker" "inspect" "c17edbe2c6b13aeb79845176b653ba2589835a7389e4188a53ea9f34cb4f07d1", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c17edbe2c6b13aeb79845176b653ba2589835a7389e4188a53ea9f34cb4f07d1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/packet.rs:42:36
[INFO] [stderr]    |
[INFO] [stderr] 42 |             let data_start_index = ((1 + bytes_read) as usize);
[INFO] [stderr]    |                                    ^                         ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 42 -             let data_start_index = ((1 + bytes_read) as usize);
[INFO] [stderr] 42 +             let data_start_index = (1 + bytes_read) as usize;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AsyncReadExt` and `AsyncWriteExt`
[INFO] [stderr]   --> src/main.rs:15:17
[INFO] [stderr]    |
[INFO] [stderr] 15 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]    |                 ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `packet_end`
[INFO] [stderr]   --> src/publish.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |     let packet_end = start_index + payload_size as usize;
[INFO] [stderr]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet_end`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `current_pos` is never read
[INFO] [stderr]   --> src/publish.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 |     current_pos += topic_len;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 32 |         current_pos += 2; // Skip the 2-byte Packet ID
[INFO] [stderr]    |         ---------------- `current_pos` is overwritten here before the previous value is read
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `current_pos` is never read
[INFO] [stderr]   --> src/publish.rs:32:9
[INFO] [stderr]    |
[INFO] [stderr] 32 |         current_pos += 2; // Skip the 2-byte Packet ID
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `packet_id`
[INFO] [stderr]   --> src/subscribe.rs:62:10
[INFO] [stderr]    |
[INFO] [stderr] 62 |     let (packet_id, topics_vec) = match parse_subscribe_topics(buffer) {
[INFO] [stderr]    |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `qos`
[INFO] [stderr]   --> src/subscribe.rs:70:17
[INFO] [stderr]    |
[INFO] [stderr] 70 |     for (topic, qos) in &topics_vec {
[INFO] [stderr]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_qos`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:24:14
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let (mut stream, addr) = listener.accept().await?;
[INFO] [stderr]    |              ----^^^^^^
[INFO] [stderr]    |              |
[INFO] [stderr]    |              help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/packet.rs:4:17
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[derive(Debug, FromPrimitive, PartialEq)]
[INFO] [stderr]   |                 ^------------
[INFO] [stderr]   |                 |
[INFO] [stderr]   |                 `FromPrimitive` is not local
[INFO] [stderr]   |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PacketType`
[INFO] [stdout] 
[INFO] [stderr] 5 | #[repr(u8)]
[INFO] [stdout] running 0 tests
[INFO] [stderr] 6 | pub enum PacketType {
[INFO] [stdout] 
[INFO] [stderr]   |          ---------- `PacketType` is not local
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]   |
[INFO] [stdout] 
[INFO] [stderr]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `j`
[INFO] [stderr]   --> src/bin/benchmark.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 55 |     for j in 0..MSGS_PER_PUBLISHER {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `payload` is never used
[INFO] [stderr]   --> src/bin/benchmark.rs:34:4
[INFO] [stderr]    |
[INFO] [stderr] 34 | fn payload(client_id: u64, msg_num: u64, length: usize) -> String {
[INFO] [stderr]    |    ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `crabmqtt` (bin "crabmqtt" test) generated 9 warnings (run `cargo fix --bin "crabmqtt" -p crabmqtt --tests` to apply 6 suggestions)
[INFO] [stderr] warning: `crabmqtt` (bin "benchmark" test) generated 2 warnings (run `cargo fix --bin "benchmark" -p crabmqtt --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/bin/benchmark.rs (/opt/rustwide/target/release/deps/benchmark-87cd82cdb681ec90)
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/crabmqtt-5fb6c282f0b5fa00)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c17edbe2c6b13aeb79845176b653ba2589835a7389e4188a53ea9f34cb4f07d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c17edbe2c6b13aeb79845176b653ba2589835a7389e4188a53ea9f34cb4f07d1", kill_on_drop: false }`
[INFO] [stdout] c17edbe2c6b13aeb79845176b653ba2589835a7389e4188a53ea9f34cb4f07d1
