[INFO] cloning repository https://github.com/udtrokia/Radiancy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/udtrokia/Radiancy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fudtrokia%2FRadiancy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fudtrokia%2FRadiancy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2689b45c89b2530be33d88c5ea8eece126d79555
[INFO] checking udtrokia/Radiancy against try#163937523761cc0def32f1ba9ed63fdf65ad3478 for pr-156749
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fudtrokia%2FRadiancy" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/udtrokia/Radiancy
[INFO] finished tweaking git repo https://github.com/udtrokia/Radiancy
[INFO] tweaked toml for git repo https://github.com/udtrokia/Radiancy written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/udtrokia/Radiancy on toolchain 163937523761cc0def32f1ba9ed63fdf65ad3478
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/udtrokia/Radiancy 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" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `radiancy` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bd05303a058860f15a304aef4c03d2a0db59ed7f14d4050daf9263ddd2384904
[INFO] running `Command { std: "docker" "start" "bd05303a058860f15a304aef4c03d2a0db59ed7f14d4050daf9263ddd2384904", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bd05303a058860f15a304aef4c03d2a0db59ed7f14d4050daf9263ddd2384904" "/opt/rustwide/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bd05303a058860f15a304aef4c03d2a0db59ed7f14d4050daf9263ddd2384904", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bd05303a058860f15a304aef4c03d2a0db59ed7f14d4050daf9263ddd2384904" "/opt/rustwide/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `radiancy` (manifest) generated 1 warning
[INFO] [stderr]    Compiling serde v1.0.66
[INFO] [stderr]     Checking cfg-if v0.1.3
[INFO] [stderr]    Compiling proc-macro2 v0.4.6
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]     Checking either v1.5.0
[INFO] [stderr]    Compiling num-traits v0.2.5
[INFO] [stderr]     Checking byteorder v1.2.3
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]     Checking arrayref v0.3.4
[INFO] [stderr]     Checking byte-tools v0.2.0
[INFO] [stderr]     Checking lazy_static v1.0.1
[INFO] [stderr]    Compiling gcc v0.3.54
[INFO] [stderr]    Compiling num-bigint v0.2.0
[INFO] [stderr]     Checking getopts v0.2.17
[INFO] [stderr]     Checking generic-array v0.9.0
[INFO] [stderr]     Checking rand v0.5.2
[INFO] [stderr]     Checking hex v0.3.2
[INFO] [stderr]     Checking log v0.4.2
[INFO] [stderr]     Checking crossbeam-utils v0.3.2
[INFO] [stderr]     Checking base58 v0.1.0
[INFO] [stderr]     Checking coco v0.2.1
[INFO] [stderr]     Checking args v2.2.0
[INFO] [stderr]     Checking crossbeam-epoch v0.4.3
[INFO] [stderr]     Checking block-buffer v0.3.3
[INFO] [stderr]    Compiling quote v0.6.3
[INFO] [stderr]     Checking digest v0.7.4
[INFO] [stderr]     Checking historian v3.0.4
[INFO] [stderr]    Compiling syn v0.14.2
[INFO] [stderr]     Checking sha2 v0.7.1
[INFO] [stderr]     Checking ripemd160 v0.7.0
[INFO] [stderr]    Compiling secp256k1 v0.9.2
[INFO] [stderr]    Compiling serde_derive v1.0.66
[INFO] [stderr]     Checking bincode v0.9.2
[INFO] [stderr]     Checking bincode v1.0.1
[INFO] [stderr]     Checking pagecache v0.4.5
[INFO] [stderr]     Checking sled v0.15.17
[INFO] [stderr]     Checking radiancy v0.1.2 (/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/blockchain/block.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Block` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Block`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (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/blockchain/block.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Block` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Block`
[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: panic message is not a string literal
[INFO] [stdout]   --> src/blockchain/blockchain.rs:44:48
[INFO] [stdout]    |
[INFO] [stdout] 44 |         if _set_hash.is_ok() == false { panic!(_set_hash.unwrap()) };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `()`
[INFO] [stdout]    |
[INFO] [stdout] 44 |         if _set_hash.is_ok() == false { panic!("{:?}", _set_hash.unwrap()) };
[INFO] [stdout]    |                                                +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 44 -         if _set_hash.is_ok() == false { panic!(_set_hash.unwrap()) };
[INFO] [stdout] 44 +         if _set_hash.is_ok() == false { std::panic::panic_any(_set_hash.unwrap()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/blockchain/blockchain.rs:46:48
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if _set_last.is_ok() == false { panic!(_set_last.unwrap()) };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `()`
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if _set_last.is_ok() == false { panic!("{:?}", _set_last.unwrap()) };
[INFO] [stdout]    |                                                +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 46 -         if _set_last.is_ok() == false { panic!(_set_last.unwrap()) };
[INFO] [stdout] 46 +         if _set_last.is_ok() == false { std::panic::panic_any(_set_last.unwrap()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/blockchain/utils.rs:32:50
[INFO] [stdout]    |
[INFO] [stdout] 32 |         if _store_hash.is_ok() == false { panic!(_store_hash.unwrap())}
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `()`
[INFO] [stdout]    |
[INFO] [stdout] 32 |         if _store_hash.is_ok() == false { panic!("{:?}", _store_hash.unwrap())}
[INFO] [stdout]    |                                                  +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 32 -         if _store_hash.is_ok() == false { panic!(_store_hash.unwrap())}
[INFO] [stdout] 32 +         if _store_hash.is_ok() == false { std::panic::panic_any(_store_hash.unwrap())}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/blockchain/utils.rs:35:50
[INFO] [stdout]    |
[INFO] [stdout] 35 |         if _store_last.is_ok() == false { panic!(_store_last.unwrap())};
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `()`
[INFO] [stdout]    |
[INFO] [stdout] 35 |         if _store_last.is_ok() == false { panic!("{:?}", _store_last.unwrap())};
[INFO] [stdout]    |                                                  +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 35 -         if _store_last.is_ok() == false { panic!(_store_last.unwrap())};
[INFO] [stdout] 35 +         if _store_last.is_ok() == false { std::panic::panic_any(_store_last.unwrap())};
[INFO] [stdout]    |
[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/tx/tx.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Transaction` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Transaction`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (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/tx/tx.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Transaction` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Transaction`
[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/tx/input.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `TXInput` is not local
[INFO] [stdout]   |                 `Serialize` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TXInput`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` 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 `Serialize` (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/tx/input.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                            -^^^^^^^^^^
[INFO] [stdout]   |                            |
[INFO] [stdout]   |                            `TXInput` is not local
[INFO] [stdout]   |                            `Deserialize` is not local
[INFO] [stdout]   |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TXInput`
[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/tx/inputs.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `TXInputs` is not local
[INFO] [stdout]   |                 `Serialize` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TXInputs`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` 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 `Serialize` (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/tx/inputs.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                            -^^^^^^^^^^
[INFO] [stdout]   |                            |
[INFO] [stdout]   |                            `TXInputs` is not local
[INFO] [stdout]   |                            `Deserialize` is not local
[INFO] [stdout]   |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TXInputs`
[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/tx/output.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `TXOutput` is not local
[INFO] [stdout]   |                 `Serialize` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TXOutput`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` 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 `Serialize` (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/tx/output.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                            -^^^^^^^^^^
[INFO] [stdout]   |                            |
[INFO] [stdout]   |                            `TXOutput` is not local
[INFO] [stdout]   |                            `Deserialize` is not local
[INFO] [stdout]   |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TXOutput`
[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/tx/outputs.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `TXOutputs` is not local
[INFO] [stdout]   |                 `Serialize` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TXOutputs`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` 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 `Serialize` (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/tx/outputs.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                            -^^^^^^^^^^
[INFO] [stdout]   |                            |
[INFO] [stdout]   |                            `TXOutputs` is not local
[INFO] [stdout]   |                            `Deserialize` is not local
[INFO] [stdout]   |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TXOutputs`
[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/wallet/account.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Account` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Account`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (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/account.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     -^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Account` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Account`
[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/wallet/wallet.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Wallet` is not local
[INFO] [stdout]   |          `Serialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Wallet`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` 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 `Serialize` (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/wallet.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |                     -^^^^^^^^^^
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `Wallet` is not local
[INFO] [stdout]   |                     `Deserialize` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Wallet`
[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/blockchain/block.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Block` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Block`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (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/blockchain/block.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Block` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Block`
[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: panic message is not a string literal
[INFO] [stdout]   --> src/blockchain/blockchain.rs:44:48
[INFO] [stdout]    |
[INFO] [stdout] 44 |         if _set_hash.is_ok() == false { panic!(_set_hash.unwrap()) };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `()`
[INFO] [stdout]    |
[INFO] [stdout] 44 |         if _set_hash.is_ok() == false { panic!("{:?}", _set_hash.unwrap()) };
[INFO] [stdout]    |                                                +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 44 -         if _set_hash.is_ok() == false { panic!(_set_hash.unwrap()) };
[INFO] [stdout] 44 +         if _set_hash.is_ok() == false { std::panic::panic_any(_set_hash.unwrap()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/blockchain/blockchain.rs:46:48
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if _set_last.is_ok() == false { panic!(_set_last.unwrap()) };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `()`
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if _set_last.is_ok() == false { panic!("{:?}", _set_last.unwrap()) };
[INFO] [stdout]    |                                                +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 46 -         if _set_last.is_ok() == false { panic!(_set_last.unwrap()) };
[INFO] [stdout] 46 +         if _set_last.is_ok() == false { std::panic::panic_any(_set_last.unwrap()) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/blockchain/utils.rs:32:50
[INFO] [stdout]    |
[INFO] [stdout] 32 |         if _store_hash.is_ok() == false { panic!(_store_hash.unwrap())}
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `()`
[INFO] [stdout]    |
[INFO] [stdout] 32 |         if _store_hash.is_ok() == false { panic!("{:?}", _store_hash.unwrap())}
[INFO] [stdout]    |                                                  +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 32 -         if _store_hash.is_ok() == false { panic!(_store_hash.unwrap())}
[INFO] [stdout] 32 +         if _store_hash.is_ok() == false { std::panic::panic_any(_store_hash.unwrap())}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/blockchain/utils.rs:35:50
[INFO] [stdout]    |
[INFO] [stdout] 35 |         if _store_last.is_ok() == false { panic!(_store_last.unwrap())};
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `()`
[INFO] [stdout]    |
[INFO] [stdout] 35 |         if _store_last.is_ok() == false { panic!("{:?}", _store_last.unwrap())};
[INFO] [stdout]    |                                                  +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 35 -         if _store_last.is_ok() == false { panic!(_store_last.unwrap())};
[INFO] [stdout] 35 +         if _store_last.is_ok() == false { std::panic::panic_any(_store_last.unwrap())};
[INFO] [stdout]    |
[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/tx/tx.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Transaction` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Transaction`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (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/tx/tx.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Transaction` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Transaction`
[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/tx/input.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `TXInput` is not local
[INFO] [stdout]   |                 `Serialize` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TXInput`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` 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 `Serialize` (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/tx/input.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                            -^^^^^^^^^^
[INFO] [stdout]   |                            |
[INFO] [stdout]   |                            `TXInput` is not local
[INFO] [stdout]   |                            `Deserialize` is not local
[INFO] [stdout]   |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TXInput`
[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/tx/inputs.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `TXInputs` is not local
[INFO] [stdout]   |                 `Serialize` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TXInputs`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` 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 `Serialize` (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/tx/inputs.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                            -^^^^^^^^^^
[INFO] [stdout]   |                            |
[INFO] [stdout]   |                            `TXInputs` is not local
[INFO] [stdout]   |                            `Deserialize` is not local
[INFO] [stdout]   |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TXInputs`
[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/tx/output.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `TXOutput` is not local
[INFO] [stdout]   |                 `Serialize` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TXOutput`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` 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 `Serialize` (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/tx/output.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                            -^^^^^^^^^^
[INFO] [stdout]   |                            |
[INFO] [stdout]   |                            `TXOutput` is not local
[INFO] [stdout]   |                            `Deserialize` is not local
[INFO] [stdout]   |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TXOutput`
[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/tx/outputs.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `TXOutputs` is not local
[INFO] [stdout]   |                 `Serialize` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TXOutputs`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` 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 `Serialize` (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/tx/outputs.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Serialize, Deserialize, Debug)]
[INFO] [stdout]   |                            -^^^^^^^^^^
[INFO] [stdout]   |                            |
[INFO] [stdout]   |                            `TXOutputs` is not local
[INFO] [stdout]   |                            `Deserialize` is not local
[INFO] [stdout]   |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TXOutputs`
[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/wallet/account.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Account` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Account`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (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/account.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     -^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Account` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Account`
[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/wallet/wallet.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Wallet` is not local
[INFO] [stdout]   |          `Serialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Wallet`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` 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 `Serialize` (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/wallet.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |                     -^^^^^^^^^^
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `Wallet` is not local
[INFO] [stdout]   |                     `Deserialize` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Wallet`
[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 9.74s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: pagecache v0.4.5, syn v0.14.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] running `Command { std: "docker" "inspect" "bd05303a058860f15a304aef4c03d2a0db59ed7f14d4050daf9263ddd2384904", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd05303a058860f15a304aef4c03d2a0db59ed7f14d4050daf9263ddd2384904", kill_on_drop: false }`
[INFO] [stdout] bd05303a058860f15a304aef4c03d2a0db59ed7f14d4050daf9263ddd2384904
