[INFO] fetching crate qssh 0.0.3-alpha... [INFO] testing qssh-0.0.3-alpha against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-8 [INFO] extracting crate qssh 0.0.3-alpha into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate qssh 0.0.3-alpha [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate qssh 0.0.3-alpha [INFO] tweaked toml for crates.io crate qssh 0.0.3-alpha written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate qssh 0.0.3-alpha on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate qssh 0.0.3-alpha 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f31f22edbc4d3b523eea989ec431e8e4fdddbed4dd151ab9d70a7d29ec1b4f26 [INFO] running `Command { std: "docker" "start" "-a" "f31f22edbc4d3b523eea989ec431e8e4fdddbed4dd151ab9d70a7d29ec1b4f26", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f31f22edbc4d3b523eea989ec431e8e4fdddbed4dd151ab9d70a7d29ec1b4f26", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f31f22edbc4d3b523eea989ec431e8e4fdddbed4dd151ab9d70a7d29ec1b4f26", kill_on_drop: false }` [INFO] [stdout] f31f22edbc4d3b523eea989ec431e8e4fdddbed4dd151ab9d70a7d29ec1b4f26 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8d829b9192807dab8bdf032e4c085718c442def1aa672c749cd1270f4e7a1e9d [INFO] running `Command { std: "docker" "start" "-a" "8d829b9192807dab8bdf032e4c085718c442def1aa672c749cd1270f4e7a1e9d", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling find-msvc-tools v0.1.1 [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling unicode-ident v1.0.19 [INFO] [stderr] Compiling cfg-if v1.0.3 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling pqcrypto-traits v0.3.5 [INFO] [stderr] Compiling serde_core v1.0.225 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling litemap v0.8.0 [INFO] [stderr] Compiling writeable v0.6.1 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling serde v1.0.225 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling anstyle-query v1.1.4 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling anstyle v1.0.11 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling opaque-debug v0.3.1 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling anyhow v1.0.99 [INFO] [stderr] Compiling clap_lex v0.7.5 [INFO] [stderr] Compiling iri-string v0.7.8 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling anstream v0.6.20 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling socket2 v0.6.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling signal-hook-registry v1.4.6 [INFO] [stderr] Compiling cc v1.2.37 [INFO] [stderr] Compiling indexmap v2.11.3 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling clap_builder v4.5.47 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling rtoolbox v0.0.3 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling polyval v0.6.2 [INFO] [stderr] Compiling jiff v0.2.15 [INFO] [stderr] Compiling keccak v0.1.5 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling ghash v0.5.1 [INFO] [stderr] Compiling iana-time-zone v0.1.64 [INFO] [stderr] Compiling rpassword v7.4.0 [INFO] [stderr] Compiling sha3 v0.10.8 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling flate2 v1.1.2 [INFO] [stderr] Compiling termios v0.3.3 [INFO] [stderr] Compiling hostname v0.4.1 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling if-addrs v0.12.0 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling whoami v1.6.1 [INFO] [stderr] Compiling pqcrypto-internals v0.2.11 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling pqcrypto-hqc v0.2.2 [INFO] [stderr] Compiling pqcrypto-sphincsplus v0.7.2 [INFO] [stderr] Compiling pqcrypto-kyber v0.8.1 [INFO] [stderr] Compiling pqcrypto-classicmceliece v0.2.1 [INFO] [stderr] Compiling pqcrypto-dilithium v0.5.0 [INFO] [stderr] Compiling lz4-sys v1.11.1+lz4-1.10.0 [INFO] [stderr] Compiling pqcrypto-falcon v0.3.0 [INFO] [stderr] Compiling pqcrypto-kyber v0.4.1 [INFO] [stderr] Compiling pqcrypto-falcon v0.2.10 [INFO] [stderr] Compiling pqcrypto-sphincsplus v0.5.3 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling env_filter v0.1.3 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling serde_derive v1.0.225 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.5.47 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling zerovec v0.11.4 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling rustls-pki-types v1.12.0 [INFO] [stderr] Compiling zstd v0.13.3 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling potential_utf v0.1.3 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling clap v4.5.47 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling env_logger v0.11.8 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling tokio-util v0.7.16 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling h2 v0.4.12 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling tower-http v0.6.6 [INFO] [stderr] Compiling hyper v1.7.0 [INFO] [stderr] Compiling hyper-util v0.1.17 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.23 [INFO] [stderr] Compiling lz4 v1.28.1 [INFO] [stderr] Compiling pqcrypto v0.17.0 [INFO] [stderr] Compiling qssh v0.0.3-alpha (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `QsshError` [INFO] [stdout] --> src/crypto/cipher_choice.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{Result, QsshError}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `KeyType` [INFO] [stdout] --> src/client.rs:7:27 [INFO] [stdout] | [INFO] [stdout] 7 | vault::{QuantumVault, KeyType}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/agent/mod.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/agent/mod.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `UnixListener` and `UnixStream` [INFO] [stdout] --> src/x11/mod.rs:7:42 [INFO] [stdout] | [INFO] [stdout] 7 | use tokio::net::{TcpListener, TcpStream, UnixListener, UnixStream}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsRawFd` and `FromRawFd` [INFO] [stdout] --> src/pty.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha3_512` [INFO] [stdout] --> src/vault/mod.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | use sha3::{Sha3_256, Sha3_512, Digest}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha3_512` [INFO] [stdout] --> src/vault/lamport.rs:5:22 [INFO] [stdout] | [INFO] [stdout] 5 | use sha3::{Sha3_256, Sha3_512, Digest}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/shell_handler.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Mutex` [INFO] [stdout] --> src/shell_handler.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsRawFd` [INFO] [stdout] --> src/shell_handler.rs:9:25 [INFO] [stdout] | [INFO] [stdout] 9 | use std::os::unix::io::{AsRawFd, FromRawFd}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsRawFd` and `RawFd` [INFO] [stdout] --> src/shell_handler_pty.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::fs::File` [INFO] [stdout] --> src/shell_handler_pty.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite` [INFO] [stdout] --> src/pty_async.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use tokio::io::{AsyncRead, AsyncWrite, AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Stdio` [INFO] [stdout] --> src/pty_async.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::process::Stdio; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsRawFd` [INFO] [stdout] --> src/pty_thread.rs:4:25 [INFO] [stdout] | [INFO] [stdout] 4 | use std::os::unix::io::{AsRawFd, RawFd, FromRawFd}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Child` [INFO] [stdout] --> src/shell_handler_thread.rs:5:31 [INFO] [stdout] | [INFO] [stdout] 5 | use tokio::process::{Command, Child}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::mpsc` [INFO] [stdout] --> src/shell_handler_thread.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/subsystems/sftp/mod.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/subsystems/sftp/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Mutex` [INFO] [stdout] --> src/subsystems/sftp/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use tokio::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/subsystems/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Mutex` [INFO] [stdout] --> src/subsystems/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `oneshot` [INFO] [stdout] --> src/multiplex/mod.rs:9:33 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::{RwLock, mpsc, oneshot}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/proxy/mod.rs:8:31 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/proxy/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/known_hosts.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ZlibEncoder` [INFO] [stdout] --> src/compression.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use flate2::read::{ZlibDecoder, ZlibEncoder}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ZlibDecoder as ZlibWriteDecoder` [INFO] [stdout] --> src/compression.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | use flate2::write::{ZlibDecoder as ZlibWriteDecoder, ZlibEncoder as ZlibWriteEncoder}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `UNIX_EPOCH` [INFO] [stdout] --> src/gssapi.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Engine as _` and `engine::general_purpose::STANDARD as BASE64` [INFO] [stdout] --> src/gssapi.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | use base64::{Engine as _, engine::general_purpose::STANDARD as BASE64}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/shell_handler.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | let mut process = cmd.spawn() [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/port_forward.rs:230:24 [INFO] [stdout] | [INFO] [stdout] 230 | let (tx_to_remote, mut rx_to_remote) = mpsc::channel::>(256); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PublicKey` [INFO] [stdout] --> src/crypto/mod.rs:125:37 [INFO] [stdout] | [INFO] [stdout] 125 | use pqcrypto_traits::sign::{PublicKey as PubKey, DetachedSignature}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/client.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/client.rs:11:31 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/shell_handler_async.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/shell_handler_async.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/subsystems/sftp/mod.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/subsystems/sftp/mod.rs:14:31 [INFO] [stdout] | [INFO] [stdout] 14 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/proxy/mod.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `endpoint` [INFO] [stdout] --> src/crypto/qrng_integration.rs:61:37 [INFO] [stdout] | [INFO] [stdout] 61 | async fn fetch_from_qrng(&self, endpoint: &str, num_bytes: usize) -> Result, String> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_endpoint` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_bytes` [INFO] [stdout] --> src/crypto/qrng_integration.rs:61:53 [INFO] [stdout] | [INFO] [stdout] 61 | async fn fetch_from_qrng(&self, endpoint: &str, num_bytes: usize) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_bytes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qkd_key` [INFO] [stdout] --> src/handshake.rs:250:14 [INFO] [stdout] | [INFO] [stdout] 250 | let (qkd_key, qkd_proof): (Option>, Option>) = (None, None); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_qkd_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/handshake.rs:438:13 [INFO] [stdout] | [INFO] [stdout] 438 | let mut password_manager = crate::auth::system_password_auth(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rekey` [INFO] [stdout] --> src/server.rs:196:24 [INFO] [stdout] | [INFO] [stdout] 196 | Message::Rekey(rekey) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_rekey` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `byte_order` [INFO] [stdout] --> src/x11/mod.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | let byte_order = auth_buffer[0]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_byte_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `protocol_major` [INFO] [stdout] --> src/x11/mod.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | let protocol_major = u16::from_be_bytes([auth_buffer[2], auth_buffer[3]]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_protocol_major` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `protocol_minor` [INFO] [stdout] --> src/x11/mod.rs:180:9 [INFO] [stdout] | [INFO] [stdout] 180 | let protocol_minor = u16::from_be_bytes([auth_buffer[4], auth_buffer[5]]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_protocol_minor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pty.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | let mut async_fd = match tokio::io::unix::AsyncFd::new(self.fd) { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pty.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 218 | let mut async_fd = match tokio::io::unix::AsyncFd::new(self.fd) { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:132:13 [INFO] [stdout] | [INFO] [stdout] 132 | let mut key_data; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `announce_task` [INFO] [stdout] --> src/p2p/discovery.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let announce_task = { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_announce_task` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `socket` [INFO] [stdout] --> src/p2p/nat.rs:148:37 [INFO] [stdout] | [INFO] [stdout] 148 | async fn detect_nat_type(&self, socket: &UdpSocket) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slave_stdio` [INFO] [stdout] --> src/shell_handler.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | let slave_stdio = unsafe { Stdio::from_raw_fd(slave_fd) }; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slave_stdio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx_to_remote` [INFO] [stdout] --> src/port_forward.rs:230:10 [INFO] [stdout] | [INFO] [stdout] 230 | let (tx_to_remote, mut rx_to_remote) = mpsc::channel::>(256); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_to_remote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx_to_remote` [INFO] [stdout] --> src/port_forward.rs:230:24 [INFO] [stdout] | [INFO] [stdout] 230 | let (tx_to_remote, mut rx_to_remote) = mpsc::channel::>(256); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rx_to_remote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx_from_remote` [INFO] [stdout] --> src/port_forward.rs:231:10 [INFO] [stdout] | [INFO] [stdout] 231 | let (tx_from_remote, mut rx_from_remote) = mpsc::channel::>(256); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_from_remote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `length` [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | let length = cursor.read_u32::()? as usize; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `extensions` [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:332:45 [INFO] [stdout] | [INFO] [stdout] 332 | SftpMessage::Version { version, extensions } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `extensions: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transport` [INFO] [stdout] --> src/multiplex/mod.rs:240:5 [INFO] [stdout] | [INFO] [stdout] 240 | transport: &Arc, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transport` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command` [INFO] [stdout] --> src/multiplex/mod.rs:241:5 [INFO] [stdout] | [INFO] [stdout] 241 | command: Option, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/multiplex/mod.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | env: HashMap, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/session.rs:443:31 [INFO] [stdout] | [INFO] [stdout] 443 | fn encrypt_state(data: &[u8], key: &[u8], nonce: &[u8]) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nonce` [INFO] [stdout] --> src/session.rs:443:43 [INFO] [stdout] | [INFO] [stdout] 443 | fn encrypt_state(data: &[u8], key: &[u8], nonce: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_nonce` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token` [INFO] [stdout] --> src/gssapi.rs:349:42 [INFO] [stdout] | [INFO] [stdout] 349 | fn process_ntlm_challenge(&mut self, token: &[u8]) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `entropy_cache` is never read [INFO] [stdout] --> src/crypto/qrng_integration.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct QuantumRng { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | entropy_cache: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `channel_id` is never read [INFO] [stdout] --> src/transport/channel.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 136 | pub struct PortForward { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 140 | channel_id: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `host_key` is never read [INFO] [stdout] --> src/handshake.rs:430:5 [INFO] [stdout] | [INFO] [stdout] 428 | pub struct ServerHandshake { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 429 | stream: TcpStream, [INFO] [stdout] 430 | host_key: PqKeyExchange, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `start_transport_handler` is never used [INFO] [stdout] --> src/client.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl QsshClient { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 223 | fn start_transport_handler(&self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_message` is never used [INFO] [stdout] --> src/client.rs:484:10 [INFO] [stdout] | [INFO] [stdout] 484 | async fn handle_message(msg: Message, channel_manager: &ChannelManager) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `username` and `transport` are never read [INFO] [stdout] --> src/server.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 96 | struct ClientConnection { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 97 | username: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 98 | transport: Transport, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `channel_type` are never read [INFO] [stdout] --> src/server.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 103 | struct Channel { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 104 | id: u32, [INFO] [stdout] | ^^ [INFO] [stdout] 105 | channel_type: ChannelType, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `key_type` is never read [INFO] [stdout] --> src/vault/mod.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 33 | struct ProtectedKey { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 37 | key_type: KeyType, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ProtectedKey` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root_seed` is never read [INFO] [stdout] --> src/vault/mod.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 54 | struct LamportKeyChain { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | root_seed: [u8; 32], [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/vault/lamport.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 142 | pub struct LamportMerkleTree { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 148 | root: [u8; 32], [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_LSTAT` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:47:7 [INFO] [stdout] | [INFO] [stdout] 47 | const SSH_FXP_LSTAT: u8 = 7; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_FSTAT` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | const SSH_FXP_FSTAT: u8 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_SETSTAT` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const SSH_FXP_SETSTAT: u8 = 9; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_FSETSTAT` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const SSH_FXP_FSETSTAT: u8 = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_REMOVE` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | const SSH_FXP_REMOVE: u8 = 13; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_MKDIR` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const SSH_FXP_MKDIR: u8 = 14; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_RMDIR` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:55:7 [INFO] [stdout] | [INFO] [stdout] 55 | const SSH_FXP_RMDIR: u8 = 15; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_RENAME` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:58:7 [INFO] [stdout] | [INFO] [stdout] 58 | const SSH_FXP_RENAME: u8 = 18; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_READLINK` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:59:7 [INFO] [stdout] | [INFO] [stdout] 59 | const SSH_FXP_READLINK: u8 = 19; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_SYMLINK` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:60:7 [INFO] [stdout] | [INFO] [stdout] 60 | const SSH_FXP_SYMLINK: u8 = 20; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `channel_id` are never read [INFO] [stdout] --> src/multiplex/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 29 | struct SessionHandle { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 30 | id: u32, [INFO] [stdout] | ^^ [INFO] [stdout] 31 | channel_id: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stdin` and `stdout` are never read [INFO] [stdout] --> src/proxy/mod.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 226 | struct ProcessStream { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 227 | stdin: tokio::process::ChildStdin, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 228 | stdout: tokio::process::ChildStdout, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `strict_checking` is never read [INFO] [stdout] --> src/known_hosts.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct KnownHosts { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | strict_checking: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `service_name` and `mic_token` are never read [INFO] [stdout] --> src/gssapi.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct GssapiContext { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 53 | service_name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | mic_token: Option>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Error` is never constructed [INFO] [stdout] --> src/gssapi.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 68 | enum ContextState { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 78 | Error(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ContextState` 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 `pvno`, `msg_type`, `ap_options`, `ticket`, and `authenticator` are never read [INFO] [stdout] --> src/gssapi.rs:559:5 [INFO] [stdout] | [INFO] [stdout] 558 | struct KerberosApReq { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 559 | pvno: u8, [INFO] [stdout] | ^^^^ [INFO] [stdout] 560 | msg_type: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 561 | ap_options: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 562 | ticket: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 563 | authenticator: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pvno`, `msg_type`, and `enc_part` are never read [INFO] [stdout] --> src/gssapi.rs:567:5 [INFO] [stdout] | [INFO] [stdout] 566 | struct KerberosApRep { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 567 | pvno: u8, [INFO] [stdout] | ^^^^ [INFO] [stdout] 568 | msg_type: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 569 | enc_part: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `signature`, `message_type`, `flags`, `domain`, and `workstation` are never read [INFO] [stdout] --> src/gssapi.rs:573:5 [INFO] [stdout] | [INFO] [stdout] 572 | struct NtlmType1Message { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 573 | signature: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 574 | message_type: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 575 | flags: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 576 | domain: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 577 | workstation: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/gssapi.rs:581:5 [INFO] [stdout] | [INFO] [stdout] 580 | struct NtlmType3Message { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 581 | signature: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 582 | message_type: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 583 | lm_response: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 584 | ntlm_response: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 585 | domain: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 586 | username: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 587 | workstation: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 588 | session_key: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mech_types`, `req_flags`, `mech_token`, and `mech_list_mic` are never read [INFO] [stdout] --> src/gssapi.rs:592:5 [INFO] [stdout] | [INFO] [stdout] 591 | struct SpnegoNegTokenInit { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 592 | mech_types: Vec>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 593 | req_flags: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 594 | mech_token: Option>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 595 | mech_list_mic: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hash_password` [INFO] [stdout] --> src/bin/qssh-passwd.rs:4:39 [INFO] [stdout] | [INFO] [stdout] 4 | use qssh::auth::{PasswordAuthManager, hash_password}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/bin/qscp.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6m 53s [INFO] running `Command { std: "docker" "inspect" "8d829b9192807dab8bdf032e4c085718c442def1aa672c749cd1270f4e7a1e9d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8d829b9192807dab8bdf032e4c085718c442def1aa672c749cd1270f4e7a1e9d", kill_on_drop: false }` [INFO] [stdout] 8d829b9192807dab8bdf032e4c085718c442def1aa672c749cd1270f4e7a1e9d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 12880f533914bcb07f80fdc5688bf2dd3e0dd1df381e3259f722453ee596a779 [INFO] running `Command { std: "docker" "start" "-a" "12880f533914bcb07f80fdc5688bf2dd3e0dd1df381e3259f722453ee596a779", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling serde_core v1.0.225 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling serde v1.0.225 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling half v2.6.0 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling pqcrypto-internals v0.2.11 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling pqcrypto-dilithium v0.5.0 [INFO] [stderr] Compiling pqcrypto-sphincsplus v0.7.2 [INFO] [stderr] Compiling pqcrypto-classicmceliece v0.2.1 [INFO] [stderr] Compiling pqcrypto-falcon v0.3.0 [INFO] [stderr] Compiling pqcrypto-hqc v0.2.2 [INFO] [stderr] Compiling pqcrypto-kyber v0.8.1 [INFO] [stderr] Compiling pqcrypto-falcon v0.2.10 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling pqcrypto v0.17.0 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling tempfile v3.22.0 [INFO] [stderr] Compiling rusty-fork v0.3.0 [INFO] [stderr] Compiling proptest v1.7.0 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling env_filter v0.1.3 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling env_logger v0.11.8 [INFO] [stderr] Compiling tokio-util v0.7.16 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling tokio-test v0.4.4 [INFO] [stderr] Compiling h2 v0.4.12 [INFO] [stderr] Compiling tower-http v0.6.6 [INFO] [stderr] Compiling hyper v1.7.0 [INFO] [stderr] Compiling hyper-util v0.1.17 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.12.23 [INFO] [stderr] Compiling qssh v0.0.3-alpha (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `QsshError` [INFO] [stdout] --> src/crypto/cipher_choice.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{Result, QsshError}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `KeyType` [INFO] [stdout] --> src/client.rs:7:27 [INFO] [stdout] | [INFO] [stdout] 7 | vault::{QuantumVault, KeyType}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/agent/mod.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/agent/mod.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `UnixListener` and `UnixStream` [INFO] [stdout] --> src/x11/mod.rs:7:42 [INFO] [stdout] | [INFO] [stdout] 7 | use tokio::net::{TcpListener, TcpStream, UnixListener, UnixStream}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsRawFd` and `FromRawFd` [INFO] [stdout] --> src/pty.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha3_512` [INFO] [stdout] --> src/vault/mod.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | use sha3::{Sha3_256, Sha3_512, Digest}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha3_512` [INFO] [stdout] --> src/vault/lamport.rs:5:22 [INFO] [stdout] | [INFO] [stdout] 5 | use sha3::{Sha3_256, Sha3_512, Digest}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/shell_handler.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Mutex` [INFO] [stdout] --> src/shell_handler.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsRawFd` [INFO] [stdout] --> src/shell_handler.rs:9:25 [INFO] [stdout] | [INFO] [stdout] 9 | use std::os::unix::io::{AsRawFd, FromRawFd}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsRawFd` and `RawFd` [INFO] [stdout] --> src/shell_handler_pty.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::fs::File` [INFO] [stdout] --> src/shell_handler_pty.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite` [INFO] [stdout] --> src/pty_async.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use tokio::io::{AsyncRead, AsyncWrite, AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Stdio` [INFO] [stdout] --> src/pty_async.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::process::Stdio; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsRawFd` [INFO] [stdout] --> src/pty_thread.rs:4:25 [INFO] [stdout] | [INFO] [stdout] 4 | use std::os::unix::io::{AsRawFd, RawFd, FromRawFd}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Child` [INFO] [stdout] --> src/shell_handler_thread.rs:5:31 [INFO] [stdout] | [INFO] [stdout] 5 | use tokio::process::{Command, Child}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::mpsc` [INFO] [stdout] --> src/shell_handler_thread.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/subsystems/sftp/mod.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/subsystems/sftp/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Mutex` [INFO] [stdout] --> src/subsystems/sftp/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use tokio::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/subsystems/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Mutex` [INFO] [stdout] --> src/subsystems/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `oneshot` [INFO] [stdout] --> src/multiplex/mod.rs:9:33 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::{RwLock, mpsc, oneshot}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/proxy/mod.rs:8:31 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/proxy/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/known_hosts.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ZlibEncoder` [INFO] [stdout] --> src/compression.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use flate2::read::{ZlibDecoder, ZlibEncoder}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ZlibDecoder as ZlibWriteDecoder` [INFO] [stdout] --> src/compression.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | use flate2::write::{ZlibDecoder as ZlibWriteDecoder, ZlibEncoder as ZlibWriteEncoder}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `UNIX_EPOCH` [INFO] [stdout] --> src/gssapi.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Engine as _` and `engine::general_purpose::STANDARD as BASE64` [INFO] [stdout] --> src/gssapi.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | use base64::{Engine as _, engine::general_purpose::STANDARD as BASE64}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/shell_handler.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | let mut process = cmd.spawn() [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/port_forward.rs:230:24 [INFO] [stdout] | [INFO] [stdout] 230 | let (tx_to_remote, mut rx_to_remote) = mpsc::channel::>(256); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `QsshError` [INFO] [stdout] --> src/crypto/cipher_choice.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{Result, QsshError}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `KeyType` [INFO] [stdout] --> src/client.rs:7:27 [INFO] [stdout] | [INFO] [stdout] 7 | vault::{QuantumVault, KeyType}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/agent/mod.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/agent/mod.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `UnixListener` and `UnixStream` [INFO] [stdout] --> src/x11/mod.rs:7:42 [INFO] [stdout] | [INFO] [stdout] 7 | use tokio::net::{TcpListener, TcpStream, UnixListener, UnixStream}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsRawFd` and `FromRawFd` [INFO] [stdout] --> src/pty.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha3_512` [INFO] [stdout] --> src/vault/mod.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | use sha3::{Sha3_256, Sha3_512, Digest}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha3_512` [INFO] [stdout] --> src/vault/lamport.rs:5:22 [INFO] [stdout] | [INFO] [stdout] 5 | use sha3::{Sha3_256, Sha3_512, Digest}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/shell_handler.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Mutex` [INFO] [stdout] --> src/shell_handler.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsRawFd` [INFO] [stdout] --> src/shell_handler.rs:9:25 [INFO] [stdout] | [INFO] [stdout] 9 | use std::os::unix::io::{AsRawFd, FromRawFd}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsRawFd` and `RawFd` [INFO] [stdout] --> src/shell_handler_pty.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::fs::File` [INFO] [stdout] --> src/shell_handler_pty.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite` [INFO] [stdout] --> src/pty_async.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use tokio::io::{AsyncRead, AsyncWrite, AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Stdio` [INFO] [stdout] --> src/pty_async.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::process::Stdio; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsRawFd` [INFO] [stdout] --> src/pty_thread.rs:4:25 [INFO] [stdout] | [INFO] [stdout] 4 | use std::os::unix::io::{AsRawFd, RawFd, FromRawFd}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Child` [INFO] [stdout] --> src/shell_handler_thread.rs:5:31 [INFO] [stdout] | [INFO] [stdout] 5 | use tokio::process::{Command, Child}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::mpsc` [INFO] [stdout] --> src/shell_handler_thread.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/subsystems/sftp/mod.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/subsystems/sftp/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Mutex` [INFO] [stdout] --> src/subsystems/sftp/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use tokio::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/subsystems/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Mutex` [INFO] [stdout] --> src/subsystems/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `oneshot` [INFO] [stdout] --> src/multiplex/mod.rs:9:33 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::{RwLock, mpsc, oneshot}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/proxy/mod.rs:8:31 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/proxy/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/known_hosts.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ZlibEncoder` [INFO] [stdout] --> src/compression.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use flate2::read::{ZlibDecoder, ZlibEncoder}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ZlibDecoder as ZlibWriteDecoder` [INFO] [stdout] --> src/compression.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | use flate2::write::{ZlibDecoder as ZlibWriteDecoder, ZlibEncoder as ZlibWriteEncoder}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `UNIX_EPOCH` [INFO] [stdout] --> src/gssapi.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Engine as _` and `engine::general_purpose::STANDARD as BASE64` [INFO] [stdout] --> src/gssapi.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | use base64::{Engine as _, engine::general_purpose::STANDARD as BASE64}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PublicKey` [INFO] [stdout] --> src/crypto/mod.rs:125:37 [INFO] [stdout] | [INFO] [stdout] 125 | use pqcrypto_traits::sign::{PublicKey as PubKey, DetachedSignature}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/client.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/client.rs:11:31 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/shell_handler_async.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/shell_handler_async.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/subsystems/sftp/mod.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/subsystems/sftp/mod.rs:14:31 [INFO] [stdout] | [INFO] [stdout] 14 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/proxy/mod.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `endpoint` [INFO] [stdout] --> src/crypto/qrng_integration.rs:61:37 [INFO] [stdout] | [INFO] [stdout] 61 | async fn fetch_from_qrng(&self, endpoint: &str, num_bytes: usize) -> Result, String> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_endpoint` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_bytes` [INFO] [stdout] --> src/crypto/qrng_integration.rs:61:53 [INFO] [stdout] | [INFO] [stdout] 61 | async fn fetch_from_qrng(&self, endpoint: &str, num_bytes: usize) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_bytes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qkd_key` [INFO] [stdout] --> src/handshake.rs:250:14 [INFO] [stdout] | [INFO] [stdout] 250 | let (qkd_key, qkd_proof): (Option>, Option>) = (None, None); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_qkd_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/handshake.rs:438:13 [INFO] [stdout] | [INFO] [stdout] 438 | let mut password_manager = crate::auth::system_password_auth(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rekey` [INFO] [stdout] --> src/server.rs:196:24 [INFO] [stdout] | [INFO] [stdout] 196 | Message::Rekey(rekey) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_rekey` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/shell_handler.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | let mut process = cmd.spawn() [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: unused variable: `byte_order` [INFO] [stdout] --> src/x11/mod.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | let byte_order = auth_buffer[0]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_byte_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `protocol_major` [INFO] [stdout] --> src/x11/mod.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | let protocol_major = u16::from_be_bytes([auth_buffer[2], auth_buffer[3]]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_protocol_major` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `protocol_minor` [INFO] [stdout] --> src/x11/mod.rs:180:9 [INFO] [stdout] | [INFO] [stdout] 180 | let protocol_minor = u16::from_be_bytes([auth_buffer[4], auth_buffer[5]]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_protocol_minor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pty.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | let mut async_fd = match tokio::io::unix::AsyncFd::new(self.fd) { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pty.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 218 | let mut async_fd = match tokio::io::unix::AsyncFd::new(self.fd) { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:132:13 [INFO] [stdout] | [INFO] [stdout] 132 | let mut key_data; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `announce_task` [INFO] [stdout] --> src/p2p/discovery.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let announce_task = { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_announce_task` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `socket` [INFO] [stdout] --> src/p2p/nat.rs:148:37 [INFO] [stdout] | [INFO] [stdout] 148 | async fn detect_nat_type(&self, socket: &UdpSocket) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slave_stdio` [INFO] [stdout] --> src/shell_handler.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | let slave_stdio = unsafe { Stdio::from_raw_fd(slave_fd) }; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slave_stdio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/port_forward.rs:230:24 [INFO] [stdout] | [INFO] [stdout] 230 | let (tx_to_remote, mut rx_to_remote) = mpsc::channel::>(256); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx_to_remote` [INFO] [stdout] --> src/port_forward.rs:230:10 [INFO] [stdout] | [INFO] [stdout] 230 | let (tx_to_remote, mut rx_to_remote) = mpsc::channel::>(256); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_to_remote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx_to_remote` [INFO] [stdout] --> src/port_forward.rs:230:24 [INFO] [stdout] | [INFO] [stdout] 230 | let (tx_to_remote, mut rx_to_remote) = mpsc::channel::>(256); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rx_to_remote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx_from_remote` [INFO] [stdout] --> src/port_forward.rs:231:10 [INFO] [stdout] | [INFO] [stdout] 231 | let (tx_from_remote, mut rx_from_remote) = mpsc::channel::>(256); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_from_remote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `length` [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | let length = cursor.read_u32::()? as usize; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `extensions` [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:332:45 [INFO] [stdout] | [INFO] [stdout] 332 | SftpMessage::Version { version, extensions } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `extensions: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transport` [INFO] [stdout] --> src/multiplex/mod.rs:240:5 [INFO] [stdout] | [INFO] [stdout] 240 | transport: &Arc, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transport` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command` [INFO] [stdout] --> src/multiplex/mod.rs:241:5 [INFO] [stdout] | [INFO] [stdout] 241 | command: Option, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/multiplex/mod.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | env: HashMap, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/session.rs:443:31 [INFO] [stdout] | [INFO] [stdout] 443 | fn encrypt_state(data: &[u8], key: &[u8], nonce: &[u8]) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nonce` [INFO] [stdout] --> src/session.rs:443:43 [INFO] [stdout] | [INFO] [stdout] 443 | fn encrypt_state(data: &[u8], key: &[u8], nonce: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_nonce` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_bytes` found for struct `pqcrypto_sphincsplus::sphincsharaka128fsimple::PublicKey` in the current scope [INFO] [stdout] --> src/crypto/test_helpers.rs:24:46 [INFO] [stdout] | [INFO] [stdout] 24 | let sphincs_pk = sphincs::PublicKey::from_bytes(&sphincs_pk_bytes) [INFO] [stdout] | ^^^^^^^^^^ function or associated item not found in `pqcrypto_sphincsplus::sphincsharaka128fsimple::PublicKey` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: there is a method `as_bytes` with a similar name, but with different arguments [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pqcrypto-traits-0.3.5/src/sign.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | fn as_bytes(&self) -> &[u8]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: trait `PublicKey` which provides `from_bytes` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 5 + use pqcrypto_traits::sign::PublicKey; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_bytes` found for struct `pqcrypto_sphincsplus::sphincsharaka128fsimple::SecretKey` in the current scope [INFO] [stdout] --> src/crypto/test_helpers.rs:26:46 [INFO] [stdout] | [INFO] [stdout] 26 | let sphincs_sk = sphincs::SecretKey::from_bytes(&sphincs_sk_bytes) [INFO] [stdout] | ^^^^^^^^^^ function or associated item not found in `pqcrypto_sphincsplus::sphincsharaka128fsimple::SecretKey` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: there is a method `as_bytes` with a similar name, but with different arguments [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pqcrypto-traits-0.3.5/src/sign.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | fn as_bytes(&self) -> &[u8]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: trait `SecretKey` which provides `from_bytes` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 5 + use pqcrypto_traits::sign::SecretKey; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_bytes` found for struct `pqcrypto_falcon::falcon512::PublicKey` in the current scope [INFO] [stdout] --> src/crypto/test_helpers.rs:29:47 [INFO] [stdout] | [INFO] [stdout] 29 | let falcon_pk = falcon512::PublicKey::from_bytes(&falcon_pk_bytes) [INFO] [stdout] | ^^^^^^^^^^ function or associated item not found in `pqcrypto_falcon::falcon512::PublicKey` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: there is a method `as_bytes` with a similar name, but with different arguments [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pqcrypto-traits-0.3.5/src/sign.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | fn as_bytes(&self) -> &[u8]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: trait `PublicKey` which provides `from_bytes` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 5 + use pqcrypto_traits::sign::PublicKey; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token` [INFO] [stdout] --> src/gssapi.rs:349:42 [INFO] [stdout] | [INFO] [stdout] 349 | fn process_ntlm_challenge(&mut self, token: &[u8]) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_bytes` found for struct `pqcrypto_falcon::falcon512::SecretKey` in the current scope [INFO] [stdout] --> src/crypto/test_helpers.rs:31:47 [INFO] [stdout] | [INFO] [stdout] 31 | let falcon_sk = falcon512::SecretKey::from_bytes(&falcon_sk_bytes) [INFO] [stdout] | ^^^^^^^^^^ function or associated item not found in `pqcrypto_falcon::falcon512::SecretKey` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: there is a method `as_bytes` with a similar name, but with different arguments [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pqcrypto-traits-0.3.5/src/sign.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | fn as_bytes(&self) -> &[u8]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: trait `SecretKey` which provides `from_bytes` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 5 + use pqcrypto_traits::sign::SecretKey; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `entropy_cache` is never read [INFO] [stdout] --> src/crypto/qrng_integration.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct QuantumRng { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | entropy_cache: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `channel_id` is never read [INFO] [stdout] --> src/transport/channel.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 136 | pub struct PortForward { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 140 | channel_id: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `host_key` is never read [INFO] [stdout] --> src/handshake.rs:430:5 [INFO] [stdout] | [INFO] [stdout] 428 | pub struct ServerHandshake { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 429 | stream: TcpStream, [INFO] [stdout] 430 | host_key: PqKeyExchange, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `start_transport_handler` is never used [INFO] [stdout] --> src/client.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl QsshClient { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 223 | fn start_transport_handler(&self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_message` is never used [INFO] [stdout] --> src/client.rs:484:10 [INFO] [stdout] | [INFO] [stdout] 484 | async fn handle_message(msg: Message, channel_manager: &ChannelManager) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `username` and `transport` are never read [INFO] [stdout] --> src/server.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 96 | struct ClientConnection { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 97 | username: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 98 | transport: Transport, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `channel_type` are never read [INFO] [stdout] --> src/server.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 103 | struct Channel { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 104 | id: u32, [INFO] [stdout] | ^^ [INFO] [stdout] 105 | channel_type: ChannelType, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `key_type` is never read [INFO] [stdout] --> src/vault/mod.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 33 | struct ProtectedKey { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 37 | key_type: KeyType, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ProtectedKey` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root_seed` is never read [INFO] [stdout] --> src/vault/mod.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 54 | struct LamportKeyChain { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | root_seed: [u8; 32], [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/vault/lamport.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 142 | pub struct LamportMerkleTree { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 148 | root: [u8; 32], [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_LSTAT` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:47:7 [INFO] [stdout] | [INFO] [stdout] 47 | const SSH_FXP_LSTAT: u8 = 7; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_FSTAT` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | const SSH_FXP_FSTAT: u8 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_SETSTAT` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const SSH_FXP_SETSTAT: u8 = 9; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_FSETSTAT` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const SSH_FXP_FSETSTAT: u8 = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_REMOVE` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | const SSH_FXP_REMOVE: u8 = 13; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_MKDIR` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const SSH_FXP_MKDIR: u8 = 14; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_RMDIR` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:55:7 [INFO] [stdout] | [INFO] [stdout] 55 | const SSH_FXP_RMDIR: u8 = 15; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_RENAME` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:58:7 [INFO] [stdout] | [INFO] [stdout] 58 | const SSH_FXP_RENAME: u8 = 18; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_READLINK` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:59:7 [INFO] [stdout] | [INFO] [stdout] 59 | const SSH_FXP_READLINK: u8 = 19; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SSH_FXP_SYMLINK` is never used [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:60:7 [INFO] [stdout] | [INFO] [stdout] 60 | const SSH_FXP_SYMLINK: u8 = 20; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `channel_id` are never read [INFO] [stdout] --> src/multiplex/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 29 | struct SessionHandle { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 30 | id: u32, [INFO] [stdout] | ^^ [INFO] [stdout] 31 | channel_id: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stdin` and `stdout` are never read [INFO] [stdout] --> src/proxy/mod.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 226 | struct ProcessStream { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 227 | stdin: tokio::process::ChildStdin, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 228 | stdout: tokio::process::ChildStdout, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `strict_checking` is never read [INFO] [stdout] --> src/known_hosts.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct KnownHosts { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | strict_checking: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `service_name` and `mic_token` are never read [INFO] [stdout] --> src/gssapi.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct GssapiContext { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 53 | service_name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | mic_token: Option>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Error` is never constructed [INFO] [stdout] --> src/gssapi.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 68 | enum ContextState { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 78 | Error(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ContextState` 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 `pvno`, `msg_type`, `ap_options`, `ticket`, and `authenticator` are never read [INFO] [stdout] --> src/gssapi.rs:559:5 [INFO] [stdout] | [INFO] [stdout] 558 | struct KerberosApReq { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 559 | pvno: u8, [INFO] [stdout] | ^^^^ [INFO] [stdout] 560 | msg_type: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 561 | ap_options: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 562 | ticket: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 563 | authenticator: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pvno`, `msg_type`, and `enc_part` are never read [INFO] [stdout] --> src/gssapi.rs:567:5 [INFO] [stdout] | [INFO] [stdout] 566 | struct KerberosApRep { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 567 | pvno: u8, [INFO] [stdout] | ^^^^ [INFO] [stdout] 568 | msg_type: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 569 | enc_part: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `signature`, `message_type`, `flags`, `domain`, and `workstation` are never read [INFO] [stdout] --> src/gssapi.rs:573:5 [INFO] [stdout] | [INFO] [stdout] 572 | struct NtlmType1Message { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 573 | signature: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 574 | message_type: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 575 | flags: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 576 | domain: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 577 | workstation: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/gssapi.rs:581:5 [INFO] [stdout] | [INFO] [stdout] 580 | struct NtlmType3Message { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 581 | signature: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 582 | message_type: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 583 | lm_response: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 584 | ntlm_response: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 585 | domain: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 586 | username: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 587 | workstation: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 588 | session_key: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mech_types`, `req_flags`, `mech_token`, and `mech_list_mic` are never read [INFO] [stdout] --> src/gssapi.rs:592:5 [INFO] [stdout] | [INFO] [stdout] 591 | struct SpnegoNegTokenInit { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 592 | mech_types: Vec>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 593 | req_flags: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 594 | mech_token: Option>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 595 | mech_list_mic: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PublicKey` [INFO] [stdout] --> src/crypto/mod.rs:125:37 [INFO] [stdout] | [INFO] [stdout] 125 | use pqcrypto_traits::sign::{PublicKey as PubKey, DetachedSignature}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/client.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/client.rs:11:31 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/shell_handler_async.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/shell_handler_async.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/subsystems/sftp/mod.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncWriteExt` [INFO] [stdout] --> src/subsystems/sftp/mod.rs:14:31 [INFO] [stdout] | [INFO] [stdout] 14 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsyncReadExt` [INFO] [stdout] --> src/proxy/mod.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `endpoint` [INFO] [stdout] --> src/crypto/qrng_integration.rs:61:37 [INFO] [stdout] | [INFO] [stdout] 61 | async fn fetch_from_qrng(&self, endpoint: &str, num_bytes: usize) -> Result, String> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_endpoint` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_bytes` [INFO] [stdout] --> src/crypto/qrng_integration.rs:61:53 [INFO] [stdout] | [INFO] [stdout] 61 | async fn fetch_from_qrng(&self, endpoint: &str, num_bytes: usize) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_bytes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qkd_key` [INFO] [stdout] --> src/handshake.rs:250:14 [INFO] [stdout] | [INFO] [stdout] 250 | let (qkd_key, qkd_proof): (Option>, Option>) = (None, None); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_qkd_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/handshake.rs:438:13 [INFO] [stdout] | [INFO] [stdout] 438 | let mut password_manager = crate::auth::system_password_auth(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rekey` [INFO] [stdout] --> src/server.rs:196:24 [INFO] [stdout] | [INFO] [stdout] 196 | Message::Rekey(rekey) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_rekey` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `byte_order` [INFO] [stdout] --> src/x11/mod.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | let byte_order = auth_buffer[0]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_byte_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `protocol_major` [INFO] [stdout] --> src/x11/mod.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | let protocol_major = u16::from_be_bytes([auth_buffer[2], auth_buffer[3]]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_protocol_major` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `protocol_minor` [INFO] [stdout] --> src/x11/mod.rs:180:9 [INFO] [stdout] | [INFO] [stdout] 180 | let protocol_minor = u16::from_be_bytes([auth_buffer[4], auth_buffer[5]]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_protocol_minor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pty.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | let mut async_fd = match tokio::io::unix::AsyncFd::new(self.fd) { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pty.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 218 | let mut async_fd = match tokio::io::unix::AsyncFd::new(self.fd) { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:132:13 [INFO] [stdout] | [INFO] [stdout] 132 | let mut key_data; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `announce_task` [INFO] [stdout] --> src/p2p/discovery.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let announce_task = { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_announce_task` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `socket` [INFO] [stdout] --> src/p2p/nat.rs:148:37 [INFO] [stdout] | [INFO] [stdout] 148 | async fn detect_nat_type(&self, socket: &UdpSocket) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slave_stdio` [INFO] [stdout] --> src/shell_handler.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | let slave_stdio = unsafe { Stdio::from_raw_fd(slave_fd) }; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slave_stdio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx_to_remote` [INFO] [stdout] --> src/port_forward.rs:230:10 [INFO] [stdout] | [INFO] [stdout] 230 | let (tx_to_remote, mut rx_to_remote) = mpsc::channel::>(256); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_to_remote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx_to_remote` [INFO] [stdout] --> src/port_forward.rs:230:24 [INFO] [stdout] | [INFO] [stdout] 230 | let (tx_to_remote, mut rx_to_remote) = mpsc::channel::>(256); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rx_to_remote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx_from_remote` [INFO] [stdout] --> src/port_forward.rs:231:10 [INFO] [stdout] | [INFO] [stdout] 231 | let (tx_from_remote, mut rx_from_remote) = mpsc::channel::>(256); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_from_remote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `length` [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | let length = cursor.read_u32::()? as usize; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `extensions` [INFO] [stdout] --> src/subsystems/sftp/protocol.rs:332:45 [INFO] [stdout] | [INFO] [stdout] 332 | SftpMessage::Version { version, extensions } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `extensions: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transport` [INFO] [stdout] --> src/multiplex/mod.rs:240:5 [INFO] [stdout] | [INFO] [stdout] 240 | transport: &Arc, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transport` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command` [INFO] [stdout] --> src/multiplex/mod.rs:241:5 [INFO] [stdout] | [INFO] [stdout] 241 | command: Option, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/multiplex/mod.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | env: HashMap, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/session.rs:443:31 [INFO] [stdout] | [INFO] [stdout] 443 | fn encrypt_state(data: &[u8], key: &[u8], nonce: &[u8]) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nonce` [INFO] [stdout] --> src/session.rs:443:43 [INFO] [stdout] | [INFO] [stdout] 443 | fn encrypt_state(data: &[u8], key: &[u8], nonce: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_nonce` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token` [INFO] [stdout] --> src/gssapi.rs:349:42 [INFO] [stdout] | [INFO] [stdout] 349 | fn process_ntlm_challenge(&mut self, token: &[u8]) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gssapi.rs:651:13 [INFO] [stdout] | [INFO] [stdout] 651 | let mut client = GssapiContext::new_client("host/server.example.com".to_string(), GssapiMechanism::Kerberos5); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0599`. [INFO] [stdout] [INFO] [stderr] error: could not compile `qssh` (lib test) due to 4 previous errors; 67 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "12880f533914bcb07f80fdc5688bf2dd3e0dd1df381e3259f722453ee596a779", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "12880f533914bcb07f80fdc5688bf2dd3e0dd1df381e3259f722453ee596a779", kill_on_drop: false }` [INFO] [stdout] 12880f533914bcb07f80fdc5688bf2dd3e0dd1df381e3259f722453ee596a779