[INFO] cloning repository https://github.com/purpleprotocol/purplecoin_cli
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/purpleprotocol/purplecoin_cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpurpleprotocol%2Fpurplecoin_cli", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpurpleprotocol%2Fpurplecoin_cli'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0a88908b270ce0484e23f59877436699fd74dc49
[INFO] checking purpleprotocol/purplecoin_cli against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpurpleprotocol%2Fpurplecoin_cli" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/purpleprotocol/purplecoin_cli
[INFO] finished tweaking git repo https://github.com/purpleprotocol/purplecoin_cli
[INFO] tweaked toml for git repo https://github.com/purpleprotocol/purplecoin_cli written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/purpleprotocol/purplecoin_cli on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/purpleprotocol/purplecoin_cli 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded subtle-ng v2.5.0
[INFO] [stderr]   Downloaded serde_bytes v0.11.7
[INFO] [stderr]   Downloaded proc-macro2 v1.0.46
[INFO] [stderr]   Downloaded clap_lex v0.3.0
[INFO] [stderr]   Downloaded keccak v0.1.2
[INFO] [stderr]   Downloaded synstructure v0.12.6
[INFO] [stderr]   Downloaded rpassword v6.0.1
[INFO] [stderr]   Downloaded zeroize_derive v1.3.2
[INFO] [stderr]   Downloaded cipher v0.3.0
[INFO] [stderr]   Downloaded universal-hash v0.4.1
[INFO] [stderr]   Downloaded aead v0.4.3
[INFO] [stderr]   Downloaded arrayvec v0.4.12
[INFO] [stderr]   Downloaded clap_derive v4.0.13
[INFO] [stderr]   Downloaded virtue v0.0.8
[INFO] [stderr]   Downloaded chacha20 v0.8.2
[INFO] [stderr]   Downloaded digest v0.10.5
[INFO] [stderr]   Downloaded once_cell v1.15.0
[INFO] [stderr]   Downloaded bincode v2.0.0-rc.2
[INFO] [stderr]   Downloaded serde v1.0.145
[INFO] [stderr]   Downloaded chacha20poly1305 v0.9.1
[INFO] [stderr]   Downloaded schnorrkel-purplecoin v0.10.2
[INFO] [stderr]   Downloaded poly1305 v0.7.2
[INFO] [stderr]   Downloaded serde_derive v1.0.145
[INFO] [stderr]   Downloaded serde_json v1.0.86
[INFO] [stderr]   Downloaded blake3 v1.3.1
[INFO] [stderr]   Downloaded clap v4.0.15
[INFO] [stderr]   Downloaded os_str_bytes v6.3.0
[INFO] [stderr]   Downloaded bincode_derive v2.0.0-rc.2
[INFO] [stderr]   Downloaded syn v1.0.102
[INFO] [stderr]   Downloaded curve25519-dalek-ng v4.1.1
[INFO] [stderr]   Downloaded libc v0.2.135
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 75105b9dd42294f0b8de91b877a6638e39f9948a45984bed019ae1a6090ffc41
[INFO] running `Command { std: "docker" "start" "-a" "75105b9dd42294f0b8de91b877a6638e39f9948a45984bed019ae1a6090ffc41", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "75105b9dd42294f0b8de91b877a6638e39f9948a45984bed019ae1a6090ffc41", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "75105b9dd42294f0b8de91b877a6638e39f9948a45984bed019ae1a6090ffc41", kill_on_drop: false }`
[INFO] [stdout] 75105b9dd42294f0b8de91b877a6638e39f9948a45984bed019ae1a6090ffc41
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 09134fcfb9f3fda35c2ff12262e0e2f646263b06abd57ec55d212aea8a44087e
[INFO] running `Command { std: "docker" "start" "-a" "09134fcfb9f3fda35c2ff12262e0e2f646263b06abd57ec55d212aea8a44087e", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.46
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling unicode-ident v1.0.5
[INFO] [stderr]    Compiling syn v1.0.102
[INFO] [stderr]    Compiling generic-array v0.14.6
[INFO] [stderr]    Compiling libc v0.2.135
[INFO] [stderr]    Compiling serde_derive v1.0.145
[INFO] [stderr]    Compiling serde v1.0.145
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking cpufeatures v0.2.5
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling serde_json v1.0.86
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]     Checking ryu v1.0.11
[INFO] [stderr]     Checking arrayvec v0.7.2
[INFO] [stderr]     Checking keccak v0.1.2
[INFO] [stderr]     Checking itoa v1.0.4
[INFO] [stderr]     Checking os_str_bytes v6.3.0
[INFO] [stderr]     Checking subtle-ng v2.5.0
[INFO] [stderr]    Compiling virtue v0.0.8
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking once_cell v1.15.0
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking termcolor v1.1.3
[INFO] [stderr]     Checking bech32 v0.9.1
[INFO] [stderr]     Checking clap_lex v0.3.0
[INFO] [stderr]     Checking getrandom v0.2.7
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking blake2-rfc v0.2.18
[INFO] [stderr]    Compiling blake3 v1.3.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling bincode_derive v2.0.0-rc.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking universal-hash v0.4.1
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking cipher v0.3.0
[INFO] [stderr]     Checking block-buffer v0.10.3
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking aead v0.4.3
[INFO] [stderr]     Checking argon2rs v0.2.5
[INFO] [stderr]     Checking poly1305 v0.7.2
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking digest v0.10.5
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking bincode v2.0.0-rc.2
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling zeroize_derive v1.3.2
[INFO] [stderr]    Compiling clap_derive v4.0.13
[INFO] [stderr]     Checking zeroize v1.5.7
[INFO] [stderr]     Checking chacha20 v0.8.2
[INFO] [stderr]     Checking curve25519-dalek-ng v4.1.1
[INFO] [stderr]     Checking merlin v3.0.0
[INFO] [stderr]     Checking chacha20poly1305 v0.9.1
[INFO] [stderr]     Checking clap v4.0.15
[INFO] [stderr]     Checking serde_bytes v0.11.7
[INFO] [stderr]     Checking schnorrkel-purplecoin v0.10.2
[INFO] [stderr]     Checking rpassword v6.0.1
[INFO] [stderr]     Checking purplecoincli v0.1.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/wallet.rs:299:22
[INFO] [stdout]     |
[INFO] [stdout] 299 |     pub fn aes256gcm(key: &[u8], data: T) -> Result<Self, &'static str> {
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/wallet.rs:299:34
[INFO] [stdout]     |
[INFO] [stdout] 299 |     pub fn aes256gcm(key: &[u8], data: T) -> Result<Self, &'static str> {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/wallet.rs:304:27
[INFO] [stdout]     |
[INFO] [stdout] 304 |     pub fn decrypt(&self, key: &[u8]) -> Result<T, &'static str> {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/wallet.rs:305:13
[INFO] [stdout]     |
[INFO] [stdout] 305 |         let config = bincode::config::standard()
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[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/primitives.rs:225:59
[INFO] [stdout]     |
[INFO] [stdout] 225 | #[derive(PartialEq, Eq, Encode, Decode, Clone, HashTrait, Zeroize)]
[INFO] [stdout]     |                                                           ^------
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           `Zeroize` is not local
[INFO] [stdout]     |                                                           move the `impl` block outside of this constant `_DERIVE_zeroize_Zeroize_FOR_Hash160`
[INFO] [stdout] 226 | pub struct Hash160(pub [u8; 20]);
[INFO] [stdout]     |            ------- `Hash160` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Zeroize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Zeroize` may come from an old version of the `zeroize_derive` crate, try updating your dependency with `cargo update -p zeroize_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 `Zeroize` (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/primitives.rs:282:54
[INFO] [stdout]     |
[INFO] [stdout] 282 |     PartialEq, Eq, Encode, Decode, Clone, HashTrait, Zeroize, PartialOrd, Ord, Default, Copy,
[INFO] [stdout]     |                                                      ^------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Zeroize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_DERIVE_zeroize_Zeroize_FOR_Hash256`
[INFO] [stdout] 283 | )]
[INFO] [stdout] 284 | pub struct Hash256(pub [u8; 32]);
[INFO] [stdout]     |            ------- `Hash256` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Zeroize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Zeroize` may come from an old version of the `zeroize_derive` crate, try updating your dependency with `cargo update -p zeroize_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 `Zeroize` (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/wallet.rs:80:26
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Encode, Decode, Zeroize, Clone, PartialEq)]
[INFO] [stdout]    |                          ^------
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          `Zeroize` is not local
[INFO] [stdout]    |                          move the `impl` block outside of this constant `_DERIVE_zeroize_Zeroize_FOR_XPub`
[INFO] [stdout] 81 | pub struct XPub {
[INFO] [stdout]    |            ---- `XPub` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Zeroize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Zeroize` may come from an old version of the `zeroize_derive` crate, try updating your dependency with `cargo update -p zeroize_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 `Zeroize` (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/wallet.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Encode, Decode, Zeroize, Clone, Debug, PartialEq)]
[INFO] [stdout]     |                          ^------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `Zeroize` is not local
[INFO] [stdout]     |                          move the `impl` block outside of this constant `_DERIVE_zeroize_Zeroize_FOR_XPriv`
[INFO] [stdout] 167 | #[zeroize(drop)]
[INFO] [stdout] 168 | pub struct XPriv {
[INFO] [stdout]     |            ----- `XPriv` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Zeroize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Zeroize` may come from an old version of the `zeroize_derive` crate, try updating your dependency with `cargo update -p zeroize_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 `Zeroize` (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/wallet.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Encode, Decode, Zeroize, Clone, Debug, PartialEq)]
[INFO] [stdout]     |                          ^------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `Drop` is not local
[INFO] [stdout]     |                          move the `impl` block outside of this constant `_DERIVE_Drop_FOR_XPriv`
[INFO] [stdout] 167 | #[zeroize(drop)]
[INFO] [stdout] 168 | pub struct XPriv {
[INFO] [stdout]     |            ----- `XPriv` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Zeroize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Zeroize` may come from an old version of the `zeroize_derive` crate, try updating your dependency with `cargo update -p zeroize_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 `Zeroize` (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/wallet.rs:177:26
[INFO] [stdout]     |
[INFO] [stdout] 177 | #[derive(Encode, Decode, Zeroize, Debug, Clone)]
[INFO] [stdout]     |                          ^------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `Zeroize` is not local
[INFO] [stdout]     |                          move the `impl` block outside of this constant `_DERIVE_zeroize_Zeroize_FOR_XKeypair`
[INFO] [stdout] 178 | pub struct XKeypair {
[INFO] [stdout]     |            -------- `XKeypair` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Zeroize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Zeroize` may come from an old version of the `zeroize_derive` crate, try updating your dependency with `cargo update -p zeroize_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 `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/wallet.rs:299:22
[INFO] [stdout]     |
[INFO] [stdout] 299 |     pub fn aes256gcm(key: &[u8], data: T) -> Result<Self, &'static str> {
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/wallet.rs:299:34
[INFO] [stdout]     |
[INFO] [stdout] 299 |     pub fn aes256gcm(key: &[u8], data: T) -> Result<Self, &'static str> {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/wallet.rs:304:27
[INFO] [stdout]     |
[INFO] [stdout] 304 |     pub fn decrypt(&self, key: &[u8]) -> Result<T, &'static str> {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/wallet.rs:305:13
[INFO] [stdout]     |
[INFO] [stdout] 305 |         let config = bincode::config::standard()
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[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/primitives.rs:225:59
[INFO] [stdout]     |
[INFO] [stdout] 225 | #[derive(PartialEq, Eq, Encode, Decode, Clone, HashTrait, Zeroize)]
[INFO] [stdout]     |                                                           ^------
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           `Zeroize` is not local
[INFO] [stdout]     |                                                           move the `impl` block outside of this constant `_DERIVE_zeroize_Zeroize_FOR_Hash160`
[INFO] [stdout] 226 | pub struct Hash160(pub [u8; 20]);
[INFO] [stdout]     |            ------- `Hash160` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Zeroize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Zeroize` may come from an old version of the `zeroize_derive` crate, try updating your dependency with `cargo update -p zeroize_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 `Zeroize` (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/primitives.rs:282:54
[INFO] [stdout]     |
[INFO] [stdout] 282 |     PartialEq, Eq, Encode, Decode, Clone, HashTrait, Zeroize, PartialOrd, Ord, Default, Copy,
[INFO] [stdout]     |                                                      ^------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Zeroize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_DERIVE_zeroize_Zeroize_FOR_Hash256`
[INFO] [stdout] 283 | )]
[INFO] [stdout] 284 | pub struct Hash256(pub [u8; 32]);
[INFO] [stdout]     |            ------- `Hash256` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Zeroize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Zeroize` may come from an old version of the `zeroize_derive` crate, try updating your dependency with `cargo update -p zeroize_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 `Zeroize` (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/wallet.rs:80:26
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Encode, Decode, Zeroize, Clone, PartialEq)]
[INFO] [stdout]    |                          ^------
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          `Zeroize` is not local
[INFO] [stdout]    |                          move the `impl` block outside of this constant `_DERIVE_zeroize_Zeroize_FOR_XPub`
[INFO] [stdout] 81 | pub struct XPub {
[INFO] [stdout]    |            ---- `XPub` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Zeroize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Zeroize` may come from an old version of the `zeroize_derive` crate, try updating your dependency with `cargo update -p zeroize_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 `Zeroize` (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/wallet.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Encode, Decode, Zeroize, Clone, Debug, PartialEq)]
[INFO] [stdout]     |                          ^------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `Zeroize` is not local
[INFO] [stdout]     |                          move the `impl` block outside of this constant `_DERIVE_zeroize_Zeroize_FOR_XPriv`
[INFO] [stdout] 167 | #[zeroize(drop)]
[INFO] [stdout] 168 | pub struct XPriv {
[INFO] [stdout]     |            ----- `XPriv` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Zeroize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Zeroize` may come from an old version of the `zeroize_derive` crate, try updating your dependency with `cargo update -p zeroize_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 `Zeroize` (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/wallet.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Encode, Decode, Zeroize, Clone, Debug, PartialEq)]
[INFO] [stdout]     |                          ^------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `Drop` is not local
[INFO] [stdout]     |                          move the `impl` block outside of this constant `_DERIVE_Drop_FOR_XPriv`
[INFO] [stdout] 167 | #[zeroize(drop)]
[INFO] [stdout] 168 | pub struct XPriv {
[INFO] [stdout]     |            ----- `XPriv` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Zeroize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Zeroize` may come from an old version of the `zeroize_derive` crate, try updating your dependency with `cargo update -p zeroize_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 `Zeroize` (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/wallet.rs:177:26
[INFO] [stdout]     |
[INFO] [stdout] 177 | #[derive(Encode, Decode, Zeroize, Debug, Clone)]
[INFO] [stdout]     |                          ^------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `Zeroize` is not local
[INFO] [stdout]     |                          move the `impl` block outside of this constant `_DERIVE_zeroize_Zeroize_FOR_XKeypair`
[INFO] [stdout] 178 | pub struct XKeypair {
[INFO] [stdout]     |            -------- `XKeypair` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Zeroize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Zeroize` may come from an old version of the `zeroize_derive` crate, try updating your dependency with `cargo update -p zeroize_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 `Zeroize` (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 16.78s
[INFO] running `Command { std: "docker" "inspect" "09134fcfb9f3fda35c2ff12262e0e2f646263b06abd57ec55d212aea8a44087e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09134fcfb9f3fda35c2ff12262e0e2f646263b06abd57ec55d212aea8a44087e", kill_on_drop: false }`
[INFO] [stdout] 09134fcfb9f3fda35c2ff12262e0e2f646263b06abd57ec55d212aea8a44087e
