[INFO] cloning repository https://github.com/JordanForks/thrussh [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JordanForks/thrussh" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJordanForks%2Fthrussh", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJordanForks%2Fthrussh'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5b7232db70817c3519d191d1c4440da933f28563 [INFO] checking JordanForks/thrussh against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJordanForks%2Fthrussh" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/JordanForks/thrussh [INFO] finished tweaking git repo https://github.com/JordanForks/thrussh [INFO] tweaked toml for git repo https://github.com/JordanForks/thrussh written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/JordanForks/thrussh on toolchain a5689b034ad287112f709693384a37f1377eb9cc [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/JordanForks/thrussh 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: cryptovec/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] warning: `cryptovec` (manifest) generated 1 warning [INFO] [stderr] warning: `package.homepage` is redundant with `package.repository` [INFO] [stderr] --> thrussh-libsodium/Cargo.toml:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | homepage = "https://nest.pijul.com/pijul/thrussh" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 7 | repository = "https://nest.pijul.com/pijul/thrussh" [INFO] [stderr] | -------------------------------------- [INFO] [stderr] | [INFO] [stderr] = note: `cargo::redundant_homepage` is set to `warn` by default [INFO] [stderr] help: consider removing `package.homepage` [INFO] [stderr] warning: unused build dependency `pkg-config` [INFO] [stderr] --> thrussh-libsodium/Cargo.toml:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | pkg-config = "0.3" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_dependencies` is set to `warn` by default [INFO] [stderr] help: consider removing the dependency on `pkg-config` [INFO] [stderr] warning: unused build dependency `vcpkg` [INFO] [stderr] --> thrussh-libsodium/Cargo.toml:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | vcpkg = "0.2" [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: consider removing the dependency on `vcpkg` [INFO] [stderr] warning: `thrussh-libsodium` (manifest) generated 3 warnings [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 9208b465bc9571a95ae2ac418efd3dab8ce3b5625d2b33d8b8ef30eb3b9ae3eb [INFO] running `Command { std: "docker" "start" "9208b465bc9571a95ae2ac418efd3dab8ce3b5625d2b33d8b8ef30eb3b9ae3eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9208b465bc9571a95ae2ac418efd3dab8ce3b5625d2b33d8b8ef30eb3b9ae3eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9208b465bc9571a95ae2ac418efd3dab8ce3b5625d2b33d8b8ef30eb3b9ae3eb" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9208b465bc9571a95ae2ac418efd3dab8ce3b5625d2b33d8b8ef30eb3b9ae3eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9208b465bc9571a95ae2ac418efd3dab8ce3b5625d2b33d8b8ef30eb3b9ae3eb" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] warning: `package.homepage` is redundant with `package.repository` [INFO] [stderr] --> thrussh-libsodium/Cargo.toml:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | homepage = "https://nest.pijul.com/pijul/thrussh" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 7 | repository = "https://nest.pijul.com/pijul/thrussh" [INFO] [stderr] | -------------------------------------- [INFO] [stderr] | [INFO] [stderr] = note: `cargo::redundant_homepage` is set to `warn` by default [INFO] [stderr] help: consider removing `package.homepage` [INFO] [stderr] warning: unused build dependency `pkg-config` [INFO] [stderr] --> thrussh-libsodium/Cargo.toml:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | pkg-config = "0.3" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_dependencies` is set to `warn` by default [INFO] [stderr] help: consider removing the dependency on `pkg-config` [INFO] [stderr] warning: unused build dependency `vcpkg` [INFO] [stderr] --> thrussh-libsodium/Cargo.toml:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | vcpkg = "0.2" [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: consider removing the dependency on `vcpkg` [INFO] [stderr] warning: `thrussh-libsodium` (manifest) generated 3 warnings [INFO] [stderr] warning: cryptovec/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] warning: `cryptovec` (manifest) generated 1 warning [INFO] [stderr] Compiling libc v0.2.146 [INFO] [stderr] Compiling typenum v1.16.0 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling proc-macro2 v1.0.63 [INFO] [stderr] Compiling quote v1.0.28 [INFO] [stderr] Compiling unicode-ident v1.0.9 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Checking subtle v2.4.1 [INFO] [stderr] Compiling futures-channel v0.3.28 [INFO] [stderr] Checking pin-project-lite v0.2.9 [INFO] [stderr] Compiling futures-task v0.3.28 [INFO] [stderr] Checking futures-sink v0.3.28 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Compiling walkdir v2.3.3 [INFO] [stderr] Compiling cc v1.0.79 [INFO] [stderr] Checking futures-io v0.3.28 [INFO] [stderr] Checking cpufeatures v0.2.8 [INFO] [stderr] Compiling pkg-config v0.3.27 [INFO] [stderr] Compiling winapi v0.3.9 [INFO] [stderr] Checking bytes v1.4.0 [INFO] [stderr] Checking log v0.4.19 [INFO] [stderr] Compiling thiserror v1.0.40 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Compiling serde v1.0.164 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling slab v0.4.8 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling tokio v1.28.2 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling num-bigint v0.4.3 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Checking base64ct v1.6.0 [INFO] [stderr] Checking regex-syntax v0.7.2 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Checking block-padding v0.2.1 [INFO] [stderr] Checking md5 v0.7.0 [INFO] [stderr] Checking data-encoding v2.4.0 [INFO] [stderr] Checking termcolor v1.2.0 [INFO] [stderr] Checking miniz_oxide v0.7.1 [INFO] [stderr] Compiling syn v2.0.22 [INFO] [stderr] Compiling anyhow v1.0.71 [INFO] [stderr] Checking aho-corasick v1.0.2 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Checking whoami v1.4.0 [INFO] [stderr] Compiling libsodium-sys v0.2.7 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking mio v0.8.8 [INFO] [stderr] Checking socket2 v0.4.9 [INFO] [stderr] Checking num_cpus v1.15.0 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking dirs-sys v0.3.7 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking cryptovec v0.6.1 (/opt/rustwide/workdir/cryptovec) [INFO] [stderr] Checking flate2 v1.0.26 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking dirs v3.0.2 [INFO] [stderr] Checking dirs-next v2.0.0 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> cryptovec/src/lib.rs:302:35 [INFO] [stdout] | [INFO] [stdout] 302 | let x: [u8; 4] = unsafe { std::mem::transmute(s) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 302 - let x: [u8; 4] = unsafe { std::mem::transmute(s) }; [INFO] [stdout] 302 + let x: [u8; 4] = unsafe { u32::to_ne_bytes(s) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> cryptovec/src/lib.rs:302:35 [INFO] [stdout] | [INFO] [stdout] 302 | let x: [u8; 4] = unsafe { std::mem::transmute(s) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 302 - let x: [u8; 4] = unsafe { std::mem::transmute(s) }; [INFO] [stdout] 302 + let x: [u8; 4] = unsafe { u32::to_ne_bytes(s) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking password-hash v0.2.3 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking cipher v0.3.0 [INFO] [stderr] Checking inout v0.1.3 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking crypto-mac v0.11.1 [INFO] [stderr] Checking sha2 v0.9.9 [INFO] [stderr] Checking hmac v0.11.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking tempdir v0.3.7 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking ctr v0.8.0 [INFO] [stderr] Checking block-modes v0.8.1 [INFO] [stderr] Checking aes v0.7.5 [INFO] [stderr] Checking pbkdf2 v0.12.1 [INFO] [stderr] Checking sha2 v0.10.7 [INFO] [stderr] Checking blowfish v0.9.1 [INFO] [stderr] Checking pbkdf2 v0.8.0 [INFO] [stderr] Checking bcrypt-pbkdf v0.10.0 [INFO] [stderr] Checking regex v1.8.4 [INFO] [stderr] Checking yasna v0.4.0 [INFO] [stderr] Checking env_logger v0.7.1 [INFO] [stderr] Checking env_logger v0.8.4 [INFO] [stderr] Compiling futures-macro v0.3.28 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Compiling thiserror-impl v1.0.40 [INFO] [stderr] Compiling serde_derive v1.0.164 [INFO] [stderr] Checking tokio-stream v0.1.14 [INFO] [stderr] Checking futures-executor v0.3.28 [INFO] [stderr] Checking futures v0.3.28 [INFO] [stderr] Checking thrussh-config v0.6.0 (/opt/rustwide/workdir/thrussh-config) [INFO] [stderr] Checking thrussh-libsodium v0.2.1 (/opt/rustwide/workdir/thrussh-libsodium) [INFO] [stderr] Checking thrussh-keys v0.22.1 (/opt/rustwide/workdir/thrussh-keys) [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/key.rs:150:32 [INFO] [stdout] | [INFO] [stdout] 150 | return Err(Error::CouldNotReadKey.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 150 - return Err(Error::CouldNotReadKey.into()); [INFO] [stdout] 150 + return Err(Error::CouldNotReadKey); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 150 - return Err(Error::CouldNotReadKey.into()); [INFO] [stdout] 150 + return Err(>::into(Error::CouldNotReadKey)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/key.rs:217:22 [INFO] [stdout] | [INFO] [stdout] 217 | _ => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 217 - _ => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 217 + _ => Err(Error::CouldNotReadKey), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 217 - _ => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 217 + _ => Err(>::into(Error::CouldNotReadKey)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/key.rs:588:9 [INFO] [stdout] | [INFO] [stdout] 588 | Err(Error::CouldNotReadKey.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 588 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 588 + Err(Error::CouldNotReadKey) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 588 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 588 + Err(>::into(Error::CouldNotReadKey)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/signature.rs:88:22 [INFO] [stdout] | [INFO] [stdout] 88 | _ => Err((Error::UnknownSignatureType { [INFO] [stdout] | ______________________^ [INFO] [stdout] 89 | | sig_type: std::str::from_utf8(typ).unwrap_or("").to_string(), [INFO] [stdout] 90 | | }) [INFO] [stdout] 91 | | .into()), [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 90 - }) [INFO] [stdout] 91 - .into()), [INFO] [stdout] 90 + })), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 88 ~ _ => Err(>::into((Error::UnknownSignatureType { [INFO] [stdout] 89 | sig_type: std::str::from_utf8(typ).unwrap_or("").to_string(), [INFO] [stdout] 90 ~ }))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/openssh.rs:94:28 [INFO] [stdout] | [INFO] [stdout] 94 | return Err(Error::UnsupportedKeyType(key_type.to_vec()).into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 94 - return Err(Error::UnsupportedKeyType(key_type.to_vec()).into()); [INFO] [stdout] 94 + return Err(Error::UnsupportedKeyType(key_type.to_vec())); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 94 - return Err(Error::UnsupportedKeyType(key_type.to_vec()).into()); [INFO] [stdout] 94 + return Err(>::into(Error::UnsupportedKeyType(key_type.to_vec()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/openssh.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | Err(Error::CouldNotReadKey.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 97 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 97 + Err(Error::CouldNotReadKey) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 97 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 97 + Err(>::into(Error::CouldNotReadKey)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/openssh.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | Err(Error::CouldNotReadKey.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 99 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 99 + Err(Error::CouldNotReadKey) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 99 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 99 + Err(>::into(Error::CouldNotReadKey)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/openssh.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | Err(Error::CouldNotReadKey.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 119 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 119 + Err(Error::CouldNotReadKey) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 119 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 119 + Err(>::into(Error::CouldNotReadKey)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/openssh.rs:126:29 [INFO] [stdout] | [INFO] [stdout] 126 | _ => return Err(Error::CouldNotReadKey.into()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 126 - _ => return Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 126 + _ => return Err(Error::CouldNotReadKey), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 126 - _ => return Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 126 + _ => return Err(>::into(Error::CouldNotReadKey)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/openssh.rs:136:28 [INFO] [stdout] | [INFO] [stdout] 136 | return Err(Error::CouldNotReadKey.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 136 - return Err(Error::CouldNotReadKey.into()); [INFO] [stdout] 136 + return Err(Error::CouldNotReadKey); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 136 - return Err(Error::CouldNotReadKey.into()); [INFO] [stdout] 136 + return Err(>::into(Error::CouldNotReadKey)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/openssh.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | Err(Error::KeyIsEncrypted.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 170 - Err(Error::KeyIsEncrypted.into()) [INFO] [stdout] 170 + Err(Error::KeyIsEncrypted) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 170 - Err(Error::KeyIsEncrypted.into()) [INFO] [stdout] 170 + Err(>::into(Error::KeyIsEncrypted)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Result` [INFO] [stdout] --> thrussh-keys/src/format/pkcs8.rs:36:28 [INFO] [stdout] | [INFO] [stdout] 36 | Ok(Err(Error::UnknownAlgorithm(oid)).into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 36 - Ok(Err(Error::UnknownAlgorithm(oid)).into()) [INFO] [stdout] 36 + Ok(Err(Error::UnknownAlgorithm(oid))) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 36 - Ok(Err(Error::UnknownAlgorithm(oid)).into()) [INFO] [stdout] 36 + Ok( as Into<_>>::into(Err(Error::UnknownAlgorithm(oid)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/pkcs8.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | Ok(Err(Error::CouldNotReadKey.into())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 55 - Ok(Err(Error::CouldNotReadKey.into())) [INFO] [stdout] 55 + Ok(Err(Error::CouldNotReadKey)) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 55 - Ok(Err(Error::CouldNotReadKey.into())) [INFO] [stdout] 55 + Ok(Err(>::into(Error::CouldNotReadKey))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/pkcs8.rs:157:13 [INFO] [stdout] | [INFO] [stdout] 157 | Err(Error::CouldNotReadKey.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 157 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 157 + Err(Error::CouldNotReadKey) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 157 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 157 + Err(>::into(Error::CouldNotReadKey)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/pkcs8.rs:255:13 [INFO] [stdout] | [INFO] [stdout] 255 | Err(Error::CouldNotReadKey.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 255 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 255 + Err(Error::CouldNotReadKey) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 255 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 255 + Err(>::into(Error::CouldNotReadKey)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/mod.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | None => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 103 - None => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 103 + None => Err(Error::CouldNotReadKey), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 103 - None => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 103 + None => Err(>::into(Error::CouldNotReadKey)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/agent/client.rs:316:28 [INFO] [stdout] | [INFO] [stdout] 316 | (self, Err(Error::AgentFailure.into())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 316 - (self, Err(Error::AgentFailure.into())) [INFO] [stdout] 316 + (self, Err(Error::AgentFailure)) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 316 - (self, Err(Error::AgentFailure.into())) [INFO] [stdout] 316 + (self, Err(>::into(Error::AgentFailure))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/agent/client.rs:419:34 [INFO] [stdout] | [INFO] [stdout] 419 | _ => Err((Error::UnknownSignatureType { [INFO] [stdout] | __________________________________^ [INFO] [stdout] 420 | | sig_type: std::str::from_utf8(typ).unwrap_or("").to_string(), [INFO] [stdout] 421 | | }) [INFO] [stdout] 422 | | .into()), [INFO] [stdout] | |_______________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 421 - }) [INFO] [stdout] 422 - .into()), [INFO] [stdout] 421 + })), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 419 ~ _ => Err(>::into((Error::UnknownSignatureType { [INFO] [stdout] 420 | sig_type: std::str::from_utf8(typ).unwrap_or("").to_string(), [INFO] [stdout] 421 ~ }))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/agent/client.rs:428:28 [INFO] [stdout] | [INFO] [stdout] 428 | (self, Err(Error::AgentProtocolError.into())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 428 - (self, Err(Error::AgentProtocolError.into())) [INFO] [stdout] 428 + (self, Err(Error::AgentProtocolError)) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 428 - (self, Err(Error::AgentProtocolError.into())) [INFO] [stdout] 428 + (self, Err(>::into(Error::AgentProtocolError))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/lib.rs:170:18 [INFO] [stdout] | [INFO] [stdout] 170 | _ => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 170 - _ => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 170 + _ => Err(Error::CouldNotReadKey), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 170 - _ => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 170 + _ => Err(>::into(Error::CouldNotReadKey)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/lib.rs:373:40 [INFO] [stdout] | [INFO] [stdout] 373 | ... return Err((Error::KeyChanged { line }).into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 373 - return Err((Error::KeyChanged { line }).into()); [INFO] [stdout] 373 + return Err((Error::KeyChanged { line })); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 373 - return Err((Error::KeyChanged { line }).into()); [INFO] [stdout] 373 + return Err(>::into((Error::KeyChanged { line }))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/lib.rs:430:13 [INFO] [stdout] | [INFO] [stdout] 430 | Err(Error::NoHomeDir.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 430 - Err(Error::NoHomeDir.into()) [INFO] [stdout] 430 + Err(Error::NoHomeDir) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 430 - Err(Error::NoHomeDir.into()) [INFO] [stdout] 430 + Err(>::into(Error::NoHomeDir)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> thrussh-keys/src/lib.rs:857:17 [INFO] [stdout] | [INFO] [stdout] 853 | key::KeyPair::Ed25519 { .. } => { [INFO] [stdout] | ---------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 857 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `thrussh-keys` (lib) due to 22 previous errors [INFO] [stdout] warning: struct `Incoming` is never constructed [INFO] [stdout] --> thrussh-keys/src/lib.rs:958:12 [INFO] [stdout] | [INFO] [stdout] 958 | struct Incoming<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/key.rs:150:32 [INFO] [stdout] | [INFO] [stdout] 150 | return Err(Error::CouldNotReadKey.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 150 - return Err(Error::CouldNotReadKey.into()); [INFO] [stdout] 150 + return Err(Error::CouldNotReadKey); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 150 - return Err(Error::CouldNotReadKey.into()); [INFO] [stdout] 150 + return Err(>::into(Error::CouldNotReadKey)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/key.rs:217:22 [INFO] [stdout] | [INFO] [stdout] 217 | _ => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 217 - _ => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 217 + _ => Err(Error::CouldNotReadKey), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 217 - _ => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 217 + _ => Err(>::into(Error::CouldNotReadKey)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/key.rs:588:9 [INFO] [stdout] | [INFO] [stdout] 588 | Err(Error::CouldNotReadKey.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 588 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 588 + Err(Error::CouldNotReadKey) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 588 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 588 + Err(>::into(Error::CouldNotReadKey)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/signature.rs:88:22 [INFO] [stdout] | [INFO] [stdout] 88 | _ => Err((Error::UnknownSignatureType { [INFO] [stdout] | ______________________^ [INFO] [stdout] 89 | | sig_type: std::str::from_utf8(typ).unwrap_or("").to_string(), [INFO] [stdout] 90 | | }) [INFO] [stdout] 91 | | .into()), [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 90 - }) [INFO] [stdout] 91 - .into()), [INFO] [stdout] 90 + })), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 88 ~ _ => Err(>::into((Error::UnknownSignatureType { [INFO] [stdout] 89 | sig_type: std::str::from_utf8(typ).unwrap_or("").to_string(), [INFO] [stdout] 90 ~ }))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/openssh.rs:94:28 [INFO] [stdout] | [INFO] [stdout] 94 | return Err(Error::UnsupportedKeyType(key_type.to_vec()).into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 94 - return Err(Error::UnsupportedKeyType(key_type.to_vec()).into()); [INFO] [stdout] 94 + return Err(Error::UnsupportedKeyType(key_type.to_vec())); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 94 - return Err(Error::UnsupportedKeyType(key_type.to_vec()).into()); [INFO] [stdout] 94 + return Err(>::into(Error::UnsupportedKeyType(key_type.to_vec()))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/openssh.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | Err(Error::CouldNotReadKey.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 97 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 97 + Err(Error::CouldNotReadKey) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 97 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 97 + Err(>::into(Error::CouldNotReadKey)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/openssh.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | Err(Error::CouldNotReadKey.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 99 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 99 + Err(Error::CouldNotReadKey) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 99 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 99 + Err(>::into(Error::CouldNotReadKey)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/openssh.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | Err(Error::CouldNotReadKey.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 119 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 119 + Err(Error::CouldNotReadKey) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 119 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 119 + Err(>::into(Error::CouldNotReadKey)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/openssh.rs:126:29 [INFO] [stdout] | [INFO] [stdout] 126 | _ => return Err(Error::CouldNotReadKey.into()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 126 - _ => return Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 126 + _ => return Err(Error::CouldNotReadKey), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 126 - _ => return Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 126 + _ => return Err(>::into(Error::CouldNotReadKey)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/openssh.rs:136:28 [INFO] [stdout] | [INFO] [stdout] 136 | return Err(Error::CouldNotReadKey.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 136 - return Err(Error::CouldNotReadKey.into()); [INFO] [stdout] 136 + return Err(Error::CouldNotReadKey); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 136 - return Err(Error::CouldNotReadKey.into()); [INFO] [stdout] 136 + return Err(>::into(Error::CouldNotReadKey)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/openssh.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | Err(Error::KeyIsEncrypted.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 170 - Err(Error::KeyIsEncrypted.into()) [INFO] [stdout] 170 + Err(Error::KeyIsEncrypted) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 170 - Err(Error::KeyIsEncrypted.into()) [INFO] [stdout] 170 + Err(>::into(Error::KeyIsEncrypted)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Result` [INFO] [stdout] --> thrussh-keys/src/format/pkcs8.rs:36:28 [INFO] [stdout] | [INFO] [stdout] 36 | Ok(Err(Error::UnknownAlgorithm(oid)).into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 36 - Ok(Err(Error::UnknownAlgorithm(oid)).into()) [INFO] [stdout] 36 + Ok(Err(Error::UnknownAlgorithm(oid))) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 36 - Ok(Err(Error::UnknownAlgorithm(oid)).into()) [INFO] [stdout] 36 + Ok( as Into<_>>::into(Err(Error::UnknownAlgorithm(oid)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/pkcs8.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | Ok(Err(Error::CouldNotReadKey.into())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 55 - Ok(Err(Error::CouldNotReadKey.into())) [INFO] [stdout] 55 + Ok(Err(Error::CouldNotReadKey)) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 55 - Ok(Err(Error::CouldNotReadKey.into())) [INFO] [stdout] 55 + Ok(Err(>::into(Error::CouldNotReadKey))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/pkcs8.rs:157:13 [INFO] [stdout] | [INFO] [stdout] 157 | Err(Error::CouldNotReadKey.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 157 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 157 + Err(Error::CouldNotReadKey) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 157 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 157 + Err(>::into(Error::CouldNotReadKey)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/pkcs8.rs:255:13 [INFO] [stdout] | [INFO] [stdout] 255 | Err(Error::CouldNotReadKey.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 255 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 255 + Err(Error::CouldNotReadKey) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 255 - Err(Error::CouldNotReadKey.into()) [INFO] [stdout] 255 + Err(>::into(Error::CouldNotReadKey)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/format/mod.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | None => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 103 - None => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 103 + None => Err(Error::CouldNotReadKey), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 103 - None => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 103 + None => Err(>::into(Error::CouldNotReadKey)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/agent/client.rs:316:28 [INFO] [stdout] | [INFO] [stdout] 316 | (self, Err(Error::AgentFailure.into())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 316 - (self, Err(Error::AgentFailure.into())) [INFO] [stdout] 316 + (self, Err(Error::AgentFailure)) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 316 - (self, Err(Error::AgentFailure.into())) [INFO] [stdout] 316 + (self, Err(>::into(Error::AgentFailure))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/agent/client.rs:419:34 [INFO] [stdout] | [INFO] [stdout] 419 | _ => Err((Error::UnknownSignatureType { [INFO] [stdout] | __________________________________^ [INFO] [stdout] 420 | | sig_type: std::str::from_utf8(typ).unwrap_or("").to_string(), [INFO] [stdout] 421 | | }) [INFO] [stdout] 422 | | .into()), [INFO] [stdout] | |_______________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 421 - }) [INFO] [stdout] 422 - .into()), [INFO] [stdout] 421 + })), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 419 ~ _ => Err(>::into((Error::UnknownSignatureType { [INFO] [stdout] 420 | sig_type: std::str::from_utf8(typ).unwrap_or("").to_string(), [INFO] [stdout] 421 ~ }))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/agent/client.rs:428:28 [INFO] [stdout] | [INFO] [stdout] 428 | (self, Err(Error::AgentProtocolError.into())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 428 - (self, Err(Error::AgentProtocolError.into())) [INFO] [stdout] 428 + (self, Err(Error::AgentProtocolError)) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 428 - (self, Err(Error::AgentProtocolError.into())) [INFO] [stdout] 428 + (self, Err(>::into(Error::AgentProtocolError))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/lib.rs:170:18 [INFO] [stdout] | [INFO] [stdout] 170 | _ => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 170 - _ => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 170 + _ => Err(Error::CouldNotReadKey), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 170 - _ => Err(Error::CouldNotReadKey.into()), [INFO] [stdout] 170 + _ => Err(>::into(Error::CouldNotReadKey)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/lib.rs:373:40 [INFO] [stdout] | [INFO] [stdout] 373 | ... return Err((Error::KeyChanged { line }).into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 373 - return Err((Error::KeyChanged { line }).into()); [INFO] [stdout] 373 + return Err((Error::KeyChanged { line })); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 373 - return Err((Error::KeyChanged { line }).into()); [INFO] [stdout] 373 + return Err(>::into((Error::KeyChanged { line }))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Error` [INFO] [stdout] --> thrussh-keys/src/lib.rs:430:13 [INFO] [stdout] | [INFO] [stdout] 430 | Err(Error::NoHomeDir.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 430 - Err(Error::NoHomeDir.into()) [INFO] [stdout] 430 + Err(Error::NoHomeDir) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 430 - Err(Error::NoHomeDir.into()) [INFO] [stdout] 430 + Err(>::into(Error::NoHomeDir)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `thrussh-keys` (lib test) due to 22 previous errors; 2 warnings emitted [INFO] [stderr] warning: unused dependency `md5` [INFO] [stderr] --> thrussh-keys/Cargo.toml:57:1 [INFO] [stderr] | [INFO] [stderr] 57 | md5 = "0.7" [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_dependencies` is set to `warn` by default [INFO] [stderr] help: consider removing the dependency on `md5` [INFO] [stderr] warning: unused dependency `tokio-stream` [INFO] [stderr] --> thrussh-keys/Cargo.toml:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | tokio-stream = { version = "0.1", features = [ "net" ] } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: consider removing the dependency on `tokio-stream` [INFO] [stderr] warning: `thrussh-keys` (manifest) generated 2 warnings [INFO] running `Command { std: "docker" "inspect" "9208b465bc9571a95ae2ac418efd3dab8ce3b5625d2b33d8b8ef30eb3b9ae3eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9208b465bc9571a95ae2ac418efd3dab8ce3b5625d2b33d8b8ef30eb3b9ae3eb", kill_on_drop: false }` [INFO] [stdout] 9208b465bc9571a95ae2ac418efd3dab8ce3b5625d2b33d8b8ef30eb3b9ae3eb