[INFO] cloning repository https://github.com/kryptco/ssh-wire
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kryptco/ssh-wire" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkryptco%2Fssh-wire", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkryptco%2Fssh-wire'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9f45bda58ba8124b7efd06a6f7b6a8dcfb570a83
[INFO] testing kryptco/ssh-wire against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkryptco%2Fssh-wire" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kryptco/ssh-wire
[INFO] finished tweaking git repo https://github.com/kryptco/ssh-wire
[INFO] tweaked toml for git repo https://github.com/kryptco/ssh-wire written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kryptco/ssh-wire on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kryptco/ssh-wire 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7eea81855c44cae55987114c57d7bed2d6fbdbe6e55c818b8bcf1ab7f689dda6
[INFO] running `Command { std: "docker" "start" "-a" "7eea81855c44cae55987114c57d7bed2d6fbdbe6e55c818b8bcf1ab7f689dda6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7eea81855c44cae55987114c57d7bed2d6fbdbe6e55c818b8bcf1ab7f689dda6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7eea81855c44cae55987114c57d7bed2d6fbdbe6e55c818b8bcf1ab7f689dda6", kill_on_drop: false }`
[INFO] [stdout] 7eea81855c44cae55987114c57d7bed2d6fbdbe6e55c818b8bcf1ab7f689dda6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c254259c0c08aa0f98c43af6a69c0365d1933bc521ec3f7aaffe9540b125f841
[INFO] running `Command { std: "docker" "start" "-a" "c254259c0c08aa0f98c43af6a69c0365d1933bc521ec3f7aaffe9540b125f841", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling libc v0.2.80
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling cc v1.0.61
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling byteorder v1.0.0
[INFO] [stderr]    Compiling once_cell v1.4.1
[INFO] [stderr]    Compiling serde v1.0.2
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling base64 v0.4.0
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling rand v0.3.15
[INFO] [stderr]    Compiling ring v0.17.0-alpha.4
[INFO] [stderr]    Compiling serde_derive_internals v0.15.0
[INFO] [stderr]    Compiling serde_derive v1.0.2
[INFO] [stderr]    Compiling ssh-wire v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ring::signature`
[INFO] [stdout]   --> src/rsa.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         use ring::signature;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/serde_de.rs:42:42
[INFO] [stdout]    |
[INFO] [stdout] 42 |              Io(ref io_err) => StdError::description(io_err),
[INFO] [stdout]    |                                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/serde_de.rs:43:46
[INFO] [stdout]    |
[INFO] [stdout] 43 |              Utf8(ref utf8_err) => StdError::description(utf8_err),
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/serde_de.rs:75:32
[INFO] [stdout]    |
[INFO] [stdout] 75 |           write!(f, "{}", self.description())?;
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `p`, `q`, `g`, and `y` are never read
[INFO] [stdout]  --> src/dss.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct DSSPublicKey {
[INFO] [stdout]   |            ------------ fields in this struct
[INFO] [stdout] 5 |     _type: String,
[INFO] [stdout] 6 |     p: MPUint,
[INFO] [stdout]   |     ^
[INFO] [stdout] 7 |     q: MPUint,
[INFO] [stdout]   |     ^
[INFO] [stdout] 8 |     g: MPUint,
[INFO] [stdout]   |     ^
[INFO] [stdout] 9 |     y: MPUint,
[INFO] [stdout]   |     ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DSSPublicKey` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `r` and `s` are never read
[INFO] [stdout]   --> src/dss.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct DSSSignature {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 14 |     _type: String,
[INFO] [stdout] 15 |     r: [u8; 20],
[INFO] [stdout]    |     ^
[INFO] [stdout] 16 |     s: [u8; 20],
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DSSSignature` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/ecdsa.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Deserialize)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `ECDSAPublicKey` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ECDSAPublicKey`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/ecdsa.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Deserialize)]
[INFO] [stdout]    |          -^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `ECDSASha2Nistp256PublicKey` is not local
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ECDSASha2Nistp256PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/ecdsa.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Deserialize)]
[INFO] [stdout]    |          -^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `ECCurvePoint` is not local
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ECCurvePoint`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/ssh.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[derive(Deserialize)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `PublicKeyHeader` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PublicKeyHeader`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/ssh.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Deserialize)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Signature` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Signature`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/ed25519.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[derive(Deserialize)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Ed25519PublicKey` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Ed25519PublicKey`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/ed25519.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Deserialize)]
[INFO] [stdout]    |          -^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Ed25519Signature` is not local
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Ed25519Signature`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/rsa.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Deserialize, Debug)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `RSAPublicKey` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RSAPublicKey`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/rsa.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Deserialize, Debug)]
[INFO] [stdout]    |          -^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `RSASignature` is not local
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RSASignature`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/dss.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Deserialize, Debug)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `DSSPublicKey` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DSSPublicKey`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dss.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Deserialize, Debug)]
[INFO] [stdout]    |          -^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `DSSSignature` is not local
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DSSSignature`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.85s
[INFO] running `Command { std: "docker" "inspect" "c254259c0c08aa0f98c43af6a69c0365d1933bc521ec3f7aaffe9540b125f841", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c254259c0c08aa0f98c43af6a69c0365d1933bc521ec3f7aaffe9540b125f841", kill_on_drop: false }`
[INFO] [stdout] c254259c0c08aa0f98c43af6a69c0365d1933bc521ec3f7aaffe9540b125f841
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ec6def884f45d474c03447074184136aeddbc4a07eb6f436b7eddf2572d4fd0e
[INFO] running `Command { std: "docker" "start" "-a" "ec6def884f45d474c03447074184136aeddbc4a07eb6f436b7eddf2572d4fd0e", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stdout] warning: unused import: `ring::signature`
[INFO] [stdout]   --> src/rsa.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         use ring::signature;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/serde_de.rs:42:42
[INFO] [stdout]    |
[INFO] [stdout] 42 |              Io(ref io_err) => StdError::description(io_err),
[INFO] [stdout]    |                                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/serde_de.rs:43:46
[INFO] [stdout]    |
[INFO] [stdout] 43 |              Utf8(ref utf8_err) => StdError::description(utf8_err),
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/serde_de.rs:75:32
[INFO] [stdout]    |
[INFO] [stdout] 75 |           write!(f, "{}", self.description())?;
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `p`, `q`, `g`, and `y` are never read
[INFO] [stdout]  --> src/dss.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct DSSPublicKey {
[INFO] [stdout]   |            ------------ fields in this struct
[INFO] [stdout] 5 |     _type: String,
[INFO] [stdout] 6 |     p: MPUint,
[INFO] [stdout]   |     ^
[INFO] [stdout] 7 |     q: MPUint,
[INFO] [stdout]   |     ^
[INFO] [stdout] 8 |     g: MPUint,
[INFO] [stdout]   |     ^
[INFO] [stdout] 9 |     y: MPUint,
[INFO] [stdout]   |     ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DSSPublicKey` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `r` and `s` are never read
[INFO] [stdout]   --> src/dss.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct DSSSignature {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 14 |     _type: String,
[INFO] [stdout] 15 |     r: [u8; 20],
[INFO] [stdout]    |     ^
[INFO] [stdout] 16 |     s: [u8; 20],
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DSSSignature` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/ecdsa.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Deserialize)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `ECDSAPublicKey` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ECDSAPublicKey`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/ecdsa.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Deserialize)]
[INFO] [stdout]    |          -^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `ECDSASha2Nistp256PublicKey` is not local
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ECDSASha2Nistp256PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/ecdsa.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Deserialize)]
[INFO] [stdout]    |          -^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `ECCurvePoint` is not local
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ECCurvePoint`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/ssh.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[derive(Deserialize)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `PublicKeyHeader` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PublicKeyHeader`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/ssh.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Deserialize)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Signature` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Signature`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/ed25519.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[derive(Deserialize)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Ed25519PublicKey` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Ed25519PublicKey`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/ed25519.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Deserialize)]
[INFO] [stdout]    |          -^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Ed25519Signature` is not local
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Ed25519Signature`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/rsa.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Deserialize, Debug)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `RSAPublicKey` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RSAPublicKey`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/rsa.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Deserialize, Debug)]
[INFO] [stdout]    |          -^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `RSASignature` is not local
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RSASignature`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ssh-wire v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/dss.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Deserialize, Debug)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `DSSPublicKey` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DSSPublicKey`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dss.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Deserialize, Debug)]
[INFO] [stdout]    |          -^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `DSSSignature` is not local
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DSSSignature`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::signature`
[INFO] [stdout]   --> src/rsa.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         use ring::signature;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/serde_de.rs:42:42
[INFO] [stdout]    |
[INFO] [stdout] 42 |              Io(ref io_err) => StdError::description(io_err),
[INFO] [stdout]    |                                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/serde_de.rs:43:46
[INFO] [stdout]    |
[INFO] [stdout] 43 |              Utf8(ref utf8_err) => StdError::description(utf8_err),
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/serde_de.rs:75:32
[INFO] [stdout]    |
[INFO] [stdout] 75 |           write!(f, "{}", self.description())?;
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pubkey`
[INFO] [stdout]   --> src/dss.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 | ...   let pubkey : DSSPublicKey = serde_de::from_slice(&base64::decode("AAAAB3NzaC1kc3MAAACBANGFW2P9xlGU3zWrymJgI/lKo//ZW2WfVtmbsUZJ...
[INFO] [stdout]    |           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pubkey`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sig`
[INFO] [stdout]   --> src/dss.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 | ...   let sig : DSSSignature = serde_de::from_slice(&base64::decode("AAAAB3NzaC1kc3MAAAAoo3+JKSK924b7FHg88V2n338fAsRiCnQLHJLgZUHdvGk...
[INFO] [stdout]    |           ^^^ help: if this is intentional, prefix it with an underscore: `_sig`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/dss.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let data = base64::decode("AAAAIOM9VvUIDf3xKQ7XsJsoRVc75coCBdyIRzWx/pri9ivXMg==").unwrap();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `p`, `q`, `g`, and `y` are never read
[INFO] [stdout]  --> src/dss.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct DSSPublicKey {
[INFO] [stdout]   |            ------------ fields in this struct
[INFO] [stdout] 5 |     _type: String,
[INFO] [stdout] 6 |     p: MPUint,
[INFO] [stdout]   |     ^
[INFO] [stdout] 7 |     q: MPUint,
[INFO] [stdout]   |     ^
[INFO] [stdout] 8 |     g: MPUint,
[INFO] [stdout]   |     ^
[INFO] [stdout] 9 |     y: MPUint,
[INFO] [stdout]   |     ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DSSPublicKey` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `r` and `s` are never read
[INFO] [stdout]   --> src/dss.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct DSSSignature {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 14 |     _type: String,
[INFO] [stdout] 15 |     r: [u8; 20],
[INFO] [stdout]    |     ^
[INFO] [stdout] 16 |     s: [u8; 20],
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DSSSignature` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/serde_de.rs:287:18
[INFO] [stdout]     |
[INFO] [stdout] 287 |         #[derive(Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                  -^^^^^^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  `TestInts` is not local
[INFO] [stdout]     |                  `Deserialize` is not local
[INFO] [stdout]     |                  move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TestInts` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/serde_de.rs:351:18
[INFO] [stdout]     |
[INFO] [stdout] 351 |         #[derive(Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                  -^^^^^^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  `TestInts` is not local
[INFO] [stdout]     |                  `Deserialize` is not local
[INFO] [stdout]     |                  move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TestInts` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/ecdsa.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Deserialize)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `ECDSAPublicKey` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ECDSAPublicKey`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/ecdsa.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Deserialize)]
[INFO] [stdout]    |          -^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `ECDSASha2Nistp256PublicKey` is not local
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ECDSASha2Nistp256PublicKey`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/ecdsa.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Deserialize)]
[INFO] [stdout]    |          -^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `ECCurvePoint` is not local
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ECCurvePoint`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/ssh.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[derive(Deserialize)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `PublicKeyHeader` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PublicKeyHeader`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/ssh.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Deserialize)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Signature` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Signature`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/ed25519.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[derive(Deserialize)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Ed25519PublicKey` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Ed25519PublicKey`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/ed25519.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Deserialize)]
[INFO] [stdout]    |          -^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Ed25519Signature` is not local
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Ed25519Signature`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/rsa.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Deserialize, Debug)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `RSAPublicKey` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RSAPublicKey`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/rsa.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Deserialize, Debug)]
[INFO] [stdout]    |          -^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `RSASignature` is not local
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RSASignature`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/dss.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Deserialize, Debug)]
[INFO] [stdout]   |          -^^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `DSSPublicKey` is not local
[INFO] [stdout]   |          `Deserialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DSSPublicKey`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dss.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Deserialize, Debug)]
[INFO] [stdout]    |          -^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `DSSSignature` is not local
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DSSSignature`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.85s
[INFO] running `Command { std: "docker" "inspect" "ec6def884f45d474c03447074184136aeddbc4a07eb6f436b7eddf2572d4fd0e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec6def884f45d474c03447074184136aeddbc4a07eb6f436b7eddf2572d4fd0e", kill_on_drop: false }`
[INFO] [stdout] ec6def884f45d474c03447074184136aeddbc4a07eb6f436b7eddf2572d4fd0e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 73eadc68b9caa8c81c6003e8af6b35b29f4dbff6430c95aea34ba8a3c3fdc7e6
[INFO] running `Command { std: "docker" "start" "-a" "73eadc68b9caa8c81c6003e8af6b35b29f4dbff6430c95aea34ba8a3c3fdc7e6", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: unused import: `ring::signature`
[INFO] [stderr]   --> src/rsa.rs:12:13
[INFO] [stderr]    |
[INFO] [stderr] 12 |         use ring::signature;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/serde_de.rs:42:42
[INFO] [stderr]    |
[INFO] [stderr] 42 |              Io(ref io_err) => StdError::description(io_err),
[INFO] [stderr]    |                                          ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/serde_de.rs:43:46
[INFO] [stderr]    |
[INFO] [stderr] 43 |              Utf8(ref utf8_err) => StdError::description(utf8_err),
[INFO] [stderr]    |                                              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/serde_de.rs:75:32
[INFO] [stderr]    |
[INFO] [stderr] 75 |           write!(f, "{}", self.description())?;
[INFO] [stderr]    |                                ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `p`, `q`, `g`, and `y` are never read
[INFO] [stderr]  --> src/dss.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct DSSPublicKey {
[INFO] [stderr]   |            ------------ fields in this struct
[INFO] [stderr] 5 |     _type: String,
[INFO] [stderr] 6 |     p: MPUint,
[INFO] [stderr]   |     ^
[INFO] [stderr] 7 |     q: MPUint,
[INFO] [stderr]   |     ^
[INFO] [stderr] 8 |     g: MPUint,
[INFO] [stderr]   |     ^
[INFO] [stderr] 9 |     y: MPUint,
[INFO] [stderr]   |     ^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `DSSPublicKey` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `r` and `s` are never read
[INFO] [stderr]   --> src/dss.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct DSSSignature {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] 14 |     _type: String,
[INFO] [stderr] 15 |     r: [u8; 20],
[INFO] [stderr]    |     ^
[INFO] [stderr] 16 |     s: [u8; 20],
[INFO] [stderr]    |     ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DSSSignature` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/ecdsa.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[derive(Deserialize)]
[INFO] [stderr]   |          -^^^^^^^^^^
[INFO] [stderr]   |          |
[INFO] [stderr]   |          `ECDSAPublicKey` is not local
[INFO] [stderr]   |          `Deserialize` is not local
[INFO] [stderr]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ECDSAPublicKey`
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/ecdsa.rs:16:10
[INFO] [stderr]    |
[INFO] [stderr] 16 | #[derive(Deserialize)]
[INFO] [stderr]    |          -^^^^^^^^^^
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `ECDSASha2Nistp256PublicKey` is not local
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ECDSASha2Nistp256PublicKey`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/ecdsa.rs:56:10
[INFO] [stderr]    |
[INFO] [stderr] 56 | #[derive(Deserialize)]
[INFO] [stderr]    |          -^^^^^^^^^^
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `ECCurvePoint` is not local
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ECCurvePoint`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/ssh.rs:1:10
[INFO] [stderr]   |
[INFO] [stderr] 1 | #[derive(Deserialize)]
[INFO] [stderr]   |          -^^^^^^^^^^
[INFO] [stderr]   |          |
[INFO] [stderr]   |          `PublicKeyHeader` is not local
[INFO] [stderr]   |          `Deserialize` is not local
[INFO] [stderr]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PublicKeyHeader`
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/ssh.rs:6:10
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[derive(Deserialize)]
[INFO] [stderr]   |          -^^^^^^^^^^
[INFO] [stderr]   |          |
[INFO] [stderr]   |          `Signature` is not local
[INFO] [stderr]   |          `Deserialize` is not local
[INFO] [stderr]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Signature`
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/ed25519.rs:1:10
[INFO] [stderr]   |
[INFO] [stderr] 1 | #[derive(Deserialize)]
[INFO] [stderr]   |          -^^^^^^^^^^
[INFO] [stderr]   |          |
[INFO] [stderr]   |          `Ed25519PublicKey` is not local
[INFO] [stderr]   |          `Deserialize` is not local
[INFO] [stderr]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Ed25519PublicKey`
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/ed25519.rs:16:10
[INFO] [stderr]    |
[INFO] [stderr] 16 | #[derive(Deserialize)]
[INFO] [stderr]    |          -^^^^^^^^^^
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Ed25519Signature` is not local
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Ed25519Signature`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/rsa.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(Deserialize, Debug)]
[INFO] [stderr]   |          -^^^^^^^^^^
[INFO] [stderr]   |          |
[INFO] [stderr]   |          `RSAPublicKey` is not local
[INFO] [stderr]   |          `Deserialize` is not local
[INFO] [stderr]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RSAPublicKey`
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/rsa.rs:38:10
[INFO] [stderr]    |
[INFO] [stderr] 38 | #[derive(Deserialize, Debug)]
[INFO] [stderr]    |          -^^^^^^^^^^
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `RSASignature` is not local
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RSASignature`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/dss.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(Deserialize, Debug)]
[INFO] [stderr]   |          -^^^^^^^^^^
[INFO] [stderr]   |          |
[INFO] [stderr]   |          `DSSPublicKey` is not local
[INFO] [stderr]   |          `Deserialize` is not local
[INFO] [stderr]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DSSPublicKey`
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/dss.rs:12:10
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[derive(Deserialize, Debug)]
[INFO] [stderr]    |          -^^^^^^^^^^
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `DSSSignature` is not local
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DSSSignature`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pubkey`
[INFO] [stderr]   --> src/dss.rs:32:13
[INFO] [stderr]    |
[INFO] [stderr] 32 | ...   let pubkey : DSSPublicKey = serde_de::from_slice(&base64::decode("AAAAB3NzaC1kc3MAAACBANGFW2P9xlGU3zWrymJgI/lKo//ZW2WfVtmbsUZJ...
[INFO] [stderr]    |           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pubkey`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sig`
[INFO] [stderr]   --> src/dss.rs:33:13
[INFO] [stderr]    |
[INFO] [stderr] 33 | ...   let sig : DSSSignature = serde_de::from_slice(&base64::decode("AAAAB3NzaC1kc3MAAAAoo3+JKSK924b7FHg88V2n338fAsRiCnQLHJLgZUHdvGk...
[INFO] [stderr]    |           ^^^ help: if this is intentional, prefix it with an underscore: `_sig`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/dss.rs:34:13
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let data = base64::decode("AAAAIOM9VvUIDf3xKQ7XsJsoRVc75coCBdyIRzWx/pri9ivXMg==").unwrap();
[INFO] [stderr]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/serde_de.rs:287:18
[INFO] [stderr]     |
[INFO] [stderr] 287 |         #[derive(Deserialize, PartialEq, Eq)]
[INFO] [stderr]     |                  -^^^^^^^^^^
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  `TestInts` is not local
[INFO] [stderr]     |                  `Deserialize` is not local
[INFO] [stderr]     |                  move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TestInts` and up 2 bodies
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/serde_de.rs:351:18
[INFO] [stderr]     |
[INFO] [stderr] 351 |         #[derive(Deserialize, PartialEq, Eq)]
[INFO] [stderr]     |                  -^^^^^^^^^^
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  `TestInts` is not local
[INFO] [stderr]     |                  `Deserialize` is not local
[INFO] [stderr]     |                  move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TestInts` and up 2 bodies
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/ecdsa.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[derive(Deserialize)]
[INFO] [stderr]   |          -^^^^^^^^^^
[INFO] [stderr]   |          |
[INFO] [stderr]   |          `ECDSAPublicKey` is not local
[INFO] [stderr]   |          `Deserialize` is not local
[INFO] [stderr]   |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ECDSAPublicKey`
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `ssh-wire` (lib) generated 17 warnings (run `cargo fix --lib -p ssh-wire` to apply 1 suggestion)
[INFO] [stderr] warning: `ssh-wire` (lib test) generated 22 warnings (16 duplicates) (run `cargo fix --lib -p ssh-wire --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sshwire-68a108b154070e88)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test der::test::encode_len_works ... ok
[INFO] [stdout] test dss::test::signature_deserializes ... ok
[INFO] [stdout] test mpint::test::mpuint_der_works ... ok
[INFO] [stdout] test ecdsa::test::ecdsa_sha2_p256_wire_to_der_and_verify_works ... ok
[INFO] [stdout] test rsa::test::test_sha256 ... ok
[INFO] [stdout] test serde_de::tests::byte_slice_deserializes ... ok
[INFO] [stdout] test rsa::test::test_sig_modulus_same_size ... ok
[INFO] [stdout] test ed25519::test::ed25519_verifies ... ok
[INFO] [stdout] test serde_de::tests::byte_slice_invalid_length_fails ... ok
[INFO] [stdout] test serde_de::tests::byte_slice_with_extra_deserializes ... ok
[INFO] [stdout] test rsa::test::test_sig_smaller_than_modulus ... ok
[INFO] [stdout] test serde_de::tests::ints_deserialize ... ok
[INFO] [stdout] test serde_de::tests::byte_slice_too_short_fails ... ok
[INFO] [stdout] test serde_de::tests::str_deserializes ... ok
[INFO] [stdout] test dss::test::signature_verifies ... ok
[INFO] [stdout] test serde_de::tests::str_invalid_length_fails ... ok
[INFO] [stdout] test serde_de::tests::tuple_deserializes ... ok
[INFO] [stdout] test serde_de::tests::tuple_struct_deserializes ... ok
[INFO] [stdout] test test::test_invalid_ecdsa_pk_equals_sig ... ok
[INFO] [stdout] test rsa::test::test_sha512 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests sshwire
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "73eadc68b9caa8c81c6003e8af6b35b29f4dbff6430c95aea34ba8a3c3fdc7e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "73eadc68b9caa8c81c6003e8af6b35b29f4dbff6430c95aea34ba8a3c3fdc7e6", kill_on_drop: false }`
[INFO] [stdout] 73eadc68b9caa8c81c6003e8af6b35b29f4dbff6430c95aea34ba8a3c3fdc7e6
