[INFO] cloning repository https://github.com/SwaggyCloud/ece598
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SwaggyCloud/ece598" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwaggyCloud%2Fece598", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwaggyCloud%2Fece598'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 66f50dbe71122bef85310bc76e1a79db0fc48865
[INFO] checking SwaggyCloud/ece598 against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwaggyCloud%2Fece598" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  43% (822/1901)
Updating files:  44% (837/1901)
Updating files:  45% (856/1901)
Updating files:  46% (875/1901)
Updating files:  47% (894/1901)
Updating files:  48% (913/1901)
Updating files:  49% (932/1901)
Updating files:  50% (951/1901)
Updating files:  51% (970/1901)
Updating files:  52% (989/1901)
Updating files:  53% (1008/1901)
Updating files:  54% (1027/1901)
Updating files:  55% (1046/1901)
Updating files:  56% (1065/1901)
Updating files:  57% (1084/1901)
Updating files:  58% (1103/1901)
Updating files:  59% (1122/1901)
Updating files:  60% (1141/1901)
Updating files:  61% (1160/1901)
Updating files:  62% (1179/1901)
Updating files:  63% (1198/1901)
Updating files:  64% (1217/1901)
Updating files:  65% (1236/1901)
Updating files:  66% (1255/1901)
Updating files:  67% (1274/1901)
Updating files:  68% (1293/1901)
Updating files:  69% (1312/1901)
Updating files:  70% (1331/1901)
Updating files:  71% (1350/1901)
Updating files:  72% (1369/1901)
Updating files:  73% (1388/1901)
Updating files:  74% (1407/1901)
Updating files:  75% (1426/1901)
Updating files:  76% (1445/1901)
Updating files:  77% (1464/1901)
Updating files:  78% (1483/1901)
Updating files:  79% (1502/1901)
Updating files:  80% (1521/1901)
Updating files:  81% (1540/1901)
Updating files:  82% (1559/1901)
Updating files:  83% (1578/1901)
Updating files:  84% (1597/1901)
Updating files:  85% (1616/1901)
Updating files:  86% (1635/1901)
Updating files:  87% (1654/1901)
Updating files:  88% (1673/1901)
Updating files:  89% (1692/1901)
Updating files:  90% (1711/1901)
Updating files:  91% (1730/1901)
Updating files:  92% (1749/1901)
Updating files:  93% (1768/1901)
Updating files:  94% (1787/1901)
Updating files:  95% (1806/1901)
Updating files:  96% (1825/1901)
Updating files:  97% (1844/1901)
Updating files:  98% (1863/1901)
Updating files:  99% (1882/1901)
Updating files: 100% (1901/1901)
Updating files: 100% (1901/1901), done.
[INFO] validating manifest of git repo https://github.com/SwaggyCloud/ece598 on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/SwaggyCloud/ece598
[INFO] finished tweaking git repo https://github.com/SwaggyCloud/ece598
[INFO] tweaked toml for git repo https://github.com/SwaggyCloud/ece598 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/SwaggyCloud/ece598 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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded hex-literal-impl v0.2.1
[INFO] [stderr]   Downloaded ascii v0.8.7
[INFO] [stderr]   Downloaded backtrace v0.3.38
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.51
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.51
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.51
[INFO] [stderr]   Downloaded js-sys v0.3.28
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.51
[INFO] [stderr]   Downloaded wasm-bindgen-webidl v0.2.51
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.51
[INFO] [stderr]   Downloaded tiny_http v0.6.2
[INFO] [stderr]   Downloaded hex v0.4.0
[INFO] [stderr]   Downloaded web-sys v0.3.28
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 58d9e875cf31143d21171cce77f94355f640d6d271065122a9f0e0a328df8cf9
[INFO] running `Command { std: "docker" "start" "-a" "58d9e875cf31143d21171cce77f94355f640d6d271065122a9f0e0a328df8cf9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "58d9e875cf31143d21171cce77f94355f640d6d271065122a9f0e0a328df8cf9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "58d9e875cf31143d21171cce77f94355f640d6d271065122a9f0e0a328df8cf9", kill_on_drop: false }`
[INFO] [stdout] 58d9e875cf31143d21171cce77f94355f640d6d271065122a9f0e0a328df8cf9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a875be5b6ae4d05c78bbbbb1b7d2667ecd28ba8ae5d5b72f0dbc691a16c0b492
[INFO] running `Command { std: "docker" "start" "-a" "a875be5b6ae4d05c78bbbbb1b7d2667ecd28ba8ae5d5b72f0dbc691a16c0b492", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.6
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling proc-macro2 v1.0.5
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling syn v1.0.5
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking smallvec v0.6.10
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]     Checking matches v0.1.8
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]    Compiling serde v1.0.101
[INFO] [stderr]    Compiling bitflags v1.2.0
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]     Checking crossbeam-utils v0.6.6
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]     Checking scopeguard v1.0.0
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling cc v1.0.45
[INFO] [stderr]     Checking unicode-normalization v0.1.8
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling bincode v1.2.0
[INFO] [stderr]     Checking unicode-width v0.1.6
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]    Compiling memoffset v0.5.1
[INFO] [stderr]     Checking crossbeam-channel v0.3.9
[INFO] [stderr]     Checking crossbeam-queue v0.1.2
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking untrusted v0.7.0
[INFO] [stderr]     Checking termcolor v0.3.6
[INFO] [stderr]     Checking ascii v0.8.7
[INFO] [stderr]     Checking chunked_transfer v0.3.1
[INFO] [stderr]     Checking itoa v0.4.4
[INFO] [stderr]     Checking lazycell v1.2.1
[INFO] [stderr]     Checking hex v0.4.0
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking term_size v0.3.1
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking crossbeam-epoch v0.7.2
[INFO] [stderr]     Checking idna v0.2.0
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]    Compiling ring v0.16.9
[INFO] [stderr]     Checking mio v0.6.19
[INFO] [stderr]     Checking crossbeam-deque v0.7.1
[INFO] [stderr]     Checking crossbeam v0.7.2
[INFO] [stderr]     Checking url v2.1.0
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]     Checking chrono v0.4.9
[INFO] [stderr]     Checking mio-extras v2.0.5
[INFO] [stderr]     Checking stderrlog v0.4.1
[INFO] [stderr]     Checking tiny_http v0.6.2
[INFO] [stderr]    Compiling serde_derive v1.0.101
[INFO] [stderr]    Compiling proc-macro-hack v0.5.11
[INFO] [stderr]    Compiling hex-literal-impl v0.2.1
[INFO] [stderr]     Checking hex-literal v0.2.1
[INFO] [stderr]     Checking serde_json v1.0.44
[INFO] [stderr]     Checking bitcoin v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Transaction`, `generate_rand_transaction`
[INFO] [stdout]  --> src/block.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::transaction::{Transaction, generate_rand_transaction, SignedTrans};
[INFO] [stdout]   |                          ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::merkle::MerkleTree`
[INFO] [stdout]   --> src/block.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     use crate::crypto::merkle::MerkleTree;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/blockchain.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Output`, `SignedTrans`
[INFO] [stdout]  --> src/blockchain.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::transaction::{Transaction, SignedTrans, Output, verify};
[INFO] [stdout]   |                                       ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Transaction`, `generate_rand_transaction`
[INFO] [stdout]  --> src/block.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::transaction::{Transaction, generate_rand_transaction, SignedTrans};
[INFO] [stdout]   |                          ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hex` is imported redundantly
[INFO] [stdout]   --> src/block.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     use hex_literal::hex;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/main.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | #[macro_use]
[INFO] [stdout]    | ------------ the item `hex` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::merkle::MerkleTree`
[INFO] [stdout]   --> src/block.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     use crate::crypto::merkle::MerkleTree;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/blockchain.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Output`, `SignedTrans`
[INFO] [stdout]  --> src/blockchain.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::transaction::{Transaction, SignedTrans, Output, verify};
[INFO] [stdout]   |                                       ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/blockchain.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let p = (parent_block.clone());
[INFO] [stdout]     |                 ^                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 143 -         let p = (parent_block.clone());
[INFO] [stdout] 143 +         let p = parent_block.clone();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/crypto/merkle.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 let (sub_lem_val);
[INFO] [stdout]    |                     ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -                 let (sub_lem_val);
[INFO] [stdout] 81 +                 let sub_lem_val;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time`
[INFO] [stdout]  --> src/miner.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `gen_rand_signtx`, `generate_rand_transaction`
[INFO] [stdout]  --> src/miner.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::transaction::{Transaction, generate_rand_transaction, SignedTrans, sign, Input, Output, gen_rand_signtx};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::merkle::MerkleTree`
[INFO] [stdout]   --> src/miner.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::crypto::merkle::MerkleTree;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Content`, `Header`
[INFO] [stdout]   --> src/miner.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::block::{Block, Header, Content};
[INFO] [stdout]    |                    ^^^^^  ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH`
[INFO] [stdout]   --> src/miner.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::time::{SystemTime, UNIX_EPOCH, Instant};
[INFO] [stdout]    |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `generate_rand_hash256`
[INFO] [stdout]   --> src/miner.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::crypto::hash::{Hashable, generate_rand_hash256, H160, H256};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_literal::hex`
[INFO] [stdout]   --> src/miner.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use hex_literal::hex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::network::message::Message::NewBlockHashes`
[INFO] [stdout]   --> src/miner.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::network::message::Message::NewBlockHashes;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::key_pair::random`
[INFO] [stdout]   --> src/miner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::crypto::key_pair::random;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::network::peer::Direction::Outgoing`
[INFO] [stdout]   --> src/miner.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::network::peer::Direction::Outgoing;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::quirks::hash`
[INFO] [stdout]   --> src/miner.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use url::quirks::hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `current`, `sleep`
[INFO] [stdout]   --> src/miner.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::thread::{sleep, current};
[INFO] [stdout]    |                   ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hex` is imported redundantly
[INFO] [stdout]    --> src/miner.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 18  | use hex_literal::hex;
[INFO] [stdout]     |     ---------------- the item `hex` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 124 |         use hex_literal::hex;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_literal::hex`
[INFO] [stdout]    --> src/miner.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         use hex_literal::hex;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transaction`
[INFO] [stdout]  --> src/network/message.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::transaction::{Transaction, SignedTrans};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MutexGuard`
[INFO] [stdout]  --> src/network/worker.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex, MutexGuard};
[INFO] [stdout]   |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]   --> src/network/worker.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::info;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/network/worker.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::{Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]   --> src/network/worker.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use serde::Serialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::transaction`
[INFO] [stdout]   --> src/network/worker.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::transaction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transaction`
[INFO] [stdout]   --> src/network/worker.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::transaction::{Transaction, verify, SignedTrans};
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::state::State`
[INFO] [stdout]   --> src/network/worker.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::state::State;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/blockchain.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let p = (parent_block.clone());
[INFO] [stdout]     |                 ^                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 143 -         let p = (parent_block.clone());
[INFO] [stdout] 143 +         let p = parent_block.clone();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EdDSAParameters`, `Signature`
[INFO] [stdout]  --> src/transaction.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey};
[INFO] [stdout]   |                                       ^^^^^^^^^                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/transaction.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::agreement::PublicKey`
[INFO] [stdout]   --> src/transaction.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ring::agreement::PublicKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/crypto/merkle.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 let (sub_lem_val);
[INFO] [stdout]    |                     ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -                 let (sub_lem_val);
[INFO] [stdout] 81 +                 let sub_lem_val;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rng` is imported redundantly
[INFO] [stdout]    --> src/transaction.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 6   | use rand::Rng;
[INFO] [stdout]     |     --------- the item `Rng` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 155 |     use rand::Rng;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time`
[INFO] [stdout]  --> src/miner.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H160`
[INFO] [stdout]  --> src/state.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::crypto::hash::{H256, H160};
[INFO] [stdout]   |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `gen_rand_signtx`, `generate_rand_transaction`
[INFO] [stdout]  --> src/miner.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::transaction::{Transaction, generate_rand_transaction, SignedTrans, sign, Input, Output, gen_rand_signtx};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_literal::hex`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use hex_literal::hex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mempool::Mempool`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::mempool::Mempool;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::merkle::MerkleTree`
[INFO] [stdout]   --> src/miner.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::crypto::merkle::MerkleTree;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Content`, `Header`
[INFO] [stdout]   --> src/miner.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::block::{Block, Header, Content};
[INFO] [stdout]    |                    ^^^^^  ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH`
[INFO] [stdout]   --> src/miner.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::time::{SystemTime, UNIX_EPOCH, Instant};
[INFO] [stdout]    |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `generate_rand_hash256`
[INFO] [stdout]   --> src/miner.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::crypto::hash::{Hashable, generate_rand_hash256, H160, H256};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_literal::hex`
[INFO] [stdout]   --> src/miner.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use hex_literal::hex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::network::message::Message::NewBlockHashes`
[INFO] [stdout]   --> src/miner.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::network::message::Message::NewBlockHashes;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::key_pair::random`
[INFO] [stdout]   --> src/miner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::crypto::key_pair::random;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::network::peer::Direction::Outgoing`
[INFO] [stdout]   --> src/miner.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::network::peer::Direction::Outgoing;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::quirks::hash`
[INFO] [stdout]   --> src/miner.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use url::quirks::hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `current`, `sleep`
[INFO] [stdout]   --> src/miner.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::thread::{sleep, current};
[INFO] [stdout]    |                   ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hex` is imported redundantly
[INFO] [stdout]    --> src/miner.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 18  | use hex_literal::hex;
[INFO] [stdout]     |     ---------------- the item `hex` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 124 |         use hex_literal::hex;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_literal::hex`
[INFO] [stdout]    --> src/miner.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         use hex_literal::hex;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transaction`
[INFO] [stdout]  --> src/network/message.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::transaction::{Transaction, SignedTrans};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MutexGuard`
[INFO] [stdout]  --> src/network/worker.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex, MutexGuard};
[INFO] [stdout]   |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]   --> src/network/worker.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::info;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/network/worker.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::{Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]   --> src/network/worker.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use serde::Serialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::transaction`
[INFO] [stdout]   --> src/network/worker.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::transaction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transaction`
[INFO] [stdout]   --> src/network/worker.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::transaction::{Transaction, verify, SignedTrans};
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::state::State`
[INFO] [stdout]   --> src/network/worker.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::state::State;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EdDSAParameters`, `Signature`
[INFO] [stdout]  --> src/transaction.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey};
[INFO] [stdout]   |                                       ^^^^^^^^^                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/transaction.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::agreement::PublicKey`
[INFO] [stdout]   --> src/transaction.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ring::agreement::PublicKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rng` is imported redundantly
[INFO] [stdout]    --> src/transaction.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 6   | use rand::Rng;
[INFO] [stdout]     |     --------- the item `Rng` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 155 |     use rand::Rng;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hex` is imported redundantly
[INFO] [stdout]    --> src/transaction.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |     use hex_literal::hex;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout] 2   | #[macro_use]
[INFO] [stdout]     | ------------ the item `hex` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rng` is imported redundantly
[INFO] [stdout]    --> src/transaction.rs:232:13
[INFO] [stdout]     |
[INFO] [stdout] 227 |     use super::*;
[INFO] [stdout]     |         -------- the item `Rng` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 232 |         use rand::Rng;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H160`
[INFO] [stdout]  --> src/state.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::crypto::hash::{H256, H160};
[INFO] [stdout]   |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_literal::hex`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use hex_literal::hex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mempool::Mempool`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::mempool::Mempool;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/miner.rs:267:25
[INFO] [stdout]     |
[INFO] [stdout] 266 |                         break;
[INFO] [stdout]     |                         ----- any code following this expression is unreachable
[INFO] [stdout] 267 |                         info!("time out");
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/miner.rs:267:25
[INFO] [stdout]     |
[INFO] [stdout] 266 |                         break;
[INFO] [stdout]     |                         ----- any code following this expression is unreachable
[INFO] [stdout] 267 |                         info!("time out");
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/blockchain.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/transaction.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerificationAlgorithm`
[INFO] [stdout]  --> src/transaction.rs:2:59
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/blockchain.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/transaction.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerificationAlgorithm`
[INFO] [stdout]  --> src/transaction.rs:2:59
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n1`
[INFO] [stdout]   --> src/block.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let n1: u32 = rng.gen();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/block.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut data = Vec::new();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n1`
[INFO] [stdout]   --> src/block.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let n1: u32 = rng.gen();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/block.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut data = Vec::new();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut o_buf = Vec::new();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/blockchain.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 |         for (hash,out) in st.clone() {
[INFO] [stdout]    |                   ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut o_buf = 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/blockchain.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut vec_in = transaction.tx_in.clone();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/blockchain.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 |         for (hash,out) in st.clone() {
[INFO] [stdout]    |                   ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut vec_in = transaction.tx_in.clone();
[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.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut b = (*block).clone();
[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.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut b = (*block).clone();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cnt`
[INFO] [stdout]   --> src/crypto/merkle.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut cnt = 0;
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_cnt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/crypto/merkle.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut cnt = 0;
[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/crypto/merkle.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 let mut tmp = cur[cur.len()-1].val;
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/crypto/merkle.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Node{val,left:Some(ref left),right:Some(ref right)}=>{
[INFO] [stdout]    |                  ^^^ help: try ignoring the field: `val: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cnt`
[INFO] [stdout]   --> src/crypto/merkle.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut cnt = 0;
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_cnt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sub_lem_val` is assigned to, but never used
[INFO] [stdout]   --> src/crypto/merkle.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 let (sub_lem_val);
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_sub_lem_val` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sub_lem_val` is never read
[INFO] [stdout]   --> src/crypto/merkle.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     sub_lem_val = MerkleTree::get_proof(left, index, left_count,res);
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sub_lem_val` is never read
[INFO] [stdout]   --> src/crypto/merkle.rs:87:21
[INFO] [stdout]    |
[INFO] [stdout] 87 |                     sub_lem_val = MerkleTree::get_proof(right, index - left_count, count - left_count,res);
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `fin` is never read
[INFO] [stdout]    --> src/crypto/merkle.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut fin = cat.finish();
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/crypto/merkle.rs:104:58
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn verify(root: &H256, datum: &H256, proof: &[H256], index: usize, leaf_size: usize) -> bool {
[INFO] [stdout]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leaf_size`
[INFO] [stdout]    --> src/crypto/merkle.rs:104:72
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn verify(root: &H256, datum: &H256, proof: &[H256], index: usize, leaf_size: usize) -> bool {
[INFO] [stdout]     |                                                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaf_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/crypto/merkle.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut cnt = 0;
[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/crypto/merkle.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 let mut tmp = cur[cur.len()-1].val;
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/crypto/merkle.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Node{val,left:Some(ref left),right:Some(ref right)}=>{
[INFO] [stdout]    |                  ^^^ help: try ignoring the field: `val: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sub_lem_val` is assigned to, but never used
[INFO] [stdout]   --> src/crypto/merkle.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 let (sub_lem_val);
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_sub_lem_val` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sub_lem_val` is never read
[INFO] [stdout]   --> src/crypto/merkle.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     sub_lem_val = MerkleTree::get_proof(left, index, left_count,res);
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sub_lem_val` is never read
[INFO] [stdout]   --> src/crypto/merkle.rs:87:21
[INFO] [stdout]    |
[INFO] [stdout] 87 |                     sub_lem_val = MerkleTree::get_proof(right, index - left_count, count - left_count,res);
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `fin` is never read
[INFO] [stdout]    --> src/crypto/merkle.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut fin = cat.finish();
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/crypto/merkle.rs:104:58
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn verify(root: &H256, datum: &H256, proof: &[H256], index: usize, leaf_size: usize) -> bool {
[INFO] [stdout]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leaf_size`
[INFO] [stdout]    --> src/crypto/merkle.rs:104:72
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn verify(root: &H256, datum: &H256, proof: &[H256], index: usize, leaf_size: usize) -> bool {
[INFO] [stdout]     |                                                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaf_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/miner.rs:210:25
[INFO] [stdout]     |
[INFO] [stdout] 210 |                     for i in 0..num_transactions {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/miner.rs:210:25
[INFO] [stdout]     |
[INFO] [stdout] 210 |                     for i in 0..num_transactions {
[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.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut address_vec = vec![address];
[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.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |             let mut ipt = 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/miner.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |             let mut tx = Transaction{
[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.rs:160:13
[INFO] [stdout]     |
[INFO] [stdout] 160 |         let mut blkstate = State{
[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.rs:196:25
[INFO] [stdout]     |
[INFO] [stdout] 196 |                     let mut chain = self.blkchain.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.rs:200:25
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     let mut chain = self.blkchain.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.rs:220:25
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     let mut chain = self.blkchain.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.rs:233:29
[INFO] [stdout]     |
[INFO] [stdout] 233 |                         let mut pool = self.mem_pool.lock().unwrap().clone().pool;
[INFO] [stdout]     |                             ----^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `in_val`
[INFO] [stdout]    --> src/miner.rs:277:17
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let mut in_val:u8 = 1;
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let mut in_val:u8 = 1;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]    --> src/miner.rs:296:38
[INFO] [stdout]     |
[INFO] [stdout] 296 |     fn get_input(&self, out_val:&u8, hash: &H256) -> (Vec<Input>, u8){
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mut chain = self.blkchain.lock().unwrap().clone();
[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.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut address_vec = vec![address];
[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.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |             let mut ipt = 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/miner.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |             let mut tx = Transaction{
[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.rs:160:13
[INFO] [stdout]     |
[INFO] [stdout] 160 |         let mut blkstate = State{
[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.rs:196:25
[INFO] [stdout]     |
[INFO] [stdout] 196 |                     let mut chain = self.blkchain.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.rs:200:25
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     let mut chain = self.blkchain.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.rs:220:25
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     let mut chain = self.blkchain.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.rs:233:29
[INFO] [stdout]     |
[INFO] [stdout] 233 |                         let mut pool = self.mem_pool.lock().unwrap().clone().pool;
[INFO] [stdout]     |                             ----^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `in_val`
[INFO] [stdout]    --> src/miner.rs:277:17
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let mut in_val:u8 = 1;
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let mut in_val:u8 = 1;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]    --> src/miner.rs:296:38
[INFO] [stdout]     |
[INFO] [stdout] 296 |     fn get_input(&self, out_val:&u8, hash: &H256) -> (Vec<Input>, u8){
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mut chain = self.blkchain.lock().unwrap().clone();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/network/worker.rs:151:37
[INFO] [stdout]     |
[INFO] [stdout] 151 | ...                   let size = encoded.len();
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/network/worker.rs:151:37
[INFO] [stdout]     |
[INFO] [stdout] 151 | ...                   let size = encoded.len();
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/network/worker.rs:81:25
[INFO] [stdout]    |
[INFO] [stdout] 81 |                     let mut blockchain = self.blkchain.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:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let mut mem_pool = self.mem_pool.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:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     let mut blockchain = self.blkchain.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:210:25
[INFO] [stdout]     |
[INFO] [stdout] 210 |                     let mut mem_pool = self.mem_pool.lock().unwrap().clone();
[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:81:25
[INFO] [stdout]    |
[INFO] [stdout] 81 |                     let mut blockchain = self.blkchain.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:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let mut mem_pool = self.mem_pool.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:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     let mut blockchain = self.blkchain.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:210:25
[INFO] [stdout]     |
[INFO] [stdout] 210 |                     let mut mem_pool = self.mem_pool.lock().unwrap().clone();
[INFO] [stdout]     |                         ----^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]    --> src/transaction.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let signature = sign(&t, &key);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `flag` is never read
[INFO] [stdout]   --> src/state.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let mut flag = false;
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `flag` is never read
[INFO] [stdout]   --> src/state.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let mut flag = false;
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/mempool.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |             let res = self.pool.remove(&hash);
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/mempool.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |             let res = self.pool.remove(&hash);
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut blockchain = blockchain::Blockchain::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/main.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut mempool = mempool::Mempool::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/main.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut blkchain = Arc::new(Mutex::new(blockchain));
[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/main.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut mem_pool = Arc::new(Mutex::new(mempool));
[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/main.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut address_list = Arc::new(Mutex::new(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/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut blockchain = blockchain::Blockchain::new();
[INFO] [stdout]    |         ----^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `depth` is never read
[INFO] [stdout]  --> src/crypto/merkle.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct MerkleTree {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     depth: u32,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `MerkleTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut mempool = mempool::Mempool::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/main.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut blkchain = Arc::new(Mutex::new(blockchain));
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `address_list` is never read
[INFO] [stdout]   --> src/network/worker.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Context {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     address_list:Arc<Mutex<Vec<H160>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Context` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut mem_pool = Arc::new(Mutex::new(mempool));
[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/main.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut address_list = Arc::new(Mutex::new(Vec::new()));
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Troot` should have a snake case name
[INFO] [stdout]  --> src/crypto/merkle.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Troot: Node,
[INFO] [stdout]   |     ^^^^^ help: convert the identifier to snake case: `troot`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `depth` is never read
[INFO] [stdout]  --> src/crypto/merkle.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct MerkleTree {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     depth: u32,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `MerkleTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `address_list` is never read
[INFO] [stdout]   --> src/network/worker.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Context {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     address_list:Arc<Mutex<Vec<H160>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Context` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Troot` should have a snake case name
[INFO] [stdout]  --> src/crypto/merkle.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Troot: Node,
[INFO] [stdout]   |     ^^^^^ help: convert the identifier to snake case: `troot`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 83 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 87 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 9.24s
[INFO] running `Command { std: "docker" "inspect" "a875be5b6ae4d05c78bbbbb1b7d2667ecd28ba8ae5d5b72f0dbc691a16c0b492", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a875be5b6ae4d05c78bbbbb1b7d2667ecd28ba8ae5d5b72f0dbc691a16c0b492", kill_on_drop: false }`
[INFO] [stdout] a875be5b6ae4d05c78bbbbb1b7d2667ecd28ba8ae5d5b72f0dbc691a16c0b492
[INFO] checking SwaggyCloud/ece598 against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwaggyCloud%2Fece598" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  43% (822/1901)
Updating files:  44% (837/1901)
Updating files:  45% (856/1901)
Updating files:  46% (875/1901)
Updating files:  47% (894/1901)
Updating files:  48% (913/1901)
Updating files:  49% (932/1901)
Updating files:  50% (951/1901)
Updating files:  51% (970/1901)
Updating files:  52% (989/1901)
Updating files:  53% (1008/1901)
Updating files:  54% (1027/1901)
Updating files:  55% (1046/1901)
Updating files:  56% (1065/1901)
Updating files:  57% (1084/1901)
Updating files:  58% (1103/1901)
Updating files:  59% (1122/1901)
Updating files:  60% (1141/1901)
Updating files:  61% (1160/1901)
Updating files:  62% (1179/1901)
Updating files:  63% (1198/1901)
Updating files:  64% (1217/1901)
Updating files:  65% (1236/1901)
Updating files:  66% (1255/1901)
Updating files:  67% (1274/1901)
Updating files:  68% (1293/1901)
Updating files:  69% (1312/1901)
Updating files:  70% (1331/1901)
Updating files:  71% (1350/1901)
Updating files:  72% (1369/1901)
Updating files:  73% (1388/1901)
Updating files:  74% (1407/1901)
Updating files:  75% (1426/1901)
Updating files:  76% (1445/1901)
Updating files:  77% (1464/1901)
Updating files:  78% (1483/1901)
Updating files:  79% (1502/1901)
Updating files:  80% (1521/1901)
Updating files:  81% (1540/1901)
Updating files:  82% (1559/1901)
Updating files:  83% (1578/1901)
Updating files:  84% (1597/1901)
Updating files:  85% (1616/1901)
Updating files:  86% (1635/1901)
Updating files:  87% (1654/1901)
Updating files:  88% (1673/1901)
Updating files:  89% (1692/1901)
Updating files:  90% (1711/1901)
Updating files:  91% (1730/1901)
Updating files:  92% (1749/1901)
Updating files:  93% (1768/1901)
Updating files:  94% (1787/1901)
Updating files:  95% (1806/1901)
Updating files:  96% (1825/1901)
Updating files:  97% (1844/1901)
Updating files:  98% (1863/1901)
Updating files:  99% (1882/1901)
Updating files:  99% (1900/1901)
Updating files: 100% (1901/1901)
Updating files: 100% (1901/1901), done.
[INFO] validating manifest of git repo https://github.com/SwaggyCloud/ece598 on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/SwaggyCloud/ece598
[INFO] finished tweaking git repo https://github.com/SwaggyCloud/ece598
[INFO] tweaked toml for git repo https://github.com/SwaggyCloud/ece598 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/SwaggyCloud/ece598 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" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f6f5048d2b699664f1adf3387d8231b74f11adb294ddcf0ead95aeedb8aea673
[INFO] running `Command { std: "docker" "start" "-a" "f6f5048d2b699664f1adf3387d8231b74f11adb294ddcf0ead95aeedb8aea673", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f6f5048d2b699664f1adf3387d8231b74f11adb294ddcf0ead95aeedb8aea673", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f6f5048d2b699664f1adf3387d8231b74f11adb294ddcf0ead95aeedb8aea673", kill_on_drop: false }`
[INFO] [stdout] f6f5048d2b699664f1adf3387d8231b74f11adb294ddcf0ead95aeedb8aea673
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dnon_local_definitions" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9817fc5d60c1e32c2486ea2a9ca718af50f31f3a263ddbf9237748ae29e74726
[INFO] running `Command { std: "docker" "start" "-a" "9817fc5d60c1e32c2486ea2a9ca718af50f31f3a263ddbf9237748ae29e74726", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.6
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling proc-macro2 v1.0.5
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.5
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]     Checking matches v0.1.8
[INFO] [stderr]     Checking smallvec v0.6.10
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]    Compiling serde v1.0.101
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]     Checking scopeguard v1.0.0
[INFO] [stderr]    Compiling cc v1.0.45
[INFO] [stderr]     Checking crossbeam-utils v0.6.6
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]    Compiling bitflags v1.2.0
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking unicode-normalization v0.1.8
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking unicode-width v0.1.6
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling bincode v1.2.0
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking crossbeam-channel v0.3.9
[INFO] [stderr]     Checking crossbeam-queue v0.1.2
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]    Compiling memoffset v0.5.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking lazycell v1.2.1
[INFO] [stderr]     Checking itoa v0.4.4
[INFO] [stderr]     Checking termcolor v0.3.6
[INFO] [stderr]     Checking ascii v0.8.7
[INFO] [stderr]     Checking untrusted v0.7.0
[INFO] [stderr]     Checking chunked_transfer v0.3.1
[INFO] [stderr]     Checking hex v0.4.0
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling ring v0.16.9
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking term_size v0.3.1
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking crossbeam-epoch v0.7.2
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking mio v0.6.19
[INFO] [stderr]     Checking crossbeam-deque v0.7.1
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking idna v0.2.0
[INFO] [stderr]     Checking crossbeam v0.7.2
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]     Checking chrono v0.4.9
[INFO] [stderr]     Checking mio-extras v2.0.5
[INFO] [stderr]     Checking url v2.1.0
[INFO] [stderr]     Checking stderrlog v0.4.1
[INFO] [stderr]     Checking tiny_http v0.6.2
[INFO] [stderr]    Compiling serde_derive v1.0.101
[INFO] [stderr]    Compiling proc-macro-hack v0.5.11
[INFO] [stderr]    Compiling hex-literal-impl v0.2.1
[INFO] [stderr]     Checking hex-literal v0.2.1
[INFO] [stderr]     Checking serde_json v1.0.44
[INFO] [stderr]     Checking bitcoin v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Transaction`, `generate_rand_transaction`
[INFO] [stdout]  --> src/block.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::transaction::{Transaction, generate_rand_transaction, SignedTrans};
[INFO] [stdout]   |                          ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::merkle::MerkleTree`
[INFO] [stdout]   --> src/block.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     use crate::crypto::merkle::MerkleTree;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/blockchain.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Output`, `SignedTrans`
[INFO] [stdout]  --> src/blockchain.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::transaction::{Transaction, SignedTrans, Output, verify};
[INFO] [stdout]   |                                       ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/blockchain.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let p = (parent_block.clone());
[INFO] [stdout]     |                 ^                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 143 -         let p = (parent_block.clone());
[INFO] [stdout] 143 +         let p = parent_block.clone();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/crypto/merkle.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 let (sub_lem_val);
[INFO] [stdout]    |                     ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -                 let (sub_lem_val);
[INFO] [stdout] 81 +                 let sub_lem_val;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time`
[INFO] [stdout]  --> src/miner.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `gen_rand_signtx`, `generate_rand_transaction`
[INFO] [stdout]  --> src/miner.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::transaction::{Transaction, generate_rand_transaction, SignedTrans, sign, Input, Output, gen_rand_signtx};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::merkle::MerkleTree`
[INFO] [stdout]   --> src/miner.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::crypto::merkle::MerkleTree;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Content`, `Header`
[INFO] [stdout]   --> src/miner.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::block::{Block, Header, Content};
[INFO] [stdout]    |                    ^^^^^  ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH`
[INFO] [stdout]   --> src/miner.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::time::{SystemTime, UNIX_EPOCH, Instant};
[INFO] [stdout]    |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `generate_rand_hash256`
[INFO] [stdout]   --> src/miner.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::crypto::hash::{Hashable, generate_rand_hash256, H160, H256};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_literal::hex`
[INFO] [stdout]   --> src/miner.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use hex_literal::hex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::network::message::Message::NewBlockHashes`
[INFO] [stdout]   --> src/miner.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::network::message::Message::NewBlockHashes;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::key_pair::random`
[INFO] [stdout]   --> src/miner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::crypto::key_pair::random;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Transaction`, `generate_rand_transaction`
[INFO] [stdout]  --> src/block.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::transaction::{Transaction, generate_rand_transaction, SignedTrans};
[INFO] [stdout]   |                          ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::network::peer::Direction::Outgoing`
[INFO] [stdout]   --> src/miner.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::network::peer::Direction::Outgoing;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::quirks::hash`
[INFO] [stdout]   --> src/miner.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use url::quirks::hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `current`, `sleep`
[INFO] [stdout]   --> src/miner.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::thread::{sleep, current};
[INFO] [stdout]    |                   ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hex` is imported redundantly
[INFO] [stdout]    --> src/miner.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 18  | use hex_literal::hex;
[INFO] [stdout]     |     ---------------- the item `hex` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 124 |         use hex_literal::hex;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hex` is imported redundantly
[INFO] [stdout]   --> src/block.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     use hex_literal::hex;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/main.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | #[macro_use]
[INFO] [stdout]    | ------------ the item `hex` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_literal::hex`
[INFO] [stdout]    --> src/miner.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         use hex_literal::hex;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::merkle::MerkleTree`
[INFO] [stdout]   --> src/block.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     use crate::crypto::merkle::MerkleTree;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transaction`
[INFO] [stdout]  --> src/network/message.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::transaction::{Transaction, SignedTrans};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/blockchain.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MutexGuard`
[INFO] [stdout]  --> src/network/worker.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex, MutexGuard};
[INFO] [stdout]   |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]   --> src/network/worker.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::info;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Output`, `SignedTrans`
[INFO] [stdout]  --> src/blockchain.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::transaction::{Transaction, SignedTrans, Output, verify};
[INFO] [stdout]   |                                       ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/network/worker.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::{Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]   --> src/network/worker.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use serde::Serialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::transaction`
[INFO] [stdout]   --> src/network/worker.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::transaction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transaction`
[INFO] [stdout]   --> src/network/worker.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::transaction::{Transaction, verify, SignedTrans};
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::state::State`
[INFO] [stdout]   --> src/network/worker.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::state::State;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EdDSAParameters`, `Signature`
[INFO] [stdout]  --> src/transaction.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey};
[INFO] [stdout]   |                                       ^^^^^^^^^                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/transaction.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::agreement::PublicKey`
[INFO] [stdout]   --> src/transaction.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ring::agreement::PublicKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rng` is imported redundantly
[INFO] [stdout]    --> src/transaction.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 6   | use rand::Rng;
[INFO] [stdout]     |     --------- the item `Rng` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 155 |     use rand::Rng;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H160`
[INFO] [stdout]  --> src/state.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::crypto::hash::{H256, H160};
[INFO] [stdout]   |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_literal::hex`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use hex_literal::hex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mempool::Mempool`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::mempool::Mempool;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/blockchain.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let p = (parent_block.clone());
[INFO] [stdout]     |                 ^                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 143 -         let p = (parent_block.clone());
[INFO] [stdout] 143 +         let p = parent_block.clone();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/crypto/merkle.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 let (sub_lem_val);
[INFO] [stdout]    |                     ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -                 let (sub_lem_val);
[INFO] [stdout] 81 +                 let sub_lem_val;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time`
[INFO] [stdout]  --> src/miner.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `gen_rand_signtx`, `generate_rand_transaction`
[INFO] [stdout]  --> src/miner.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::transaction::{Transaction, generate_rand_transaction, SignedTrans, sign, Input, Output, gen_rand_signtx};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::merkle::MerkleTree`
[INFO] [stdout]   --> src/miner.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::crypto::merkle::MerkleTree;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Content`, `Header`
[INFO] [stdout]   --> src/miner.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::block::{Block, Header, Content};
[INFO] [stdout]    |                    ^^^^^  ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH`
[INFO] [stdout]   --> src/miner.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::time::{SystemTime, UNIX_EPOCH, Instant};
[INFO] [stdout]    |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `generate_rand_hash256`
[INFO] [stdout]   --> src/miner.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::crypto::hash::{Hashable, generate_rand_hash256, H160, H256};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_literal::hex`
[INFO] [stdout]   --> src/miner.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use hex_literal::hex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::network::message::Message::NewBlockHashes`
[INFO] [stdout]   --> src/miner.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::network::message::Message::NewBlockHashes;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::key_pair::random`
[INFO] [stdout]   --> src/miner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::crypto::key_pair::random;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::network::peer::Direction::Outgoing`
[INFO] [stdout]   --> src/miner.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::network::peer::Direction::Outgoing;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::quirks::hash`
[INFO] [stdout]   --> src/miner.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use url::quirks::hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `current`, `sleep`
[INFO] [stdout]   --> src/miner.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::thread::{sleep, current};
[INFO] [stdout]    |                   ^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hex` is imported redundantly
[INFO] [stdout]    --> src/miner.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 18  | use hex_literal::hex;
[INFO] [stdout]     |     ---------------- the item `hex` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 124 |         use hex_literal::hex;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_literal::hex`
[INFO] [stdout]    --> src/miner.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         use hex_literal::hex;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transaction`
[INFO] [stdout]  --> src/network/message.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::transaction::{Transaction, SignedTrans};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MutexGuard`
[INFO] [stdout]  --> src/network/worker.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex, MutexGuard};
[INFO] [stdout]   |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]   --> src/network/worker.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::info;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/network/worker.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::{Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]   --> src/network/worker.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use serde::Serialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::transaction`
[INFO] [stdout]   --> src/network/worker.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::transaction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transaction`
[INFO] [stdout]   --> src/network/worker.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::transaction::{Transaction, verify, SignedTrans};
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::state::State`
[INFO] [stdout]   --> src/network/worker.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::state::State;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EdDSAParameters`, `Signature`
[INFO] [stdout]  --> src/transaction.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey};
[INFO] [stdout]   |                                       ^^^^^^^^^                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/transaction.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::agreement::PublicKey`
[INFO] [stdout]   --> src/transaction.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ring::agreement::PublicKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rng` is imported redundantly
[INFO] [stdout]    --> src/transaction.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 6   | use rand::Rng;
[INFO] [stdout]     |     --------- the item `Rng` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 155 |     use rand::Rng;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hex` is imported redundantly
[INFO] [stdout]    --> src/transaction.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |     use hex_literal::hex;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/main.rs:2:1
[INFO] [stdout]     |
[INFO] [stdout] 2   | #[macro_use]
[INFO] [stdout]     | ------------ the item `hex` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rng` is imported redundantly
[INFO] [stdout]    --> src/transaction.rs:232:13
[INFO] [stdout]     |
[INFO] [stdout] 227 |     use super::*;
[INFO] [stdout]     |         -------- the item `Rng` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 232 |         use rand::Rng;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H160`
[INFO] [stdout]  --> src/state.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::crypto::hash::{H256, H160};
[INFO] [stdout]   |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex_literal::hex`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use hex_literal::hex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mempool::Mempool`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::mempool::Mempool;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/miner.rs:267:25
[INFO] [stdout]     |
[INFO] [stdout] 266 |                         break;
[INFO] [stdout]     |                         ----- any code following this expression is unreachable
[INFO] [stdout] 267 |                         info!("time out");
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/miner.rs:267:25
[INFO] [stdout]     |
[INFO] [stdout] 266 |                         break;
[INFO] [stdout]     |                         ----- any code following this expression is unreachable
[INFO] [stdout] 267 |                         info!("time out");
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/blockchain.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/transaction.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerificationAlgorithm`
[INFO] [stdout]  --> src/transaction.rs:2:59
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/blockchain.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/transaction.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerificationAlgorithm`
[INFO] [stdout]  --> src/transaction.rs:2:59
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n1`
[INFO] [stdout]   --> src/block.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let n1: u32 = rng.gen();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/block.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut data = Vec::new();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut o_buf = Vec::new();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/blockchain.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 |         for (hash,out) in st.clone() {
[INFO] [stdout]    |                   ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut vec_in = transaction.tx_in.clone();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n1`
[INFO] [stdout]   --> src/block.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let n1: u32 = rng.gen();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/block.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut data = Vec::new();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/blockchain.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut b = (*block).clone();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cnt`
[INFO] [stdout]   --> src/crypto/merkle.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut cnt = 0;
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_cnt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/crypto/merkle.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut cnt = 0;
[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/crypto/merkle.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 let mut tmp = cur[cur.len()-1].val;
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/crypto/merkle.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Node{val,left:Some(ref left),right:Some(ref right)}=>{
[INFO] [stdout]    |                  ^^^ help: try ignoring the field: `val: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sub_lem_val` is assigned to, but never used
[INFO] [stdout]   --> src/crypto/merkle.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 let (sub_lem_val);
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_sub_lem_val` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sub_lem_val` is never read
[INFO] [stdout]   --> src/crypto/merkle.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     sub_lem_val = MerkleTree::get_proof(left, index, left_count,res);
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sub_lem_val` is never read
[INFO] [stdout]   --> src/crypto/merkle.rs:87:21
[INFO] [stdout]    |
[INFO] [stdout] 87 |                     sub_lem_val = MerkleTree::get_proof(right, index - left_count, count - left_count,res);
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `fin` is never read
[INFO] [stdout]    --> src/crypto/merkle.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut fin = cat.finish();
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/crypto/merkle.rs:104:58
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn verify(root: &H256, datum: &H256, proof: &[H256], index: usize, leaf_size: usize) -> bool {
[INFO] [stdout]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leaf_size`
[INFO] [stdout]    --> src/crypto/merkle.rs:104:72
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn verify(root: &H256, datum: &H256, proof: &[H256], index: usize, leaf_size: usize) -> bool {
[INFO] [stdout]     |                                                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaf_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut o_buf = Vec::new();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/blockchain.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 |         for (hash,out) in st.clone() {
[INFO] [stdout]    |                   ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/miner.rs:210:25
[INFO] [stdout]     |
[INFO] [stdout] 210 |                     for i in 0..num_transactions {
[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/blockchain.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut vec_in = transaction.tx_in.clone();
[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.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut b = (*block).clone();
[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.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut address_vec = vec![address];
[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.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |             let mut ipt = 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/miner.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |             let mut tx = Transaction{
[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.rs:160:13
[INFO] [stdout]     |
[INFO] [stdout] 160 |         let mut blkstate = State{
[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.rs:196:25
[INFO] [stdout]     |
[INFO] [stdout] 196 |                     let mut chain = self.blkchain.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.rs:200:25
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     let mut chain = self.blkchain.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.rs:220:25
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     let mut chain = self.blkchain.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.rs:233:29
[INFO] [stdout]     |
[INFO] [stdout] 233 |                         let mut pool = self.mem_pool.lock().unwrap().clone().pool;
[INFO] [stdout]     |                             ----^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `in_val`
[INFO] [stdout]    --> src/miner.rs:277:17
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let mut in_val:u8 = 1;
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let mut in_val:u8 = 1;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]    --> src/miner.rs:296:38
[INFO] [stdout]     |
[INFO] [stdout] 296 |     fn get_input(&self, out_val:&u8, hash: &H256) -> (Vec<Input>, u8){
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mut chain = self.blkchain.lock().unwrap().clone();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cnt`
[INFO] [stdout]   --> src/crypto/merkle.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut cnt = 0;
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_cnt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/crypto/merkle.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut cnt = 0;
[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/crypto/merkle.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 let mut tmp = cur[cur.len()-1].val;
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/crypto/merkle.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Node{val,left:Some(ref left),right:Some(ref right)}=>{
[INFO] [stdout]    |                  ^^^ help: try ignoring the field: `val: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sub_lem_val` is assigned to, but never used
[INFO] [stdout]   --> src/crypto/merkle.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 let (sub_lem_val);
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_sub_lem_val` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sub_lem_val` is never read
[INFO] [stdout]   --> src/crypto/merkle.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     sub_lem_val = MerkleTree::get_proof(left, index, left_count,res);
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sub_lem_val` is never read
[INFO] [stdout]   --> src/crypto/merkle.rs:87:21
[INFO] [stdout]    |
[INFO] [stdout] 87 |                     sub_lem_val = MerkleTree::get_proof(right, index - left_count, count - left_count,res);
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `fin` is never read
[INFO] [stdout]    --> src/crypto/merkle.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut fin = cat.finish();
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/crypto/merkle.rs:104:58
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn verify(root: &H256, datum: &H256, proof: &[H256], index: usize, leaf_size: usize) -> bool {
[INFO] [stdout]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leaf_size`
[INFO] [stdout]    --> src/crypto/merkle.rs:104:72
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn verify(root: &H256, datum: &H256, proof: &[H256], index: usize, leaf_size: usize) -> bool {
[INFO] [stdout]     |                                                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaf_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/miner.rs:210:25
[INFO] [stdout]     |
[INFO] [stdout] 210 |                     for i in 0..num_transactions {
[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.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut address_vec = vec![address];
[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.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |             let mut ipt = 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/miner.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |             let mut tx = Transaction{
[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.rs:160:13
[INFO] [stdout]     |
[INFO] [stdout] 160 |         let mut blkstate = State{
[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.rs:196:25
[INFO] [stdout]     |
[INFO] [stdout] 196 |                     let mut chain = self.blkchain.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.rs:200:25
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     let mut chain = self.blkchain.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.rs:220:25
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     let mut chain = self.blkchain.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.rs:233:29
[INFO] [stdout]     |
[INFO] [stdout] 233 |                         let mut pool = self.mem_pool.lock().unwrap().clone().pool;
[INFO] [stdout]     |                             ----^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `in_val`
[INFO] [stdout]    --> src/miner.rs:277:17
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let mut in_val:u8 = 1;
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let mut in_val:u8 = 1;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]    --> src/miner.rs:296:38
[INFO] [stdout]     |
[INFO] [stdout] 296 |     fn get_input(&self, out_val:&u8, hash: &H256) -> (Vec<Input>, u8){
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mut chain = self.blkchain.lock().unwrap().clone();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/network/worker.rs:151:37
[INFO] [stdout]     |
[INFO] [stdout] 151 | ...                   let size = encoded.len();
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/network/worker.rs:81:25
[INFO] [stdout]    |
[INFO] [stdout] 81 |                     let mut blockchain = self.blkchain.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:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let mut mem_pool = self.mem_pool.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:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     let mut blockchain = self.blkchain.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:210:25
[INFO] [stdout]     |
[INFO] [stdout] 210 |                     let mut mem_pool = self.mem_pool.lock().unwrap().clone();
[INFO] [stdout]     |                         ----^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/network/worker.rs:151:37
[INFO] [stdout]     |
[INFO] [stdout] 151 | ...                   let size = encoded.len();
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/network/worker.rs:81:25
[INFO] [stdout]    |
[INFO] [stdout] 81 |                     let mut blockchain = self.blkchain.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:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let mut mem_pool = self.mem_pool.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:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     let mut blockchain = self.blkchain.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:210:25
[INFO] [stdout]     |
[INFO] [stdout] 210 |                     let mut mem_pool = self.mem_pool.lock().unwrap().clone();
[INFO] [stdout]     |                         ----^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `flag` is never read
[INFO] [stdout]   --> src/state.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let mut flag = false;
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/mempool.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |             let res = self.pool.remove(&hash);
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut blockchain = blockchain::Blockchain::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/main.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut mempool = mempool::Mempool::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/main.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut blkchain = Arc::new(Mutex::new(blockchain));
[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/main.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut mem_pool = Arc::new(Mutex::new(mempool));
[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/main.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut address_list = Arc::new(Mutex::new(Vec::new()));
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `depth` is never read
[INFO] [stdout]  --> src/crypto/merkle.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct MerkleTree {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     depth: u32,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `MerkleTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `address_list` is never read
[INFO] [stdout]   --> src/network/worker.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Context {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     address_list:Arc<Mutex<Vec<H160>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Context` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/api/mod.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_ApiResponse`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/block.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Header`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/block.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Header`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Content`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Content`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Block`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Block`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/blockchain.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Blockchain`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/blockchain.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Blockchain`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/hash.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_H256`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/hash.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_H256`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/hash.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_H160`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/hash.rs:15:36
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_H160`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Troot` should have a snake case name
[INFO] [stdout]  --> src/crypto/merkle.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Troot: Node,
[INFO] [stdout]   |     ^^^^^ help: convert the identifier to snake case: `troot`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/network/message.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Message`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/network/message.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Message`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Transaction`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Transaction`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error 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 variable: `signature`
[INFO] [stdout]    --> src/transaction.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let signature = sign(&t, &key);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SignedTrans`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SignedTrans`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:84:10
[INFO] [stdout]    |
[INFO] [stdout] 84 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Input`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Input`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/transaction.rs:105:10
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Output`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/transaction.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Output`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/state.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_State`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/state.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_State`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/mempool.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Mempool`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/mempool.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Mempool`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `flag` is never read
[INFO] [stdout]   --> src/state.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let mut flag = false;
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/mempool.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |             let res = self.pool.remove(&hash);
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut blockchain = blockchain::Blockchain::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/main.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut mempool = mempool::Mempool::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/main.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut blkchain = Arc::new(Mutex::new(blockchain));
[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/main.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut mem_pool = Arc::new(Mutex::new(mempool));
[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/main.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut address_list = Arc::new(Mutex::new(Vec::new()));
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 27 previous errors; 83 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `depth` is never read
[INFO] [stdout]  --> src/crypto/merkle.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct MerkleTree {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     depth: u32,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `MerkleTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `address_list` is never read
[INFO] [stdout]   --> src/network/worker.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Context {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     address_list:Arc<Mutex<Vec<H160>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Context` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/api/mod.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_ApiResponse`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/block.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Header`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/block.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Header`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Content`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Content`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Block`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Block`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/blockchain.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Blockchain`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/blockchain.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Blockchain`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/hash.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_H256`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/hash.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_H256`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/hash.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_H160`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/hash.rs:15:36
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_H160`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Troot` should have a snake case name
[INFO] [stdout]  --> src/crypto/merkle.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Troot: Node,
[INFO] [stdout]   |     ^^^^^ help: convert the identifier to snake case: `troot`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/network/message.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Message`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/network/message.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Message`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error 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 28 previous errors; 83 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Transaction`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Transaction`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SignedTrans`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SignedTrans`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:84:10
[INFO] [stdout]    |
[INFO] [stdout] 84 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Input`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Input`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/transaction.rs:105:10
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Output`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/transaction.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Output`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/state.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_State`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/state.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_State`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/mempool.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Mempool`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/mempool.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Serialize, Deserialize, Debug, Default, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Mempool`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 27 previous errors; 87 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bitcoin` (bin "bitcoin" test) due to 28 previous errors; 87 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9817fc5d60c1e32c2486ea2a9ca718af50f31f3a263ddbf9237748ae29e74726", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9817fc5d60c1e32c2486ea2a9ca718af50f31f3a263ddbf9237748ae29e74726", kill_on_drop: false }`
[INFO] [stdout] 9817fc5d60c1e32c2486ea2a9ca718af50f31f3a263ddbf9237748ae29e74726
