[INFO] cloning repository https://github.com/justinxu9905/ece598pv-Principles-of-Blockchains
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/justinxu9905/ece598pv-Principles-of-Blockchains" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjustinxu9905%2Fece598pv-Principles-of-Blockchains", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjustinxu9905%2Fece598pv-Principles-of-Blockchains'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4cd10373daaa309a4d074d329362ca9d64ec7993
[INFO] checking justinxu9905/ece598pv-Principles-of-Blockchains against 69bccf03c4733f57482f9691456efcd80f86a5f6 for pr-164053
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjustinxu9905%2Fece598pv-Principles-of-Blockchains" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/justinxu9905/ece598pv-Principles-of-Blockchains
[INFO] finished tweaking git repo https://github.com/justinxu9905/ece598pv-Principles-of-Blockchains
[INFO] tweaked toml for git repo https://github.com/justinxu9905/ece598pv-Principles-of-Blockchains written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/justinxu9905/ece598pv-Principles-of-Blockchains on toolchain 69bccf03c4733f57482f9691456efcd80f86a5f6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+69bccf03c4733f57482f9691456efcd80f86a5f6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/justinxu9905/ece598pv-Principles-of-Blockchains 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" "+69bccf03c4733f57482f9691456efcd80f86a5f6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded url v2.1.0
[INFO] [stderr]   Downloaded autocfg v0.1.6
[INFO] [stderr]   Downloaded chunked_transfer v1.4.0
[INFO] [stderr]   Downloaded futures-io v0.3.18
[INFO] [stderr]   Downloaded futures-sink v0.3.18
[INFO] [stderr]   Downloaded futures-core v0.3.18
[INFO] [stderr]   Downloaded cache-padded v1.1.1
[INFO] [stderr]   Downloaded tiny_http v0.9.0
[INFO] [stderr]   Downloaded parking v2.0.0
[INFO] [stderr]   Downloaded event-listener v2.5.1
[INFO] [stderr]   Downloaded ntest v0.7.3
[INFO] [stderr]   Downloaded hex v0.4.0
[INFO] [stderr]   Downloaded crossbeam v0.8.1
[INFO] [stderr]   Downloaded concurrent-queue v1.2.2
[INFO] [stderr]   Downloaded fastrand v1.5.0
[INFO] [stderr]   Downloaded atomic-waker v1.0.0
[INFO] [stderr]   Downloaded async-lock v2.4.0
[INFO] [stderr]   Downloaded rand_hc v0.3.1
[INFO] [stderr]   Downloaded async-channel v1.6.1
[INFO] [stderr]   Downloaded wepoll-ffi v0.1.2
[INFO] [stderr]   Downloaded async-executor v1.4.1
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.51
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.51
[INFO] [stderr]   Downloaded ntest_timeout v0.7.3
[INFO] [stderr]   Downloaded ntest_proc_macro_helper v0.7.3
[INFO] [stderr]   Downloaded ntest_test_cases v0.7.3
[INFO] [stderr]   Downloaded ascii v1.0.0
[INFO] [stderr]   Downloaded stderrlog v0.5.1
[INFO] [stderr]   Downloaded async-process v1.3.0
[INFO] [stderr]   Downloaded futures-macro v0.3.18
[INFO] [stderr]   Downloaded simple-mutex v1.1.5
[INFO] [stderr]   Downloaded async-task v4.0.3
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.51
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.51
[INFO] [stderr]   Downloaded futures-channel v0.3.18
[INFO] [stderr]   Downloaded futures-executor v0.3.18
[INFO] [stderr]   Downloaded crossbeam-queue v0.3.2
[INFO] [stderr]   Downloaded bincode v1.2.0
[INFO] [stderr]   Downloaded async-dup v1.2.2
[INFO] [stderr]   Downloaded once_cell v1.8.0
[INFO] [stderr]   Downloaded signal-hook v0.3.10
[INFO] [stderr]   Downloaded async-io v1.6.0
[INFO] [stderr]   Downloaded async-net v1.6.1
[INFO] [stderr]   Downloaded blocking v1.1.0
[INFO] [stderr]   Downloaded futures-task v0.3.18
[INFO] [stderr]   Downloaded term_size v0.3.1
[INFO] [stderr]   Downloaded bitflags v1.2.0
[INFO] [stderr]   Downloaded async-fs v1.5.0
[INFO] [stderr]   Downloaded futures-lite v1.12.0
[INFO] [stderr]   Downloaded wasm-bindgen-webidl v0.2.51
[INFO] [stderr]   Downloaded polling v2.2.0
[INFO] [stderr]   Downloaded serde_derive v1.0.101
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.5
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.5
[INFO] [stderr]   Downloaded smol v1.2.5
[INFO] [stderr]   Downloaded socket2 v0.4.2
[INFO] [stderr]   Downloaded js-sys v0.3.28
[INFO] [stderr]   Downloaded cc v1.0.45
[INFO] [stderr]   Downloaded unicode-segmentation v1.3.0
[INFO] [stderr]   Downloaded futures v0.3.18
[INFO] [stderr]   Downloaded backtrace v0.3.38
[INFO] [stderr]   Downloaded serde v1.0.101
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.1
[INFO] [stderr]   Downloaded bumpalo v2.6.0
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.51
[INFO] [stderr]   Downloaded futures-util v0.3.18
[INFO] [stderr]   Downloaded web-sys v0.3.28
[INFO] [stderr]   Downloaded syn v1.0.82
[INFO] [stderr]   Downloaded libc v0.2.108
[INFO] [stderr]   Downloaded ring v0.16.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8c1414ba618dc33de791f066db495a38d857fdeb9b3c1b969a9198e5957914ef
[INFO] running `Command { std: "docker" "start" "8c1414ba618dc33de791f066db495a38d857fdeb9b3c1b969a9198e5957914ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8c1414ba618dc33de791f066db495a38d857fdeb9b3c1b969a9198e5957914ef", 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" "8c1414ba618dc33de791f066db495a38d857fdeb9b3c1b969a9198e5957914ef" "/opt/rustwide/cargo-home/bin/cargo" "+69bccf03c4733f57482f9691456efcd80f86a5f6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8c1414ba618dc33de791f066db495a38d857fdeb9b3c1b969a9198e5957914ef", 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" "8c1414ba618dc33de791f066db495a38d857fdeb9b3c1b969a9198e5957914ef" "/opt/rustwide/cargo-home/bin/cargo" "+69bccf03c4733f57482f9691456efcd80f86a5f6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.108
[INFO] [stderr]    Compiling syn v1.0.82
[INFO] [stderr]    Compiling futures-core v0.3.18
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling autocfg v0.1.6
[INFO] [stderr]     Checking futures-io v0.3.18
[INFO] [stderr]     Checking pin-project-lite v0.2.7
[INFO] [stderr]     Checking event-listener v2.5.1
[INFO] [stderr]    Compiling serde v1.0.101
[INFO] [stderr]     Checking cache-padded v1.1.1
[INFO] [stderr]     Checking parking v2.0.0
[INFO] [stderr]     Checking fastrand v1.5.0
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking waker-fn v1.1.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.32
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling futures-task v0.3.18
[INFO] [stderr]     Checking async-task v4.0.3
[INFO] [stderr]     Checking concurrent-queue v1.2.2
[INFO] [stderr]    Compiling futures-channel v0.3.18
[INFO] [stderr]     Checking atomic-waker v1.0.0
[INFO] [stderr]    Compiling futures-util v0.3.18
[INFO] [stderr]    Compiling signal-hook v0.3.10
[INFO] [stderr]     Checking smallvec v0.6.10
[INFO] [stderr]     Checking futures-sink v0.3.18
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling cc v1.0.45
[INFO] [stderr]     Checking async-channel v1.6.1
[INFO] [stderr]    Compiling crossbeam-queue v0.3.2
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling bitflags v1.2.0
[INFO] [stderr]    Compiling bincode v1.2.0
[INFO] [stderr]     Checking async-lock v2.4.0
[INFO] [stderr]     Checking simple-mutex v1.1.5
[INFO] [stderr]     Checking thread_local v1.0.1
[INFO] [stderr]     Checking chunked_transfer v1.4.0
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]     Checking ascii v1.0.0
[INFO] [stderr]     Checking unicode-normalization v0.1.8
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling ntest_proc_macro_helper v0.7.3
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking untrusted v0.7.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking async-dup v1.2.2
[INFO] [stderr]    Compiling hex-literal v0.3.4
[INFO] [stderr]     Checking hex v0.4.0
[INFO] [stderr]     Checking futures-lite v1.12.0
[INFO] [stderr]     Checking polling v2.2.0
[INFO] [stderr]     Checking socket2 v0.4.2
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking term_size v0.3.1
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking crossbeam v0.8.1
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]    Compiling ring v0.16.9
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking idna v0.2.0
[INFO] [stderr]     Checking blocking v1.1.0
[INFO] [stderr]     Checking async-io v1.6.0
[INFO] [stderr]     Checking async-executor v1.4.1
[INFO] [stderr]     Checking url v2.1.0
[INFO] [stderr]     Checking async-fs v1.5.0
[INFO] [stderr]     Checking stderrlog v0.5.1
[INFO] [stderr]     Checking async-process v1.3.0
[INFO] [stderr]     Checking async-net v1.6.1
[INFO] [stderr]     Checking tiny_http v0.9.0
[INFO] [stderr]     Checking smol v1.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.101
[INFO] [stderr]    Compiling futures-macro v0.3.18
[INFO] [stderr]    Compiling ntest_test_cases v0.7.3
[INFO] [stderr]     Checking futures-executor v0.3.18
[INFO] [stderr]     Checking futures v0.3.18
[INFO] [stderr]     Checking serde_json v1.0.44
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]     Checking bitcoin v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/api/mod.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` 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: unused import: `self`
[INFO] [stdout]  --> src/blockchain/mod.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::types::block::{self, *};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/blockchain/mod.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/blockchain/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::IteratorRandom`
[INFO] [stdout]  --> src/blockchain/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::seq::IteratorRandom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::address::Address`
[INFO] [stdout]  --> src/blockchain/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::types::address::Address;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]   --> src/miner/mod.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[cfg(any(test, test_utilities))]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 34 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]  --> src/miner/worker.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::types::hash::{Hashable, H256};
[INFO] [stdout]   |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Sender`, `TryRecvError`, and `unbounded`
[INFO] [stdout]  --> src/miner/worker.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crossbeam::channel::{unbounded, Receiver, Sender, TryRecvError};
[INFO] [stdout]   |                          ^^^^^^^^^            ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/miner/worker.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{debug, info};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/miner/mod.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::blockchain::{self, *};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]   --> src/miner/mod.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::hash::{Hashable, H256};
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> src/network/message.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> src/network/message.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]   --> src/network/peer.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[cfg(any(test,test_utilities))]
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]   --> src/network/peer.rs:62:16
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[cfg(any(test,test_utilities))]
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]   --> src/network/peer.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout] 49 |     #[cfg(any(test,test_utilities))]
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]    --> src/network/server.rs:235:16
[INFO] [stdout]     |
[INFO] [stdout] 235 | #[cfg(any(test,test_utilities))]
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]    --> src/network/server.rs:239:16
[INFO] [stdout]     |
[INFO] [stdout] 239 | #[cfg(any(test,test_utilities))]
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]    --> src/network/server.rs:270:20
[INFO] [stdout]     |
[INFO] [stdout] 270 |     #[cfg(any(test,test_utilities))]
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]   --> src/network/worker.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[cfg(any(test,test_utilities))]
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]   --> src/network/worker.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[cfg(any(test,test_utilities))]
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SignedTransaction` and `Transaction`
[INFO] [stdout]   --> src/network/worker.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::types::transaction::{self, Transaction, SignedTransaction};
[INFO] [stdout]    |                                       ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> src/types/address.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> src/types/address.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]   |                                    ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]   --> src/types/block.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[cfg(any(test, test_utilities))]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/types/block.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::merkle::MerkleTree`
[INFO] [stdout]  --> src/types/block.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::types::merkle::MerkleTree;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/types/block.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/block.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/block.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/block.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/block.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/block.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/block.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]  --> src/types/hash.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[cfg(any(test, test_utilities))]
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]    --> src/types/hash.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[cfg(any(test, test_utilities))]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/hash.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/hash.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/types/merkle.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ring::digest::{Context};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EdDSAParameters`
[INFO] [stdout]  --> src/types/transaction.rs:2:82
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/types/transaction.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/types/transaction.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> src/types/transaction.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> src/types/transaction.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/transaction.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/transaction.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/types/state.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ED25519`, `EdDSAParameters`, `Signature`, `UnparsedPublicKey`, and `VerificationAlgorithm`
[INFO] [stdout]  --> src/tx_gen/mod.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                       ^^^^^^^^^           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/tx_gen/mod.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::blockchain::{self, *};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Content`, and `Header`
[INFO] [stdout]  --> src/tx_gen/mod.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::types::block::{Block, Content, Header};
[INFO] [stdout]   |                           ^^^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::merkle::MerkleTree`
[INFO] [stdout]  --> src/tx_gen/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::types::merkle::MerkleTree;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/tx_gen/mod.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]   --> src/tx_gen/mod.rs:11:36
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::types::hash::{Hashable, H256};
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/tx_gen/mod.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{Rng, thread_rng};
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::agreement::PublicKey`
[INFO] [stdout]   --> src/tx_gen/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use ring::agreement::PublicKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `transaction`
[INFO] [stdout]   --> src/tx_gen/mod.rs:19:30
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::types::{key_pair, transaction};
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use futures::FutureExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyPair`
[INFO] [stdout]  --> src/types/transaction.rs:2:50
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerificationAlgorithm`
[INFO] [stdout]  --> src/types/transaction.rs:2:59
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain/mod.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut tx_data: Vec<SignedTransaction> = Vec::new();
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain/mod.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let mut tip: H256 = genesis.hash();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain/mod.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut max_len: u128 = 1;
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/blockchain/mod.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         for i in 0..self.max_len {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/blockchain/mod.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         for i in 0..self.max_len{
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner/mod.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut blockchain_ = self.blockchain.lock().unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner/mod.rs:188:25
[INFO] [stdout]     |
[INFO] [stdout] 188 |                     let mut block = Block {
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/network/worker.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |                 _ => {}
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/network/worker.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout]  85 |                 Message::Ping(nonce) => {
[INFO] [stdout]     |                 -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  90 |                 Message::Pong(nonce) => {
[INFO] [stdout]     |                 -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  94 |                 Message::NewBlockHashes(hashVec) => {
[INFO] [stdout]     |                 -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 107 |                 Message::GetBlocks(hashVec) => {
[INFO] [stdout]     |                 --------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 245 |                 _ => {}
[INFO] [stdout]     |                 ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/worker.rs:211:25
[INFO] [stdout]     |
[INFO] [stdout] 211 |                     let mut mempool = self.mempool.lock().unwrap();
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/worker.rs:224:25
[INFO] [stdout]     |
[INFO] [stdout] 224 |                     let mut mempool = self.mempool.lock().unwrap();
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/worker.rs:237:25
[INFO] [stdout]     |
[INFO] [stdout] 237 |                     let mut new_txs: Vec<H256> = vec![];
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_txs`
[INFO] [stdout]    --> src/network/worker.rs:237:25
[INFO] [stdout]     |
[INFO] [stdout] 237 |                     let mut new_txs: Vec<H256> = vec![];
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_txs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `loop_time` is never read
[INFO] [stdout]    --> src/tx_gen/mod.rs:180:36
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let mut loop_time: usize = 1;
[INFO] [stdout]     |                                    ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 185 |             loop_time = rng.gen_range(0..latest_state.state.keys().len());
[INFO] [stdout]     |             ------------------------------------------------------------- `loop_time` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tx_gen/mod.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout] 217 |             let mut loop_time = rng.gen_range(0..latest_state.state.keys().len());
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nonce_and_balance`
[INFO] [stdout]    --> src/tx_gen/mod.rs:219:27
[INFO] [stdout]     |
[INFO] [stdout] 219 |             for (account, nonce_and_balance) in latest_state.state.iter() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nonce_and_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mempool` is never read
[INFO] [stdout]   --> src/api/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Server {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     mempool: Arc<Mutex<Mempool>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mempool` and `key_pair` are never read
[INFO] [stdout]   --> src/tx_gen/mod.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Context {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     mempool: Arc<Mutex<Mempool>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 40 |     state_per_block: Arc<Mutex<StatePerBlock>>,
[INFO] [stdout] 41 |     key_pair: Ed25519KeyPair,
[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/api/mod.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Serialize)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ApiResponse`
[INFO] [stdout] 30 | struct ApiResponse {
[INFO] [stdout]    |        ----------- `ApiResponse` is not local
[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: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/miner/mod.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         drop(difficulty_);
[INFO] [stdout]     |         ^^^^^-----------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `H256`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 112 -         drop(difficulty_);
[INFO] [stdout] 112 +         let _ = difficulty_;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/miner/mod.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |         drop(parent_);
[INFO] [stdout]     |         ^^^^^-------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `H256`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 113 -         drop(parent_);
[INFO] [stdout] 113 +         let _ = parent_;
[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/network/message.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |          ^--------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Serialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Message`
[INFO] [stdout] 6 | pub enum Message {
[INFO] [stdout]   |          ------- `Message` is not local
[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/network/message.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |                     ^----------
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `Deserialize` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Message`
[INFO] [stdout] 6 | pub enum Message {
[INFO] [stdout]   |          ------- `Message` is not local
[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: variable `hashVec` should have a snake case name
[INFO] [stdout]   --> src/network/worker.rs:94:41
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 Message::NewBlockHashes(hashVec) => {
[INFO] [stdout]    |                                         ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hashVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:107:36
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 Message::GetBlocks(hashVec) => {
[INFO] [stdout]     |                                    ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `blockVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:120:33
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 Message::Blocks(blockVec) => {
[INFO] [stdout]     |                                 ^^^^^^^^ help: convert the identifier to snake case: `block_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hashVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:209:47
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 Message::NewTransactionHashes(hashVec) => {
[INFO] [stdout]     |                                               ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hashVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:222:42
[INFO] [stdout]     |
[INFO] [stdout] 222 |                 Message::GetTransactions(hashVec) => {
[INFO] [stdout]     |                                          ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `txVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:235:39
[INFO] [stdout]     |
[INFO] [stdout] 235 |                 Message::Transactions(txVec) => {
[INFO] [stdout]     |                                       ^^^^^ help: convert the identifier to snake case: `tx_vec`
[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/types/address.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]   |                         ^--------
[INFO] [stdout]   |                         |
[INFO] [stdout]   |                         `Serialize` is not local
[INFO] [stdout]   |                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Address`
[INFO] [stdout] 6 | pub struct Address([u8; 20]);
[INFO] [stdout]   |            ------- `Address` is not local
[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/types/address.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]   |                                    ^----------
[INFO] [stdout]   |                                    |
[INFO] [stdout]   |                                    `Deserialize` is not local
[INFO] [stdout]   |                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Address`
[INFO] [stdout] 6 | pub struct Address([u8; 20]);
[INFO] [stdout]   |            ------- `Address` is not local
[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/types/block.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Block`
[INFO] [stdout] 11 | pub struct Block {
[INFO] [stdout]    |            ----- `Block` is not local
[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/types/block.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Block`
[INFO] [stdout] 11 | pub struct Block {
[INFO] [stdout]    |            ----- `Block` is not local
[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/types/block.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Header`
[INFO] [stdout] 18 | pub struct Header {
[INFO] [stdout]    |            ------ `Header` is not local
[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/types/block.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Header`
[INFO] [stdout] 18 | pub struct Header {
[INFO] [stdout]    |            ------ `Header` is not local
[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/types/block.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Content`
[INFO] [stdout] 28 | pub struct Content {
[INFO] [stdout]    |            ------- `Content` is not local
[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/types/block.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Content`
[INFO] [stdout] 28 | pub struct Content {
[INFO] [stdout]    |            ------- `Content` is not local
[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/types/hash.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                         ^--------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `Serialize` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_H256`
[INFO] [stdout] 14 | pub struct H256([u8; 32]); // big endian u256
[INFO] [stdout]    |            ---- `H256` is not local
[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/types/hash.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                                    ^----------
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Deserialize` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_H256`
[INFO] [stdout] 14 | pub struct H256([u8; 32]); // big endian u256
[INFO] [stdout]    |            ---- `H256` is not local
[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/types/transaction.rs:9:10
[INFO] [stdout]    |
[INFO] [stdout]  9 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Transaction`
[INFO] [stdout] 10 | pub struct Transaction {
[INFO] [stdout]    |            ----------- `Transaction` is not local
[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/types/transaction.rs:9:21
[INFO] [stdout]    |
[INFO] [stdout]  9 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Transaction`
[INFO] [stdout] 10 | pub struct Transaction {
[INFO] [stdout]    |            ----------- `Transaction` is not local
[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/types/transaction.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SignedTransaction`
[INFO] [stdout] 18 | pub struct SignedTransaction {
[INFO] [stdout]    |            ----------------- `SignedTransaction` is not local
[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/types/transaction.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SignedTransaction`
[INFO] [stdout] 18 | pub struct SignedTransaction {
[INFO] [stdout]    |            ----------------- `SignedTransaction` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]    Compiling ntest_timeout v0.7.3
[INFO] [stderr]     Checking ntest v0.7.3
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/api/mod.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` 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: unused import: `self`
[INFO] [stdout]  --> src/blockchain/mod.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::types::block::{self, *};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/blockchain/mod.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/blockchain/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::IteratorRandom`
[INFO] [stdout]  --> src/blockchain/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::seq::IteratorRandom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::address::Address`
[INFO] [stdout]  --> src/blockchain/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::types::address::Address;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]   --> src/miner/mod.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[cfg(any(test, test_utilities))]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 34 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]  --> src/miner/worker.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::types::hash::{Hashable, H256};
[INFO] [stdout]   |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Sender`, `TryRecvError`, and `unbounded`
[INFO] [stdout]  --> src/miner/worker.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crossbeam::channel::{unbounded, Receiver, Sender, TryRecvError};
[INFO] [stdout]   |                          ^^^^^^^^^            ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/miner/worker.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{debug, info};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/miner/mod.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::blockchain::{self, *};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]   --> src/miner/mod.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::hash::{Hashable, H256};
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> src/network/message.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> src/network/message.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]   --> src/network/peer.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[cfg(any(test,test_utilities))]
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]   --> src/network/peer.rs:62:16
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[cfg(any(test,test_utilities))]
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]   --> src/network/peer.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout] 49 |     #[cfg(any(test,test_utilities))]
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]    --> src/network/server.rs:235:16
[INFO] [stdout]     |
[INFO] [stdout] 235 | #[cfg(any(test,test_utilities))]
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]    --> src/network/server.rs:239:16
[INFO] [stdout]     |
[INFO] [stdout] 239 | #[cfg(any(test,test_utilities))]
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]    --> src/network/server.rs:270:20
[INFO] [stdout]     |
[INFO] [stdout] 270 |     #[cfg(any(test,test_utilities))]
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]   --> src/network/worker.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[cfg(any(test,test_utilities))]
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]   --> src/network/worker.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[cfg(any(test,test_utilities))]
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SignedTransaction` and `Transaction`
[INFO] [stdout]   --> src/network/worker.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::types::transaction::{self, Transaction, SignedTransaction};
[INFO] [stdout]    |                                       ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::peer::TestReceiver as PeerTestReceiver`
[INFO] [stdout]   --> src/network/worker.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use super::peer::TestReceiver as PeerTestReceiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::server::TestReceiver as ServerTestReceiver`
[INFO] [stdout]   --> src/network/worker.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use super::server::TestReceiver as ServerTestReceiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> src/types/address.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> src/types/address.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]   |                                    ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]   --> src/types/block.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[cfg(any(test, test_utilities))]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/block.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/block.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/block.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/block.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/block.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/block.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]  --> src/types/hash.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[cfg(any(test, test_utilities))]
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `test_utilities`
[INFO] [stdout]    --> src/types/hash.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[cfg(any(test, test_utilities))]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_utilities)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(test_utilities)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/hash.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/hash.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/types/merkle.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ring::digest::{Context};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EdDSAParameters`
[INFO] [stdout]  --> src/types/transaction.rs:2:82
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> src/types/transaction.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/types/transaction.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> src/types/transaction.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> src/types/transaction.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/transaction.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/types/transaction.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `test-utilities`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/types/state.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ED25519`, `EdDSAParameters`, `Signature`, `UnparsedPublicKey`, and `VerificationAlgorithm`
[INFO] [stdout]  --> src/tx_gen/mod.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                       ^^^^^^^^^           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/tx_gen/mod.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::blockchain::{self, *};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Content`, and `Header`
[INFO] [stdout]  --> src/tx_gen/mod.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::types::block::{Block, Content, Header};
[INFO] [stdout]   |                           ^^^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::merkle::MerkleTree`
[INFO] [stdout]  --> src/tx_gen/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::types::merkle::MerkleTree;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/tx_gen/mod.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]   --> src/tx_gen/mod.rs:11:36
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::types::hash::{Hashable, H256};
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/tx_gen/mod.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{Rng, thread_rng};
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::agreement::PublicKey`
[INFO] [stdout]   --> src/tx_gen/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use ring::agreement::PublicKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `transaction`
[INFO] [stdout]   --> src/tx_gen/mod.rs:19:30
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::types::{key_pair, transaction};
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use futures::FutureExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyPair`
[INFO] [stdout]  --> src/types/transaction.rs:2:50
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerificationAlgorithm`
[INFO] [stdout]  --> src/types/transaction.rs:2:59
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain/mod.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut tx_data: Vec<SignedTransaction> = Vec::new();
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain/mod.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let mut tip: H256 = genesis.hash();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain/mod.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut max_len: u128 = 1;
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/blockchain/mod.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         for i in 0..self.max_len {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/blockchain/mod.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         for i in 0..self.max_len{
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner/mod.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut blockchain_ = self.blockchain.lock().unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner/mod.rs:188:25
[INFO] [stdout]     |
[INFO] [stdout] 188 |                     let mut block = Block {
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/network/worker.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |                 _ => {}
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/network/worker.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout]  85 |                 Message::Ping(nonce) => {
[INFO] [stdout]     |                 -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  90 |                 Message::Pong(nonce) => {
[INFO] [stdout]     |                 -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  94 |                 Message::NewBlockHashes(hashVec) => {
[INFO] [stdout]     |                 -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 107 |                 Message::GetBlocks(hashVec) => {
[INFO] [stdout]     |                 --------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 245 |                 _ => {}
[INFO] [stdout]     |                 ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/worker.rs:211:25
[INFO] [stdout]     |
[INFO] [stdout] 211 |                     let mut mempool = self.mempool.lock().unwrap();
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/worker.rs:224:25
[INFO] [stdout]     |
[INFO] [stdout] 224 |                     let mut mempool = self.mempool.lock().unwrap();
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/worker.rs:237:25
[INFO] [stdout]     |
[INFO] [stdout] 237 |                     let mut new_txs: Vec<H256> = vec![];
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_txs`
[INFO] [stdout]    --> src/network/worker.rs:237:25
[INFO] [stdout]     |
[INFO] [stdout] 237 |                     let mut new_txs: Vec<H256> = vec![];
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_txs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/types/block.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut t_vec: Vec<SignedTransaction> = Vec::new();
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/types/block.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut merkle_tree = MerkleTree::new(&t_vec);
[INFO] [stdout]    |         ----^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `loop_time` is never read
[INFO] [stdout]    --> src/tx_gen/mod.rs:180:36
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let mut loop_time: usize = 1;
[INFO] [stdout]     |                                    ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 185 |             loop_time = rng.gen_range(0..latest_state.state.keys().len());
[INFO] [stdout]     |             ------------------------------------------------------------- `loop_time` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tx_gen/mod.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout] 217 |             let mut loop_time = rng.gen_range(0..latest_state.state.keys().len());
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nonce_and_balance`
[INFO] [stdout]    --> src/tx_gen/mod.rs:219:27
[INFO] [stdout]     |
[INFO] [stdout] 219 |             for (account, nonce_and_balance) in latest_state.state.iter() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nonce_and_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mempool` is never read
[INFO] [stdout]   --> src/api/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Server {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     mempool: Arc<Mutex<Mempool>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mempool` and `key_pair` are never read
[INFO] [stdout]   --> src/tx_gen/mod.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Context {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     mempool: Arc<Mutex<Mempool>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 40 |     state_per_block: Arc<Mutex<StatePerBlock>>,
[INFO] [stdout] 41 |     key_pair: Ed25519KeyPair,
[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/api/mod.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Serialize)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ApiResponse`
[INFO] [stdout] 30 | struct ApiResponse {
[INFO] [stdout]    |        ----------- `ApiResponse` is not local
[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: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/miner/mod.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         drop(difficulty_);
[INFO] [stdout]     |         ^^^^^-----------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `H256`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 112 -         drop(difficulty_);
[INFO] [stdout] 112 +         let _ = difficulty_;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/miner/mod.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |         drop(parent_);
[INFO] [stdout]     |         ^^^^^-------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `H256`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 113 -         drop(parent_);
[INFO] [stdout] 113 +         let _ = parent_;
[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/network/message.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |          ^--------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Serialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Message`
[INFO] [stdout] 6 | pub enum Message {
[INFO] [stdout]   |          ------- `Message` is not local
[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/network/message.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |                     ^----------
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `Deserialize` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Message`
[INFO] [stdout] 6 | pub enum Message {
[INFO] [stdout]   |          ------- `Message` is not local
[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: variable `hashVec` should have a snake case name
[INFO] [stdout]   --> src/network/worker.rs:94:41
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 Message::NewBlockHashes(hashVec) => {
[INFO] [stdout]    |                                         ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hashVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:107:36
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 Message::GetBlocks(hashVec) => {
[INFO] [stdout]     |                                    ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `blockVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:120:33
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 Message::Blocks(blockVec) => {
[INFO] [stdout]     |                                 ^^^^^^^^ help: convert the identifier to snake case: `block_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hashVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:209:47
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 Message::NewTransactionHashes(hashVec) => {
[INFO] [stdout]     |                                               ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hashVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:222:42
[INFO] [stdout]     |
[INFO] [stdout] 222 |                 Message::GetTransactions(hashVec) => {
[INFO] [stdout]     |                                          ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `txVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:235:39
[INFO] [stdout]     |
[INFO] [stdout] 235 |                 Message::Transactions(txVec) => {
[INFO] [stdout]     |                                       ^^^^^ help: convert the identifier to snake case: `tx_vec`
[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/types/address.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]   |                         ^--------
[INFO] [stdout]   |                         |
[INFO] [stdout]   |                         `Serialize` is not local
[INFO] [stdout]   |                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Address`
[INFO] [stdout] 6 | pub struct Address([u8; 20]);
[INFO] [stdout]   |            ------- `Address` is not local
[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/types/address.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]   |                                    ^----------
[INFO] [stdout]   |                                    |
[INFO] [stdout]   |                                    `Deserialize` is not local
[INFO] [stdout]   |                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Address`
[INFO] [stdout] 6 | pub struct Address([u8; 20]);
[INFO] [stdout]   |            ------- `Address` is not local
[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/types/block.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Block`
[INFO] [stdout] 11 | pub struct Block {
[INFO] [stdout]    |            ----- `Block` is not local
[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/types/block.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Block`
[INFO] [stdout] 11 | pub struct Block {
[INFO] [stdout]    |            ----- `Block` is not local
[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/types/block.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Header`
[INFO] [stdout] 18 | pub struct Header {
[INFO] [stdout]    |            ------ `Header` is not local
[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/types/block.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Header`
[INFO] [stdout] 18 | pub struct Header {
[INFO] [stdout]    |            ------ `Header` is not local
[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/types/block.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Content`
[INFO] [stdout] 28 | pub struct Content {
[INFO] [stdout]    |            ------- `Content` is not local
[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/types/block.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Content`
[INFO] [stdout] 28 | pub struct Content {
[INFO] [stdout]    |            ------- `Content` is not local
[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/types/hash.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                         ^--------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `Serialize` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_H256`
[INFO] [stdout] 14 | pub struct H256([u8; 32]); // big endian u256
[INFO] [stdout]    |            ---- `H256` is not local
[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/types/hash.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                                    ^----------
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Deserialize` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_H256`
[INFO] [stdout] 14 | pub struct H256([u8; 32]); // big endian u256
[INFO] [stdout]    |            ---- `H256` is not local
[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/types/transaction.rs:9:10
[INFO] [stdout]    |
[INFO] [stdout]  9 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Transaction`
[INFO] [stdout] 10 | pub struct Transaction {
[INFO] [stdout]    |            ----------- `Transaction` is not local
[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/types/transaction.rs:9:21
[INFO] [stdout]    |
[INFO] [stdout]  9 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Transaction`
[INFO] [stdout] 10 | pub struct Transaction {
[INFO] [stdout]    |            ----------- `Transaction` is not local
[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/types/transaction.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SignedTransaction`
[INFO] [stdout] 18 | pub struct SignedTransaction {
[INFO] [stdout]    |            ----------------- `SignedTransaction` is not local
[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/types/transaction.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SignedTransaction`
[INFO] [stdout] 18 | pub struct SignedTransaction {
[INFO] [stdout]    |            ----------------- `SignedTransaction` is not local
[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] warning: unused dependency `hex`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | hex = "0.4"
[INFO] [stderr]   | ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `hex`
[INFO] [stderr] warning: `bitcoin` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.01s
[INFO] running `Command { std: "docker" "inspect" "8c1414ba618dc33de791f066db495a38d857fdeb9b3c1b969a9198e5957914ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c1414ba618dc33de791f066db495a38d857fdeb9b3c1b969a9198e5957914ef", kill_on_drop: false }`
[INFO] [stdout] 8c1414ba618dc33de791f066db495a38d857fdeb9b3c1b969a9198e5957914ef
