[INFO] cloning repository https://github.com/redox-os/redox-ssh [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/redox-os/redox-ssh" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fredox-os%2Fredox-ssh", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fredox-os%2Fredox-ssh'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8cf8b6073ff9aeb9a6c82b7b3a1427fbaa7c2fbc [INFO] checking redox-os/redox-ssh against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fredox-os%2Fredox-ssh" "/workspace/builds/worker-3/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/redox-os/redox-ssh on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/redox-os/redox-ssh [INFO] finished tweaking git repo https://github.com/redox-os/redox-ssh [INFO] tweaked toml for git repo https://github.com/redox-os/redox-ssh written to /workspace/builds/worker-3/source/Cargo.toml [INFO] crate git repo https://github.com/redox-os/redox-ssh already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating git repository `https://github.com/rust-num/num` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d9895587fda470b8756e5665d1b2eae9497f9f01fd7860c377fd93f49a6695e9 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "d9895587fda470b8756e5665d1b2eae9497f9f01fd7860c377fd93f49a6695e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d9895587fda470b8756e5665d1b2eae9497f9f01fd7860c377fd93f49a6695e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d9895587fda470b8756e5665d1b2eae9497f9f01fd7860c377fd93f49a6695e9", kill_on_drop: false }` [INFO] [stdout] d9895587fda470b8756e5665d1b2eae9497f9f01fd7860c377fd93f49a6695e9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9d44d7d01ff4fc91adc20cb69030265f747ff33736f0f561619574b94a24fd2d [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "9d44d7d01ff4fc91adc20cb69030265f747ff33736f0f561619574b94a24fd2d", kill_on_drop: false }` [INFO] [stderr] Checking libc v0.2.26 [INFO] [stderr] Checking num-traits v0.1.39 (https://github.com/rust-num/num#d159ed63) [INFO] [stderr] Compiling rust-crypto v0.2.36 [INFO] [stderr] Checking rand v0.3.15 [INFO] [stderr] Checking time v0.1.38 [INFO] [stderr] Checking num-integer v0.1.34 (https://github.com/rust-num/num#d159ed63) [INFO] [stderr] Checking num-bigint v0.1.39 (https://github.com/rust-num/num#d159ed63) [INFO] [stderr] Checking redox-ssh v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/error.rs:20:53 [INFO] [stdout] | [INFO] [stdout] 20 | write!(f, "connection error: {}", (self as &Error).description()) [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/algorithm.rs:60:42 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn instance(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn KeyExchange` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/message.rs:47:15 [INFO] [stdout] | [INFO] [stdout] 47 | 30...49 => KeyExchange(id), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/message.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | 60...79 => UserAuth(id), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:38:30 [INFO] [stdout] | [INFO] [stdout] 38 | key_exchange: Option>, [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn KeyExchange` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:40:29 [INFO] [stdout] | [INFO] [stdout] 40 | encryption: Option<(Box, Box)>, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Encryption` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:40:46 [INFO] [stdout] | [INFO] [stdout] 40 | encryption: Option<(Box, Box)>, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Encryption` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:41:22 [INFO] [stdout] | [INFO] [stdout] 41 | mac: Option<(Box, Box)>, [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn MacAlgorithm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:41:41 [INFO] [stdout] | [INFO] [stdout] 41 | mac: Option<(Box, Box)>, [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn MacAlgorithm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:87:41 [INFO] [stdout] | [INFO] [stdout] 87 | fn recv(&mut self, mut stream: &mut Read) -> Result { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:116:41 [INFO] [stdout] | [INFO] [stdout] 116 | fn send(&mut self, mut stream: &mut Write, packet: Packet) [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:144:40 [INFO] [stdout] | [INFO] [stdout] 144 | fn send_id(&mut self, stream: &mut Write) -> io::Result<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:157:40 [INFO] [stdout] | [INFO] [stdout] 157 | fn read_id(&mut self, stream: &mut Read) -> io::Result<()> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `rand` is imported redundantly [INFO] [stdout] --> src/connection.rs:406:20 [INFO] [stdout] | [INFO] [stdout] 406 | use rand::{self, Rng}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | extern crate rand; [INFO] [stdout] | ------------------ the item `rand` is already imported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/encryption/aes_ctr.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | cipher: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SynchronousStreamCipher + 'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/encryption/mod.rs:13:25 [INFO] [stdout] | [INFO] [stdout] 13 | encryption: &'a mut Encryption, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Encryption` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/encryption/mod.rs:14:21 [INFO] [stdout] | [INFO] [stdout] 14 | stream: &'a mut Read, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/encryption/mod.rs:18:36 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(encryption: &'a mut Encryption, stream: &'a mut Read) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Encryption` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/encryption/mod.rs:18:64 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(encryption: &'a mut Encryption, stream: &'a mut Read) [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/ed25519.rs:21:40 [INFO] [stdout] | [INFO] [stdout] 21 | fn generate(_: Option) -> Box { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/ed25519.rs:33:27 [INFO] [stdout] | [INFO] [stdout] 33 | fn import(mut r: &mut Read) -> io::Result> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/ed25519.rs:33:51 [INFO] [stdout] | [INFO] [stdout] 33 | fn import(mut r: &mut Read) -> io::Result> { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/ed25519.rs:60:32 [INFO] [stdout] | [INFO] [stdout] 60 | fn read_public(mut r: &mut Read) -> io::Result> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/ed25519.rs:60:56 [INFO] [stdout] | [INFO] [stdout] 60 | fn read_public(mut r: &mut Read) -> io::Result> { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/ed25519.rs:115:36 [INFO] [stdout] | [INFO] [stdout] 115 | fn write_public(&self, w: &mut Write) -> io::Result<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/ed25519.rs:121:30 [INFO] [stdout] | [INFO] [stdout] 121 | fn export(&self, w: &mut Write) -> io::Result<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/mod.rs:18:36 [INFO] [stdout] | [INFO] [stdout] 18 | fn write_public(&self, w: &mut Write) -> io::Result<()>; [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/mod.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | fn export(&self, w: &mut Write) -> io::Result<()>; [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/mod.rs:24:57 [INFO] [stdout] | [INFO] [stdout] 24 | pub generate_key_pair: fn(bits: Option) -> Box, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/mod.rs:25:28 [INFO] [stdout] | [INFO] [stdout] 25 | pub import: fn(r: &mut Read) -> io::Result>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/mod.rs:25:52 [INFO] [stdout] | [INFO] [stdout] 25 | pub import: fn(r: &mut Read) -> io::Result>, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/mod.rs:26:33 [INFO] [stdout] | [INFO] [stdout] 26 | pub read_public: fn(r: &mut Read) -> io::Result>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/mod.rs:26:57 [INFO] [stdout] | [INFO] [stdout] 26 | pub read_public: fn(r: &mut Read) -> io::Result>, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 12 | pub key: Box, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `libc` is imported redundantly [INFO] [stdout] --> src/sys/unix.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | use libc; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | extern crate libc; [INFO] [stdout] | ------------------ the item `libc` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `libc` is imported redundantly [INFO] [stdout] --> src/sys/unix.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | use libc; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | extern crate libc; [INFO] [stdout] | ------------------ the item `libc` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `libc` is imported redundantly [INFO] [stdout] --> src/sys/unix.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | use libc; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | extern crate libc; [INFO] [stdout] | ------------------ the item `libc` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `libc` is imported redundantly [INFO] [stdout] --> src/sys/unix.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | use libc; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | extern crate libc; [INFO] [stdout] | ------------------ the item `libc` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:20:60 [INFO] [stdout] | [INFO] [stdout] 20 | write!(f, "connection error: {}", (self as &Error).description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/error.rs:20:53 [INFO] [stdout] | [INFO] [stdout] 20 | write!(f, "connection error: {}", (self as &Error).description()) [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/algorithm.rs:60:42 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn instance(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn KeyExchange` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/message.rs:47:15 [INFO] [stdout] | [INFO] [stdout] 47 | 30...49 => KeyExchange(id), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/message.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | 60...79 => UserAuth(id), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:38:30 [INFO] [stdout] | [INFO] [stdout] 38 | key_exchange: Option>, [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn KeyExchange` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:40:29 [INFO] [stdout] | [INFO] [stdout] 40 | encryption: Option<(Box, Box)>, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Encryption` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:40:46 [INFO] [stdout] | [INFO] [stdout] 40 | encryption: Option<(Box, Box)>, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Encryption` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:41:22 [INFO] [stdout] | [INFO] [stdout] 41 | mac: Option<(Box, Box)>, [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn MacAlgorithm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:41:41 [INFO] [stdout] | [INFO] [stdout] 41 | mac: Option<(Box, Box)>, [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn MacAlgorithm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:87:41 [INFO] [stdout] | [INFO] [stdout] 87 | fn recv(&mut self, mut stream: &mut Read) -> Result { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:116:41 [INFO] [stdout] | [INFO] [stdout] 116 | fn send(&mut self, mut stream: &mut Write, packet: Packet) [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:144:40 [INFO] [stdout] | [INFO] [stdout] 144 | fn send_id(&mut self, stream: &mut Write) -> io::Result<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/connection.rs:157:40 [INFO] [stdout] | [INFO] [stdout] 157 | fn read_id(&mut self, stream: &mut Read) -> io::Result<()> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `rand` is imported redundantly [INFO] [stdout] --> src/connection.rs:406:20 [INFO] [stdout] | [INFO] [stdout] 406 | use rand::{self, Rng}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | extern crate rand; [INFO] [stdout] | ------------------ the item `rand` is already imported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/encryption/aes_ctr.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | cipher: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SynchronousStreamCipher + 'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/encryption/mod.rs:13:25 [INFO] [stdout] | [INFO] [stdout] 13 | encryption: &'a mut Encryption, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Encryption` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/encryption/mod.rs:14:21 [INFO] [stdout] | [INFO] [stdout] 14 | stream: &'a mut Read, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/encryption/mod.rs:18:36 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(encryption: &'a mut Encryption, stream: &'a mut Read) [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Encryption` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/encryption/mod.rs:18:64 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(encryption: &'a mut Encryption, stream: &'a mut Read) [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/ed25519.rs:21:40 [INFO] [stdout] | [INFO] [stdout] 21 | fn generate(_: Option) -> Box { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/ed25519.rs:33:27 [INFO] [stdout] | [INFO] [stdout] 33 | fn import(mut r: &mut Read) -> io::Result> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/ed25519.rs:33:51 [INFO] [stdout] | [INFO] [stdout] 33 | fn import(mut r: &mut Read) -> io::Result> { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/ed25519.rs:60:32 [INFO] [stdout] | [INFO] [stdout] 60 | fn read_public(mut r: &mut Read) -> io::Result> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/ed25519.rs:60:56 [INFO] [stdout] | [INFO] [stdout] 60 | fn read_public(mut r: &mut Read) -> io::Result> { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/ed25519.rs:115:36 [INFO] [stdout] | [INFO] [stdout] 115 | fn write_public(&self, w: &mut Write) -> io::Result<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/ed25519.rs:121:30 [INFO] [stdout] | [INFO] [stdout] 121 | fn export(&self, w: &mut Write) -> io::Result<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/mod.rs:18:36 [INFO] [stdout] | [INFO] [stdout] 18 | fn write_public(&self, w: &mut Write) -> io::Result<()>; [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/mod.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | fn export(&self, w: &mut Write) -> io::Result<()>; [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/mod.rs:24:57 [INFO] [stdout] | [INFO] [stdout] 24 | pub generate_key_pair: fn(bits: Option) -> Box, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/mod.rs:25:28 [INFO] [stdout] | [INFO] [stdout] 25 | pub import: fn(r: &mut Read) -> io::Result>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/mod.rs:25:52 [INFO] [stdout] | [INFO] [stdout] 25 | pub import: fn(r: &mut Read) -> io::Result>, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/mod.rs:26:33 [INFO] [stdout] | [INFO] [stdout] 26 | pub read_public: fn(r: &mut Read) -> io::Result>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/public_key/mod.rs:26:57 [INFO] [stdout] | [INFO] [stdout] 26 | pub read_public: fn(r: &mut Read) -> io::Result>, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 12 | pub key: Box, [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `libc` is imported redundantly [INFO] [stdout] --> src/sys/unix.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | use libc; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | extern crate libc; [INFO] [stdout] | ------------------ the item `libc` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `libc` is imported redundantly [INFO] [stdout] --> src/sys/unix.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | use libc; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | extern crate libc; [INFO] [stdout] | ------------------ the item `libc` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `libc` is imported redundantly [INFO] [stdout] --> src/sys/unix.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | use libc; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | extern crate libc; [INFO] [stdout] | ------------------ the item `libc` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `libc` is imported redundantly [INFO] [stdout] --> src/sys/unix.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | use libc; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | extern crate libc; [INFO] [stdout] | ------------------ the item `libc` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::os::unix::process::CommandExt::before_exec`: should be unsafe, use `pre_exec` instead [INFO] [stdout] --> src/channel.rs:146:26 [INFO] [stdout] | [INFO] [stdout] 146 | .before_exec(|| sys::before_exec()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/server.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 28 | / loop { [INFO] [stdout] 29 | | let (mut stream, addr) = listener.accept()?; [INFO] [stdout] 30 | | let config = self.config.clone(); [INFO] [stdout] 31 | | [INFO] [stdout] ... | [INFO] [stdout] 43 | | }); [INFO] [stdout] 44 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 45 | [INFO] [stdout] 46 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/error.rs:20:60 [INFO] [stdout] | [INFO] [stdout] 20 | write!(f, "connection error: {}", (self as &Error).description()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/key_exchange/curve25519.rs:59:21 [INFO] [stdout] | [INFO] [stdout] 59 | _ => return KexResult::Error, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> src/connection.rs:177:43 [INFO] [stdout] | [INFO] [stdout] 177 | fn generate_key(&mut self, id: &[u8], len: usize) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `packet` [INFO] [stdout] --> src/connection.rs:217:28 [INFO] [stdout] | [INFO] [stdout] 217 | fn new_keys(&mut self, packet: Packet) -> Result> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `channel_type` [INFO] [stdout] --> src/connection.rs:287:13 [INFO] [stdout] | [INFO] [stdout] 287 | let channel_type = reader.read_utf8()?; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chan` [INFO] [stdout] --> src/connection.rs:292:35 [INFO] [stdout] | [INFO] [stdout] 292 | let id = if let Some((id, chan)) = self.channels.iter().next_back() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_chan` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enc_algos_c2s` [INFO] [stdout] --> src/connection.rs:376:17 [INFO] [stdout] | [INFO] [stdout] 376 | let enc_algos_c2s = reader.read_enum_list::()?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enc_algos_c2s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mac_algos_c2s` [INFO] [stdout] --> src/connection.rs:379:17 [INFO] [stdout] | [INFO] [stdout] 379 | let mac_algos_c2s = reader.read_enum_list::()?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mac_algos_c2s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comp_algos_c2s` [INFO] [stdout] --> src/connection.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | let comp_algos_c2s = reader [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comp_algos_c2s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/connection.rs:63:44 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn run(&mut self, mut stream: &mut S) -> Result<()> { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/connection.rs:337:17 [INFO] [stdout] | [INFO] [stdout] 337 | let mut channel = self.channels.get_mut(&channel_id).unwrap(); [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/connection.rs:359:13 [INFO] [stdout] | [INFO] [stdout] 359 | let mut channel = self.channels.get_mut(&channel_id).unwrap(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `state` [INFO] [stdout] --> src/connection.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | state: ConnectionState, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Ok` [INFO] [stdout] --> src/key_exchange/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | Ok(Packet), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::os::unix::process::CommandExt::before_exec`: should be unsafe, use `pre_exec` instead [INFO] [stdout] --> src/channel.rs:146:26 [INFO] [stdout] | [INFO] [stdout] 146 | .before_exec(|| sys::before_exec()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 54 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/server.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 28 | / loop { [INFO] [stdout] 29 | | let (mut stream, addr) = listener.accept()?; [INFO] [stdout] 30 | | let config = self.config.clone(); [INFO] [stdout] 31 | | [INFO] [stdout] ... | [INFO] [stdout] 43 | | }); [INFO] [stdout] 44 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 45 | [INFO] [stdout] 46 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/key_exchange/curve25519.rs:59:21 [INFO] [stdout] | [INFO] [stdout] 59 | _ => return KexResult::Error, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> src/connection.rs:177:43 [INFO] [stdout] | [INFO] [stdout] 177 | fn generate_key(&mut self, id: &[u8], len: usize) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `packet` [INFO] [stdout] --> src/connection.rs:217:28 [INFO] [stdout] | [INFO] [stdout] 217 | fn new_keys(&mut self, packet: Packet) -> Result> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `channel_type` [INFO] [stdout] --> src/connection.rs:287:13 [INFO] [stdout] | [INFO] [stdout] 287 | let channel_type = reader.read_utf8()?; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chan` [INFO] [stdout] --> src/connection.rs:292:35 [INFO] [stdout] | [INFO] [stdout] 292 | let id = if let Some((id, chan)) = self.channels.iter().next_back() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_chan` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enc_algos_c2s` [INFO] [stdout] --> src/connection.rs:376:17 [INFO] [stdout] | [INFO] [stdout] 376 | let enc_algos_c2s = reader.read_enum_list::()?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enc_algos_c2s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mac_algos_c2s` [INFO] [stdout] --> src/connection.rs:379:17 [INFO] [stdout] | [INFO] [stdout] 379 | let mac_algos_c2s = reader.read_enum_list::()?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mac_algos_c2s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comp_algos_c2s` [INFO] [stdout] --> src/connection.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | let comp_algos_c2s = reader [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comp_algos_c2s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/connection.rs:63:44 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn run(&mut self, mut stream: &mut S) -> Result<()> { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> tests/public_key.rs:9:37 [INFO] [stdout] | [INFO] [stdout] 9 | fn test_export_import(keypair: &Box) -> Box { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> tests/public_key.rs:9:54 [INFO] [stdout] | [INFO] [stdout] 9 | fn test_export_import(keypair: &Box) -> Box { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn KeyPair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/connection.rs:337:17 [INFO] [stdout] | [INFO] [stdout] 337 | let mut channel = self.channels.get_mut(&channel_id).unwrap(); [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/connection.rs:359:13 [INFO] [stdout] | [INFO] [stdout] 359 | let mut channel = self.channels.get_mut(&channel_id).unwrap(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/ssh-keygen.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | keypair.export(&mut buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/ssh-keygen.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | keypair.export(&mut buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `state` [INFO] [stdout] --> src/connection.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | state: ConnectionState, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Ok` [INFO] [stdout] --> src/key_exchange/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | Ok(Packet), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 54 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 10.49s [INFO] running `Command { std: "docker" "inspect" "9d44d7d01ff4fc91adc20cb69030265f747ff33736f0f561619574b94a24fd2d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9d44d7d01ff4fc91adc20cb69030265f747ff33736f0f561619574b94a24fd2d", kill_on_drop: false }` [INFO] [stdout] 9d44d7d01ff4fc91adc20cb69030265f747ff33736f0f561619574b94a24fd2d