[INFO] cloning repository https://github.com/KaiUweCodes/ublk-nbd-client [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KaiUweCodes/ublk-nbd-client" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKaiUweCodes%2Fublk-nbd-client", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKaiUweCodes%2Fublk-nbd-client'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b9ef7c0890d72fd1c931b65cf572d3da9b72b02e [INFO] checking KaiUweCodes/ublk-nbd-client against try#2c4819a380dbddb1f2a0f4405a49fb6ed90983ae for pr-152996 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKaiUweCodes%2Fublk-nbd-client" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/KaiUweCodes/ublk-nbd-client [INFO] finished tweaking git repo https://github.com/KaiUweCodes/ublk-nbd-client [INFO] tweaked toml for git repo https://github.com/KaiUweCodes/ublk-nbd-client written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/KaiUweCodes/ublk-nbd-client on toolchain 2c4819a380dbddb1f2a0f4405a49fb6ed90983ae [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2c4819a380dbddb1f2a0f4405a49fb6ed90983ae" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/KaiUweCodes/ublk-nbd-client 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" "+2c4819a380dbddb1f2a0f4405a49fb6ed90983ae" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+2c4819a380dbddb1f2a0f4405a49fb6ed90983ae" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2af8357afe6b05a32563475d9a0c18bf0fb331c9a5de248340123035a3e61bbc [INFO] running `Command { std: "docker" "start" "-a" "2af8357afe6b05a32563475d9a0c18bf0fb331c9a5de248340123035a3e61bbc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2af8357afe6b05a32563475d9a0c18bf0fb331c9a5de248340123035a3e61bbc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2af8357afe6b05a32563475d9a0c18bf0fb331c9a5de248340123035a3e61bbc", kill_on_drop: false }` [INFO] [stdout] 2af8357afe6b05a32563475d9a0c18bf0fb331c9a5de248340123035a3e61bbc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+2c4819a380dbddb1f2a0f4405a49fb6ed90983ae" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 925239ef25f137df4a8c04f7a50f809159cf02f9fa7c7ab73d8c0717595337cc [INFO] running `Command { std: "docker" "start" "-a" "925239ef25f137df4a8c04f7a50f809159cf02f9fa7c7ab73d8c0717595337cc", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking futures-core v0.3.32 [INFO] [stderr] Checking parking v2.2.1 [INFO] [stderr] Checking futures-io v0.3.32 [INFO] [stderr] Checking cfg-if v1.0.4 [INFO] [stderr] Checking fastrand v2.3.0 [INFO] [stderr] Checking memchr v2.8.0 [INFO] [stderr] Checking slab v0.4.12 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Checking bitflags v2.11.0 [INFO] [stderr] Checking linux-raw-sys v0.12.1 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Checking async-task v4.7.1 [INFO] [stderr] Checking futures-lite v2.6.1 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Checking atomic-waker v1.1.2 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Compiling libloading v0.8.9 [INFO] [stderr] Compiling async-io v2.6.0 [INFO] [stderr] Checking piper v0.2.4 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Checking futures-sink v0.3.32 [INFO] [stderr] Compiling home v0.5.12 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling bindgen v0.69.5 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Checking futures-channel v0.3.32 [INFO] [stderr] Checking event-listener v5.4.1 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Checking log v0.4.29 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking futures-task v0.3.32 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Checking async-lock v3.4.2 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Checking anstyle-parse v0.2.7 [INFO] [stderr] Checking tracing-core v0.1.36 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking anstyle v1.0.13 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Checking is_terminal_polyfill v1.70.2 [INFO] [stderr] Checking anstyle-query v1.1.5 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling io-uring v0.6.4 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking colorchoice v1.0.4 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Checking anstream v0.6.21 [INFO] [stderr] Checking lock_api v0.4.14 [INFO] [stderr] Compiling which v4.4.2 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking async-executor v1.14.0 [INFO] [stderr] Checking itoa v1.0.17 [INFO] [stderr] Checking clap_lex v1.0.0 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking async-fs v2.2.0 [INFO] [stderr] Checking humantime v2.3.0 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Checking socket2 v0.6.2 [INFO] [stderr] Checking clap_builder v4.5.60 [INFO] [stderr] Checking thread_local v1.1.9 [INFO] [stderr] Checking nu-ansi-term v0.50.3 [INFO] [stderr] Checking bytes v1.11.1 [INFO] [stderr] Checking bitmaps v3.2.1 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Checking polling v3.11.0 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Checking matchers v0.2.0 [INFO] [stderr] Checking async-signal v0.2.13 [INFO] [stderr] Checking async-net v2.0.0 [INFO] [stderr] Checking async-process v2.5.0 [INFO] [stderr] Checking env_logger v0.9.3 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking smol v2.0.2 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Checking tokio v1.49.0 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking clap v4.5.60 [INFO] [stderr] Checking tracing-subscriber v0.3.22 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Compiling derive_setters v0.1.9 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Compiling libublk v0.3.5 [INFO] [stderr] Checking ublk-nbd-client v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `data` is never read [INFO] [stdout] --> src/client.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 29 | struct NbdResponse { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 32 | data: Option>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NbdResponse` has a derived impl for the trait `Debug`, but this is 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: multiple fields are never read [INFO] [stdout] --> src/client.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct NbdClient { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 48 | /// Server configuration [INFO] [stdout] 49 | server: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 50 | port: u16, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | keepalive_interval: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | num_queues: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 59 | queue_depth: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 60 | block_size: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 61 | size_mb: u64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `handle`, `ublk_handle`, `op_type`, and `start_time` are never read [INFO] [stdout] --> src/client.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 89 | struct PendingOpInfo { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 90 | handle: u64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 91 | ublk_handle: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 92 | op_type: IoOperationType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 93 | start_time: Instant, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PendingOpInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_io_op` is never used [INFO] [stdout] --> src/client.rs:539:10 [INFO] [stdout] | [INFO] [stdout] 539 | async fn handle_io_op( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Timeout` and `InvalidResponse` are never constructed [INFO] [stdout] --> src/connection.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub enum ConnectionError { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 33 | Timeout, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 34 | #[error("Invalid response from server")] [INFO] [stdout] 35 | InvalidResponse, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConnectionError` 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 `disconnect`, `write`, and `read` are never used [INFO] [stdout] --> src/connection.rs:115:18 [INFO] [stdout] | [INFO] [stdout] 38 | impl NbdConnection { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 115 | pub async fn disconnect(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub async fn write(&mut self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub async fn read(&mut self, buf: &mut [u8]) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `queued_at` is never read [INFO] [stdout] --> src/io_queue.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct PendingIo { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 15 | pub queued_at: Instant, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PendingIo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Read`, `Write`, `Flush`, `Discard`, and `WriteZeroes` are never constructed [INFO] [stdout] --> src/io_queue.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub enum IoOperationType { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 27 | Read, [INFO] [stdout] | ^^^^ [INFO] [stdout] 28 | Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 29 | Flush, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 30 | Discard, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 31 | WriteZeroes, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IoOperationType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `notify`, `max_size`, and `max_bytes` are never read [INFO] [stdout] --> src/io_queue.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct IoQueue { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 43 | notify: Notify, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 44 | /// Maximum number of operations to queue [INFO] [stdout] 45 | max_size: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | max_bytes: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/io_queue.rs:67:18 [INFO] [stdout] | [INFO] [stdout] 52 | impl IoQueue { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub async fn enqueue(&self, io: PendingIo) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub async fn dequeue(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub async fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub async fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub async fn wait_for_operation(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub async fn clear(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub async fn stats(&self) -> QueueStats { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `QueueStats` is never constructed [INFO] [stdout] --> src/io_queue.rs:175:12 [INFO] [stdout] | [INFO] [stdout] 175 | pub struct QueueStats { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_CMD_FLAG_NONE` is never used [INFO] [stdout] --> src/nbd_protocol.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const NBD_CMD_FLAG_NONE: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_CMD_FLAG_FUA` is never used [INFO] [stdout] --> src/nbd_protocol.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const NBD_CMD_FLAG_FUA: u16 = 1 << 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_CMD_DISC` is never used [INFO] [stdout] --> src/nbd_protocol.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub const NBD_CMD_DISC: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_CMD_CACHE` is never used [INFO] [stdout] --> src/nbd_protocol.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const NBD_CMD_CACHE: u16 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_CMD_BLOCK_STATUS` is never used [INFO] [stdout] --> src/nbd_protocol.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | pub const NBD_CMD_BLOCK_STATUS: u16 = 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_REPLY_MAGIC` is never used [INFO] [stdout] --> src/nbd_protocol.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | pub const NBD_REPLY_MAGIC: u32 = 0x67446698; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_STRUCTURED_REPLY_MAGIC` is never used [INFO] [stdout] --> src/nbd_protocol.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const NBD_STRUCTURED_REPLY_MAGIC: u32 = 0x668e33ef; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_HAS_FLAGS` is never used [INFO] [stdout] --> src/nbd_protocol.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | pub const NBD_FLAG_HAS_FLAGS: u16 = 1 << 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_READ_ONLY` is never used [INFO] [stdout] --> src/nbd_protocol.rs:44:11 [INFO] [stdout] | [INFO] [stdout] 44 | pub const NBD_FLAG_READ_ONLY: u16 = 1 << 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_FLUSH` is never used [INFO] [stdout] --> src/nbd_protocol.rs:45:11 [INFO] [stdout] | [INFO] [stdout] 45 | pub const NBD_FLAG_FLUSH: u16 = 1 << 2; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_FUA` is never used [INFO] [stdout] --> src/nbd_protocol.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 46 | pub const NBD_FLAG_FUA: u16 = 1 << 3; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_ROTATIONAL` is never used [INFO] [stdout] --> src/nbd_protocol.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub const NBD_FLAG_ROTATIONAL: u16 = 1 << 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_TRIM` is never used [INFO] [stdout] --> src/nbd_protocol.rs:48:11 [INFO] [stdout] | [INFO] [stdout] 48 | pub const NBD_FLAG_TRIM: u16 = 1 << 5; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_WRITE_ZEROES` is never used [INFO] [stdout] --> src/nbd_protocol.rs:49:11 [INFO] [stdout] | [INFO] [stdout] 49 | pub const NBD_FLAG_WRITE_ZEROES: u16 = 1 << 6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_DF` is never used [INFO] [stdout] --> src/nbd_protocol.rs:50:11 [INFO] [stdout] | [INFO] [stdout] 50 | pub const NBD_FLAG_DF: u16 = 1 << 7; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_MULTI_CONN` is never used [INFO] [stdout] --> src/nbd_protocol.rs:51:11 [INFO] [stdout] | [INFO] [stdout] 51 | pub const NBD_FLAG_MULTI_CONN: u16 = 1 << 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_CAN_MULTI_CONN` is never used [INFO] [stdout] --> src/nbd_protocol.rs:52:11 [INFO] [stdout] | [INFO] [stdout] 52 | pub const NBD_FLAG_CAN_MULTI_CONN: u16 = 1 << 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_SEND_CACHE` is never used [INFO] [stdout] --> src/nbd_protocol.rs:53:11 [INFO] [stdout] | [INFO] [stdout] 53 | pub const NBD_FLAG_SEND_CACHE: u16 = 1 << 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_SEND_FAST_ZERO` is never used [INFO] [stdout] --> src/nbd_protocol.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | pub const NBD_FLAG_SEND_FAST_ZERO: u16 = 1 << 11; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_OPT_ABORT` is never used [INFO] [stdout] --> src/nbd_protocol.rs:62:11 [INFO] [stdout] | [INFO] [stdout] 62 | pub const NBD_OPT_ABORT: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_OPT_LIST` is never used [INFO] [stdout] --> src/nbd_protocol.rs:63:11 [INFO] [stdout] | [INFO] [stdout] 63 | pub const NBD_OPT_LIST: u32 = 3; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_OPT_STARTTLS` is never used [INFO] [stdout] --> src/nbd_protocol.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | pub const NBD_OPT_STARTTLS: u32 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_OPT_INFO` is never used [INFO] [stdout] --> src/nbd_protocol.rs:65:11 [INFO] [stdout] | [INFO] [stdout] 65 | pub const NBD_OPT_INFO: u32 = 6; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_OPT_STRUCTURED_REPLY` is never used [INFO] [stdout] --> src/nbd_protocol.rs:67:11 [INFO] [stdout] | [INFO] [stdout] 67 | pub const NBD_OPT_STRUCTURED_REPLY: u32 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_REP_SERVER` is never used [INFO] [stdout] --> src/nbd_protocol.rs:71:11 [INFO] [stdout] | [INFO] [stdout] 71 | pub const NBD_REP_SERVER: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_REP_ERR_UNSUP` is never used [INFO] [stdout] --> src/nbd_protocol.rs:74:11 [INFO] [stdout] | [INFO] [stdout] 74 | pub const NBD_REP_ERR_UNSUP: u32 = (1 << 31) | 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_REP_ERR_POLICY` is never used [INFO] [stdout] --> src/nbd_protocol.rs:75:11 [INFO] [stdout] | [INFO] [stdout] 75 | pub const NBD_REP_ERR_POLICY: u32 = (1 << 31) | 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_REP_ERR_INVALID` is never used [INFO] [stdout] --> src/nbd_protocol.rs:76:11 [INFO] [stdout] | [INFO] [stdout] 76 | pub const NBD_REP_ERR_INVALID: u32 = (1 << 31) | 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_REP_ERR_PLATFORM` is never used [INFO] [stdout] --> src/nbd_protocol.rs:77:11 [INFO] [stdout] | [INFO] [stdout] 77 | pub const NBD_REP_ERR_PLATFORM: u32 = (1 << 31) | 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_INFO_NAME` is never used [INFO] [stdout] --> src/nbd_protocol.rs:81:11 [INFO] [stdout] | [INFO] [stdout] 81 | pub const NBD_INFO_NAME: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_INFO_DESCRIPTION` is never used [INFO] [stdout] --> src/nbd_protocol.rs:82:11 [INFO] [stdout] | [INFO] [stdout] 82 | pub const NBD_INFO_DESCRIPTION: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `min_block_size` and `max_block_size` are never read [INFO] [stdout] --> src/nbd_protocol.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct HandshakeReply { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 93 | pub min_block_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub max_block_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HandshakeReply` 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 function `parse_simple_reply` is never used [INFO] [stdout] --> src/nbd_protocol.rs:332:12 [INFO] [stdout] | [INFO] [stdout] 103 | impl NbdProtocol { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 332 | pub fn parse_simple_reply(data: &[u8]) -> Result<(u32, u64, Vec)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `data` is never read [INFO] [stdout] --> src/client.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 29 | struct NbdResponse { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 32 | data: Option>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NbdResponse` has a derived impl for the trait `Debug`, but this is 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: multiple fields are never read [INFO] [stdout] --> src/client.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct NbdClient { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 48 | /// Server configuration [INFO] [stdout] 49 | server: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 50 | port: u16, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | keepalive_interval: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | num_queues: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 59 | queue_depth: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 60 | block_size: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 61 | size_mb: u64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `handle`, `ublk_handle`, `op_type`, and `start_time` are never read [INFO] [stdout] --> src/client.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 89 | struct PendingOpInfo { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 90 | handle: u64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 91 | ublk_handle: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 92 | op_type: IoOperationType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 93 | start_time: Instant, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PendingOpInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_io_op` is never used [INFO] [stdout] --> src/client.rs:539:10 [INFO] [stdout] | [INFO] [stdout] 539 | async fn handle_io_op( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Timeout` and `InvalidResponse` are never constructed [INFO] [stdout] --> src/connection.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub enum ConnectionError { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 33 | Timeout, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 34 | #[error("Invalid response from server")] [INFO] [stdout] 35 | InvalidResponse, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConnectionError` 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 `disconnect`, `write`, and `read` are never used [INFO] [stdout] --> src/connection.rs:115:18 [INFO] [stdout] | [INFO] [stdout] 38 | impl NbdConnection { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 115 | pub async fn disconnect(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub async fn write(&mut self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub async fn read(&mut self, buf: &mut [u8]) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `queued_at` is never read [INFO] [stdout] --> src/io_queue.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct PendingIo { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 15 | pub queued_at: Instant, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PendingIo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Write`, `Flush`, `Discard`, and `WriteZeroes` are never constructed [INFO] [stdout] --> src/io_queue.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub enum IoOperationType { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 27 | Read, [INFO] [stdout] 28 | Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 29 | Flush, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 30 | Discard, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 31 | WriteZeroes, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IoOperationType` 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 `is_empty`, `wait_for_operation`, `clear`, and `stats` are never used [INFO] [stdout] --> src/io_queue.rs:121:18 [INFO] [stdout] | [INFO] [stdout] 52 | impl IoQueue { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 121 | pub async fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub async fn wait_for_operation(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub async fn clear(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub async fn stats(&self) -> QueueStats { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `QueueStats` is never constructed [INFO] [stdout] --> src/io_queue.rs:175:12 [INFO] [stdout] | [INFO] [stdout] 175 | pub struct QueueStats { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_CMD_FLAG_NONE` is never used [INFO] [stdout] --> src/nbd_protocol.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const NBD_CMD_FLAG_NONE: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_CMD_FLAG_FUA` is never used [INFO] [stdout] --> src/nbd_protocol.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const NBD_CMD_FLAG_FUA: u16 = 1 << 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_CMD_DISC` is never used [INFO] [stdout] --> src/nbd_protocol.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub const NBD_CMD_DISC: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_CMD_CACHE` is never used [INFO] [stdout] --> src/nbd_protocol.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const NBD_CMD_CACHE: u16 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_CMD_BLOCK_STATUS` is never used [INFO] [stdout] --> src/nbd_protocol.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | pub const NBD_CMD_BLOCK_STATUS: u16 = 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_REPLY_MAGIC` is never used [INFO] [stdout] --> src/nbd_protocol.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | pub const NBD_REPLY_MAGIC: u32 = 0x67446698; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_STRUCTURED_REPLY_MAGIC` is never used [INFO] [stdout] --> src/nbd_protocol.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const NBD_STRUCTURED_REPLY_MAGIC: u32 = 0x668e33ef; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_HAS_FLAGS` is never used [INFO] [stdout] --> src/nbd_protocol.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | pub const NBD_FLAG_HAS_FLAGS: u16 = 1 << 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_READ_ONLY` is never used [INFO] [stdout] --> src/nbd_protocol.rs:44:11 [INFO] [stdout] | [INFO] [stdout] 44 | pub const NBD_FLAG_READ_ONLY: u16 = 1 << 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_FLUSH` is never used [INFO] [stdout] --> src/nbd_protocol.rs:45:11 [INFO] [stdout] | [INFO] [stdout] 45 | pub const NBD_FLAG_FLUSH: u16 = 1 << 2; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_FUA` is never used [INFO] [stdout] --> src/nbd_protocol.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 46 | pub const NBD_FLAG_FUA: u16 = 1 << 3; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_ROTATIONAL` is never used [INFO] [stdout] --> src/nbd_protocol.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub const NBD_FLAG_ROTATIONAL: u16 = 1 << 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_TRIM` is never used [INFO] [stdout] --> src/nbd_protocol.rs:48:11 [INFO] [stdout] | [INFO] [stdout] 48 | pub const NBD_FLAG_TRIM: u16 = 1 << 5; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_WRITE_ZEROES` is never used [INFO] [stdout] --> src/nbd_protocol.rs:49:11 [INFO] [stdout] | [INFO] [stdout] 49 | pub const NBD_FLAG_WRITE_ZEROES: u16 = 1 << 6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_DF` is never used [INFO] [stdout] --> src/nbd_protocol.rs:50:11 [INFO] [stdout] | [INFO] [stdout] 50 | pub const NBD_FLAG_DF: u16 = 1 << 7; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_MULTI_CONN` is never used [INFO] [stdout] --> src/nbd_protocol.rs:51:11 [INFO] [stdout] | [INFO] [stdout] 51 | pub const NBD_FLAG_MULTI_CONN: u16 = 1 << 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_CAN_MULTI_CONN` is never used [INFO] [stdout] --> src/nbd_protocol.rs:52:11 [INFO] [stdout] | [INFO] [stdout] 52 | pub const NBD_FLAG_CAN_MULTI_CONN: u16 = 1 << 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_SEND_CACHE` is never used [INFO] [stdout] --> src/nbd_protocol.rs:53:11 [INFO] [stdout] | [INFO] [stdout] 53 | pub const NBD_FLAG_SEND_CACHE: u16 = 1 << 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_FLAG_SEND_FAST_ZERO` is never used [INFO] [stdout] --> src/nbd_protocol.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | pub const NBD_FLAG_SEND_FAST_ZERO: u16 = 1 << 11; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_OPT_ABORT` is never used [INFO] [stdout] --> src/nbd_protocol.rs:62:11 [INFO] [stdout] | [INFO] [stdout] 62 | pub const NBD_OPT_ABORT: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_OPT_LIST` is never used [INFO] [stdout] --> src/nbd_protocol.rs:63:11 [INFO] [stdout] | [INFO] [stdout] 63 | pub const NBD_OPT_LIST: u32 = 3; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_OPT_STARTTLS` is never used [INFO] [stdout] --> src/nbd_protocol.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | pub const NBD_OPT_STARTTLS: u32 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_OPT_INFO` is never used [INFO] [stdout] --> src/nbd_protocol.rs:65:11 [INFO] [stdout] | [INFO] [stdout] 65 | pub const NBD_OPT_INFO: u32 = 6; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_OPT_STRUCTURED_REPLY` is never used [INFO] [stdout] --> src/nbd_protocol.rs:67:11 [INFO] [stdout] | [INFO] [stdout] 67 | pub const NBD_OPT_STRUCTURED_REPLY: u32 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_REP_SERVER` is never used [INFO] [stdout] --> src/nbd_protocol.rs:71:11 [INFO] [stdout] | [INFO] [stdout] 71 | pub const NBD_REP_SERVER: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_REP_ERR_UNSUP` is never used [INFO] [stdout] --> src/nbd_protocol.rs:74:11 [INFO] [stdout] | [INFO] [stdout] 74 | pub const NBD_REP_ERR_UNSUP: u32 = (1 << 31) | 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_REP_ERR_POLICY` is never used [INFO] [stdout] --> src/nbd_protocol.rs:75:11 [INFO] [stdout] | [INFO] [stdout] 75 | pub const NBD_REP_ERR_POLICY: u32 = (1 << 31) | 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_REP_ERR_INVALID` is never used [INFO] [stdout] --> src/nbd_protocol.rs:76:11 [INFO] [stdout] | [INFO] [stdout] 76 | pub const NBD_REP_ERR_INVALID: u32 = (1 << 31) | 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_REP_ERR_PLATFORM` is never used [INFO] [stdout] --> src/nbd_protocol.rs:77:11 [INFO] [stdout] | [INFO] [stdout] 77 | pub const NBD_REP_ERR_PLATFORM: u32 = (1 << 31) | 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_INFO_NAME` is never used [INFO] [stdout] --> src/nbd_protocol.rs:81:11 [INFO] [stdout] | [INFO] [stdout] 81 | pub const NBD_INFO_NAME: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBD_INFO_DESCRIPTION` is never used [INFO] [stdout] --> src/nbd_protocol.rs:82:11 [INFO] [stdout] | [INFO] [stdout] 82 | pub const NBD_INFO_DESCRIPTION: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `min_block_size` and `max_block_size` are never read [INFO] [stdout] --> src/nbd_protocol.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct HandshakeReply { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 93 | pub min_block_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub max_block_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HandshakeReply` 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 function `parse_simple_reply` is never used [INFO] [stdout] --> src/nbd_protocol.rs:332:12 [INFO] [stdout] | [INFO] [stdout] 103 | impl NbdProtocol { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 332 | pub fn parse_simple_reply(data: &[u8]) -> Result<(u32, u64, Vec)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.78s [INFO] running `Command { std: "docker" "inspect" "925239ef25f137df4a8c04f7a50f809159cf02f9fa7c7ab73d8c0717595337cc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "925239ef25f137df4a8c04f7a50f809159cf02f9fa7c7ab73d8c0717595337cc", kill_on_drop: false }` [INFO] [stdout] 925239ef25f137df4a8c04f7a50f809159cf02f9fa7c7ab73d8c0717595337cc