[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 a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjustinxu9905%2Fece598pv-Principles-of-Blockchains" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/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-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/justinxu9905/ece598pv-Principles-of-Blockchains on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 53a675fc2027c043e91630dc78dcb7909602c4a8e1fd14f2f66395f0cfceff01
[INFO] running `Command { std: "docker" "start" "53a675fc2027c043e91630dc78dcb7909602c4a8e1fd14f2f66395f0cfceff01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "53a675fc2027c043e91630dc78dcb7909602c4a8e1fd14f2f66395f0cfceff01", 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" "53a675fc2027c043e91630dc78dcb7909602c4a8e1fd14f2f66395f0cfceff01" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "53a675fc2027c043e91630dc78dcb7909602c4a8e1fd14f2f66395f0cfceff01", 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" "53a675fc2027c043e91630dc78dcb7909602c4a8e1fd14f2f66395f0cfceff01" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.108
[INFO] [stderr]    Compiling proc-macro2 v1.0.32
[INFO] [stderr]    Compiling syn v1.0.82
[INFO] [stderr]    Compiling futures-core v0.3.18
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]     Checking futures-io v0.3.18
[INFO] [stderr]     Checking pin-project-lite v0.2.7
[INFO] [stderr]     Checking cache-padded v1.1.1
[INFO] [stderr]    Compiling serde v1.0.101
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]     Checking event-listener v2.5.1
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking waker-fn v1.1.0
[INFO] [stderr]     Checking parking v2.0.0
[INFO] [stderr]     Checking fastrand v1.5.0
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]     Checking concurrent-queue v1.2.2
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]     Checking async-task v4.0.3
[INFO] [stderr]    Compiling futures-channel v0.3.18
[INFO] [stderr]    Compiling futures-task v0.3.18
[INFO] [stderr]     Checking matches v0.1.8
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]     Checking futures-sink 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 unicode-bidi v0.3.4
[INFO] [stderr]     Checking unicode-normalization v0.1.8
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking async-channel v1.6.1
[INFO] [stderr]    Compiling crossbeam-queue v0.3.2
[INFO] [stderr]    Compiling bitflags v1.2.0
[INFO] [stderr]    Compiling ring v0.16.9
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]     Checking async-lock v2.4.0
[INFO] [stderr]    Compiling bincode v1.2.0
[INFO] [stderr]     Checking unicode-width v0.1.6
[INFO] [stderr]     Checking ppv-lite86 v0.2.15
[INFO] [stderr]     Checking futures-lite v1.12.0
[INFO] [stderr]     Checking simple-mutex v1.1.5
[INFO] [stderr]     Checking thread_local v1.0.1
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]    Compiling ntest_proc_macro_helper v0.7.3
[INFO] [stderr]     Checking untrusted v0.7.0
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]     Checking itoa v0.4.4
[INFO] [stderr]     Checking chunked_transfer v1.4.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking ascii v1.0.0
[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 crossbeam-channel v0.5.1
[INFO] [stderr]     Checking polling v2.2.0
[INFO] [stderr]     Checking socket2 v0.4.2
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking term_size v0.3.1
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking idna v0.2.0
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking crossbeam v0.8.1
[INFO] [stderr]     Checking rand v0.8.4
[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 async-net v1.6.1
[INFO] [stderr]     Checking async-process v1.3.0
[INFO] [stderr]     Checking stderrlog v0.5.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] error: useless conversion to the same type: `&[u8]`
[INFO] [stdout]  --> src/types/key_pair.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Ed25519KeyPair::from_pkcs8(pkcs8_bytes.as_ref().into()).unwrap()
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]   = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]   |
[INFO] [stdout] 8 -     Ed25519KeyPair::from_pkcs8(pkcs8_bytes.as_ref().into()).unwrap()
[INFO] [stdout] 8 +     Ed25519KeyPair::from_pkcs8(pkcs8_bytes.as_ref()).unwrap()
[INFO] [stdout]   |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]   |
[INFO] [stdout] 8 -     Ed25519KeyPair::from_pkcs8(pkcs8_bytes.as_ref().into()).unwrap()
[INFO] [stdout] 8 +     Ed25519KeyPair::from_pkcs8(<&[u8] as Into<_>>::into(pkcs8_bytes.as_ref())).unwrap()
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/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] error: could not compile `bitcoin` (bin "bitcoin") due to 1 previous error; 102 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "53a675fc2027c043e91630dc78dcb7909602c4a8e1fd14f2f66395f0cfceff01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "53a675fc2027c043e91630dc78dcb7909602c4a8e1fd14f2f66395f0cfceff01", kill_on_drop: false }`
[INFO] [stdout] 53a675fc2027c043e91630dc78dcb7909602c4a8e1fd14f2f66395f0cfceff01
