[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-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwaggyCloud%2Fece598" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-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:  99% (1895/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-3-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]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.51
[INFO] [stderr]   Downloaded termcolor v0.3.6
[INFO] [stderr]   Downloaded js-sys v0.3.28
[INFO] [stderr]   Downloaded hex-literal-impl v0.2.1
[INFO] [stderr]   Downloaded chunked_transfer v0.3.1
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.51
[INFO] [stderr]   Downloaded bitflags v1.2.0
[INFO] [stderr]   Downloaded bincode v1.2.0
[INFO] [stderr]   Downloaded backtrace v0.3.38
[INFO] [stderr]   Downloaded hex v0.4.0
[INFO] [stderr]   Downloaded chrono v0.4.9
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.51
[INFO] [stderr]   Downloaded wasm-bindgen-webidl v0.2.51
[INFO] [stderr]   Downloaded web-sys v0.3.28
[INFO] [stderr]   Downloaded ring v0.16.9
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.51
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.51
[INFO] [stderr]   Downloaded hex-literal v0.2.1
[INFO] [stderr]   Downloaded crossbeam v0.7.2
[INFO] [stderr]   Downloaded stderrlog v0.4.1
[INFO] [stderr]   Downloaded wincolor v0.1.6
[INFO] [stderr]   Downloaded ascii v0.8.7
[INFO] [stderr]   Downloaded tiny_http v0.6.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 85ec29ef5547c7bef9cfd541fbb165d086e2c87f97c40a999e4054e6cbc8790e
[INFO] running `Command { std: "docker" "start" "-a" "85ec29ef5547c7bef9cfd541fbb165d086e2c87f97c40a999e4054e6cbc8790e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "85ec29ef5547c7bef9cfd541fbb165d086e2c87f97c40a999e4054e6cbc8790e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "85ec29ef5547c7bef9cfd541fbb165d086e2c87f97c40a999e4054e6cbc8790e", kill_on_drop: false }`
[INFO] [stdout] 85ec29ef5547c7bef9cfd541fbb165d086e2c87f97c40a999e4054e6cbc8790e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] afb8f51f2c6a1e87bef5f6f9bfcccd3d72a290854baea48320a058e08cd002c0
[INFO] running `Command { std: "docker" "start" "-a" "afb8f51f2c6a1e87bef5f6f9bfcccd3d72a290854baea48320a058e08cd002c0", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.6
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]    Compiling proc-macro2 v1.0.5
[INFO] [stderr]    Compiling syn v1.0.5
[INFO] [stderr]     Checking matches v0.1.8
[INFO] [stderr]    Compiling log v0.4.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 crossbeam-utils v0.6.6
[INFO] [stderr]    Compiling cc v1.0.45
[INFO] [stderr]     Checking scopeguard v1.0.0
[INFO] [stderr]    Compiling bitflags v1.2.0
[INFO] [stderr]    Compiling memoffset v0.5.1
[INFO] [stderr]     Checking unicode-width v0.1.6
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking untrusted v0.7.0
[INFO] [stderr]     Checking ascii v0.8.7
[INFO] [stderr]     Checking unicode-normalization v0.1.8
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking lazycell v1.2.1
[INFO] [stderr]     Checking termcolor v0.3.6
[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 bincode v1.2.0
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking chunked_transfer v0.3.1
[INFO] [stderr]     Checking hex v0.4.0
[INFO] [stderr]     Checking crossbeam-channel v0.3.9
[INFO] [stderr]     Checking crossbeam-queue v0.1.2
[INFO] [stderr]     Checking crossbeam-epoch v0.7.2
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling ring v0.16.9
[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 time v0.1.42
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking term_size v0.3.1
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking crossbeam v0.7.2
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking mio v0.6.19
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]     Checking url v2.1.0
[INFO] [stderr]     Checking chrono v0.4.9
[INFO] [stderr]     Checking mio-extras v2.0.5
[INFO] [stderr]     Checking tiny_http v0.6.2
[INFO] [stderr]     Checking stderrlog v0.4.1
[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 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: `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: 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: `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: 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: 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: `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: `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 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: `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: 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: 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: 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: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: `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: 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: `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: 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: 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: `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: 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.57s
[INFO] running `Command { std: "docker" "inspect" "afb8f51f2c6a1e87bef5f6f9bfcccd3d72a290854baea48320a058e08cd002c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "afb8f51f2c6a1e87bef5f6f9bfcccd3d72a290854baea48320a058e08cd002c0", kill_on_drop: false }`
[INFO] [stdout] afb8f51f2c6a1e87bef5f6f9bfcccd3d72a290854baea48320a058e08cd002c0
