[INFO] cloning repository https://github.com/kalikhalid/bitchat-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kalikhalid/bitchat-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkalikhalid%2Fbitchat-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkalikhalid%2Fbitchat-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 546daebbed264924108d6443bdd5285fadf8376e [INFO] checking kalikhalid/bitchat-rs against master#ddaf12390d3ffb7d5ba74491a48f3cd528e5d777 for pr-146504 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkalikhalid%2Fbitchat-rs" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/kalikhalid/bitchat-rs [INFO] finished tweaking git repo https://github.com/kalikhalid/bitchat-rs [INFO] tweaked toml for git repo https://github.com/kalikhalid/bitchat-rs written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/kalikhalid/bitchat-rs on toolchain ddaf12390d3ffb7d5ba74491a48f3cd528e5d777 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ddaf12390d3ffb7d5ba74491a48f3cd528e5d777" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/kalikhalid/bitchat-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" "+ddaf12390d3ffb7d5ba74491a48f3cd528e5d777" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded dbus-tokio v0.7.6 [INFO] [stderr] Downloaded objc2-core-bluetooth v0.2.2 [INFO] [stderr] Downloaded fd-lock v4.0.4 [INFO] [stderr] Downloaded lz4_flex v0.11.5 [INFO] [stderr] Downloaded bluez-generated v0.4.0 [INFO] [stderr] Downloaded bluez-async v0.8.2 [INFO] [stderr] Downloaded btleplug v0.11.8 [INFO] [stderr] Downloaded jni-utils v0.1.1 [INFO] [stderr] Downloaded serde-xml-rs v0.8.1 [INFO] [stderr] Downloaded snow v0.10.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ddaf12390d3ffb7d5ba74491a48f3cd528e5d777" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 63659be2b748ed9957c5b5617450bd27b895f35fcd19006f7aad6b5b4d02d7bd [INFO] running `Command { std: "docker" "start" "-a" "63659be2b748ed9957c5b5617450bd27b895f35fcd19006f7aad6b5b4d02d7bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "63659be2b748ed9957c5b5617450bd27b895f35fcd19006f7aad6b5b4d02d7bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "63659be2b748ed9957c5b5617450bd27b895f35fcd19006f7aad6b5b4d02d7bd", kill_on_drop: false }` [INFO] [stdout] 63659be2b748ed9957c5b5617450bd27b895f35fcd19006f7aad6b5b4d02d7bd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ddaf12390d3ffb7d5ba74491a48f3cd528e5d777" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4fdf5d9137da945365b76918c510d801f90374eaf347b6d31245a7ea142e82f8 [INFO] running `Command { std: "docker" "start" "-a" "4fdf5d9137da945365b76918c510d801f90374eaf347b6d31245a7ea142e82f8", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling libdbus-sys v0.2.5 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling cc v1.2.30 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Checking xml-rs v0.8.27 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Checking itertools v0.14.0 [INFO] [stderr] Compiling snow v0.10.0 [INFO] [stderr] Compiling serde_json v1.0.141 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking unicode-segmentation v1.12.0 [INFO] [stderr] Checking twox-hash v2.1.1 [INFO] [stderr] Checking lz4_flex v0.11.5 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking nibble_vec v0.1.0 [INFO] [stderr] Checking chacha20 v0.9.1 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Checking polyval v0.6.2 [INFO] [stderr] Checking poly1305 v0.8.0 [INFO] [stderr] Checking radix_trie v0.2.1 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking ghash v0.5.1 [INFO] [stderr] Checking chacha20poly1305 v0.10.1 [INFO] [stderr] Checking aes-gcm v0.10.3 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking parking_lot_core v0.9.11 [INFO] [stderr] Checking signal-hook-registry v1.4.5 [INFO] [stderr] Checking socket2 v0.6.0 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking getrandom v0.3.3 [INFO] [stderr] Checking nix v0.28.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking dashmap v6.1.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking fd-lock v4.0.4 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking tokio v1.47.0 [INFO] [stderr] Checking rustyline v14.0.0 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking env_filter v0.1.3 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking env_logger v0.11.8 [INFO] [stderr] Checking thiserror v2.0.12 [INFO] [stderr] Checking serde v1.0.219 [INFO] [stderr] Checking dbus v0.9.7 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking serde-xml-rs v0.8.1 [INFO] [stderr] Checking uuid v1.17.0 [INFO] [stderr] Checking serde_bytes v0.11.17 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking tokio-util v0.7.15 [INFO] [stderr] Checking tokio-stream v0.1.17 [INFO] [stderr] Checking bluez-generated v0.4.0 [INFO] [stderr] Checking dbus-tokio v0.7.6 [INFO] [stderr] Checking bluez-async v0.8.2 [INFO] [stderr] Checking btleplug v0.11.8 [INFO] [stderr] Checking bitchat-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `last_seen` is never read [INFO] [stdout] --> src/bluetooth.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct DiscoveredPeer { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | pub last_seen: std::time::Instant, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DiscoveredPeer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Error` is never constructed [INFO] [stdout] --> src/bluetooth.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum BluetoothEvent { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 33 | Error(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BluetoothEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `private_key` is never read [INFO] [stdout] --> src/noise.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct NoiseKeyPair { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 14 | pub private_key: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NoiseKeyPair` 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: variants `Handshaking` and `Transport` are never constructed [INFO] [stdout] --> src/noise.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum NoiseSessionState { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] 33 | Handshaking(HandshakeState), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 34 | Transport(TransportState), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NoiseSessionState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `peer_id`, `state`, `is_initiator`, and `remote_static_key` are never read [INFO] [stdout] --> src/noise.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct NoiseSession { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 39 | pub peer_id: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 40 | pub state: NoiseSessionState, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 41 | pub is_initiator: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 42 | pub remote_static_key: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NoiseSession` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/noise.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl NoiseSession { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 46 | pub fn new_initiator(peer_id: String, local_static: &NoiseKeyPair) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn new_responder(peer_id: String, local_static: &NoiseKeyPair) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn write_handshake_message(&mut self, payload: &[u8], output: &mut [u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn read_handshake_message(&mut self, payload: &[u8], output: &mut [u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn encrypt(&mut self, plaintext: &[u8], output: &mut [u8]) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn decrypt(&mut self, ciphertext: &[u8], output: &mut [u8]) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn is_handshake_finished(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn get_remote_static_key(&self) -> Option<&[u8]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sessions` is never read [INFO] [stdout] --> src/noise.rs:214:5 [INFO] [stdout] | [INFO] [stdout] 212 | pub struct NoiseEncryptionService { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 213 | local_static_keypair: NoiseKeyPair, [INFO] [stdout] 214 | sessions: Arc>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NoiseEncryptionService` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/noise.rs:241:18 [INFO] [stdout] | [INFO] [stdout] 217 | impl NoiseEncryptionService { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 241 | pub async fn initiate_handshake(&self, peer_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | pub async fn respond_to_handshake(&self, peer_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | pub async fn store_session(&self, session: NoiseSession) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | pub async fn has_session(&self, peer_id: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | pub async fn is_session_ready(&self, peer_id: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub async fn remove_session(&self, peer_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub async fn encrypt_for_peer(&self, peer_id: &str, plaintext: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | pub async fn decrypt_from_peer(&self, peer_id: &str, ciphertext: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `my_peer_id` is never read [INFO] [stdout] --> src/message.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct MessageHandler { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 12 | my_peer_id: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MessageHandler` 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: multiple methods are never used [INFO] [stdout] --> src/message.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl MessageHandler { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn create_announcement(&self, nickname: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn create_leave_announcement(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn create_message(&self, content: &str, recipient: Option<&str>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn create_private_message(&self, content: &str, recipient: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn parse_received_packet(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn should_relay_message(&self, packet: &BitchatPacket) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn relay_message(&self, mut packet: BitchatPacket) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn extract_message_from_packet(&self, packet: &BitchatPacket) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn format_message_for_display(&self, message: &BitchatMessage) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn is_message_for_me(&self, packet: &BitchatPacket) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn detect_mentions(&self, content: &str, nickname: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `message_handler` is never read [INFO] [stdout] --> src/cli.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct CliInterface { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | message_handler: MessageHandler, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `last_seen` is never read [INFO] [stdout] --> src/bluetooth.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct DiscoveredPeer { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | pub last_seen: std::time::Instant, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DiscoveredPeer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Error` is never constructed [INFO] [stdout] --> src/bluetooth.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum BluetoothEvent { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 33 | Error(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BluetoothEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `private_key` is never read [INFO] [stdout] --> src/noise.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct NoiseKeyPair { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 14 | pub private_key: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NoiseKeyPair` 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: variants `Handshaking` and `Transport` are never constructed [INFO] [stdout] --> src/noise.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum NoiseSessionState { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] 33 | Handshaking(HandshakeState), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 34 | Transport(TransportState), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NoiseSessionState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `peer_id`, `state`, `is_initiator`, and `remote_static_key` are never read [INFO] [stdout] --> src/noise.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct NoiseSession { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 39 | pub peer_id: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 40 | pub state: NoiseSessionState, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 41 | pub is_initiator: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 42 | pub remote_static_key: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NoiseSession` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/noise.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl NoiseSession { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 46 | pub fn new_initiator(peer_id: String, local_static: &NoiseKeyPair) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn new_responder(peer_id: String, local_static: &NoiseKeyPair) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn write_handshake_message(&mut self, payload: &[u8], output: &mut [u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn read_handshake_message(&mut self, payload: &[u8], output: &mut [u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn encrypt(&mut self, plaintext: &[u8], output: &mut [u8]) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn decrypt(&mut self, ciphertext: &[u8], output: &mut [u8]) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn is_handshake_finished(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn get_remote_static_key(&self) -> Option<&[u8]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sessions` is never read [INFO] [stdout] --> src/noise.rs:214:5 [INFO] [stdout] | [INFO] [stdout] 212 | pub struct NoiseEncryptionService { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 213 | local_static_keypair: NoiseKeyPair, [INFO] [stdout] 214 | sessions: Arc>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NoiseEncryptionService` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/noise.rs:241:18 [INFO] [stdout] | [INFO] [stdout] 217 | impl NoiseEncryptionService { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 241 | pub async fn initiate_handshake(&self, peer_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | pub async fn respond_to_handshake(&self, peer_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | pub async fn store_session(&self, session: NoiseSession) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | pub async fn has_session(&self, peer_id: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | pub async fn is_session_ready(&self, peer_id: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub async fn remove_session(&self, peer_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub async fn encrypt_for_peer(&self, peer_id: &str, plaintext: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | pub async fn decrypt_from_peer(&self, peer_id: &str, ciphertext: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `create_leave_announcement`, `parse_received_packet`, `relay_message`, `extract_message_from_packet`, `format_message_for_display`, and `is_message_for_me` are never used [INFO] [stdout] --> src/message.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl MessageHandler { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn create_leave_announcement(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn parse_received_packet(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn relay_message(&self, mut packet: BitchatPacket) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn extract_message_from_packet(&self, packet: &BitchatPacket) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn format_message_for_display(&self, message: &BitchatMessage) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn is_message_for_me(&self, packet: &BitchatPacket) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `message_handler` is never read [INFO] [stdout] --> src/cli.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct CliInterface { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | message_handler: MessageHandler, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.63s [INFO] running `Command { std: "docker" "inspect" "4fdf5d9137da945365b76918c510d801f90374eaf347b6d31245a7ea142e82f8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4fdf5d9137da945365b76918c510d801f90374eaf347b6d31245a7ea142e82f8", kill_on_drop: false }` [INFO] [stdout] 4fdf5d9137da945365b76918c510d801f90374eaf347b6d31245a7ea142e82f8