[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 try#32cb8dc6fdc8140b91f4d17c4883e528db4e7e6d for pr-83312
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwaggyCloud%2Fece598" "/workspace/builds/worker-9/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  40% (773/1901)
Updating files:  41% (780/1901)
Updating files:  42% (799/1901)
Updating files:  43% (818/1901)
Updating files:  43% (835/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:  86% (1649/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:  97% (1845/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 32cb8dc6fdc8140b91f4d17c4883e528db4e7e6d
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+32cb8dc6fdc8140b91f4d17c4883e528db4e7e6d" "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-9/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: "/workspace/cargo-home/bin/cargo" "+32cb8dc6fdc8140b91f4d17c4883e528db4e7e6d" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded hex v0.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+32cb8dc6fdc8140b91f4d17c4883e528db4e7e6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a4a0a37174c124a51233c17e2bc882e83d6554865187b1acc9855e778a6c0a28
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a4a0a37174c124a51233c17e2bc882e83d6554865187b1acc9855e778a6c0a28", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a4a0a37174c124a51233c17e2bc882e83d6554865187b1acc9855e778a6c0a28", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4a0a37174c124a51233c17e2bc882e83d6554865187b1acc9855e778a6c0a28", kill_on_drop: false }`
[INFO] [stdout] a4a0a37174c124a51233c17e2bc882e83d6554865187b1acc9855e778a6c0a28
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+32cb8dc6fdc8140b91f4d17c4883e528db4e7e6d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0374bc344a4c3b3c48aa467478ce3d9e7661319f363d2802470dd36a4f7ae423
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "0374bc344a4c3b3c48aa467478ce3d9e7661319f363d2802470dd36a4f7ae423", 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 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]    Compiling arrayvec v0.4.12
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]    Compiling serde v1.0.101
[INFO] [stderr]    Compiling cc v1.0.45
[INFO] [stderr]    Compiling bitflags v1.2.0
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking untrusted v0.7.0
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking ascii v0.8.7
[INFO] [stderr]     Checking lazycell v1.2.1
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking chunked_transfer v0.3.1
[INFO] [stderr]     Checking hex v0.4.0
[INFO] [stderr]     Checking unicode-normalization v0.1.8
[INFO] [stderr]     Checking crossbeam-utils v0.6.6
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling num-integer v0.1.41
[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 crossbeam-queue v0.1.2
[INFO] [stderr]     Checking crossbeam-channel v0.3.9
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling memoffset v0.5.1
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking iovec v0.1.4
[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]    Compiling ring v0.16.9
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking idna v0.2.0
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking mio v0.6.19
[INFO] [stderr]     Checking crossbeam-epoch v0.7.2
[INFO] [stderr]     Checking crossbeam-deque v0.7.1
[INFO] [stderr]     Checking url v2.1.0
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]     Checking crossbeam v0.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: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/blockchain.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let p = (parent_block.clone());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[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]    |                     ^^^^^^^^^^^^^ help: remove these parentheses
[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: 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: 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]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[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]    |                     ^^^^^^^^^^^^^ help: remove these parentheses
[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 a macro (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 a macro (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: `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: `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 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: 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: 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]     = note: `#[warn(unused_assignments)]` on by default
[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: 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] 
[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: 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: `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: 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, u8){
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[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: 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]    = note: `#[warn(unused_mut)]` 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: 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/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] 
[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: 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/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 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: 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: 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 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: 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 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: 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: 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/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: 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/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: 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]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[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: `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: 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] 
[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: 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: `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: 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, u8){
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[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: `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: 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]    = note: `#[warn(unused_mut)]` 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: 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: 81 warnings emitted
[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] 
[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: 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/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: 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: 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: 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/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: 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: 85 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 20s
[INFO] running `Command { std: "docker" "inspect" "0374bc344a4c3b3c48aa467478ce3d9e7661319f363d2802470dd36a4f7ae423", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0374bc344a4c3b3c48aa467478ce3d9e7661319f363d2802470dd36a4f7ae423", kill_on_drop: false }`
[INFO] [stdout] 0374bc344a4c3b3c48aa467478ce3d9e7661319f363d2802470dd36a4f7ae423