[INFO] cloning repository https://github.com/RohanGuo/ECE-FiveNinetyEight
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/RohanGuo/ECE-FiveNinetyEight" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRohanGuo%2FECE-FiveNinetyEight", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRohanGuo%2FECE-FiveNinetyEight'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8976d0b43377d56971f137502f6531827076d465
[INFO] checking RohanGuo/ECE-FiveNinetyEight against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRohanGuo%2FECE-FiveNinetyEight" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  64% (2008/3126)
Updating files:  65% (2032/3126)
Updating files:  66% (2064/3126)
Updating files:  67% (2095/3126)
Updating files:  68% (2126/3126)
Updating files:  69% (2157/3126)
Updating files:  70% (2189/3126)
Updating files:  71% (2220/3126)
Updating files:  72% (2251/3126)
Updating files:  72% (2273/3126)
Updating files:  73% (2282/3126)
Updating files:  74% (2314/3126)
Updating files:  75% (2345/3126)
Updating files:  76% (2376/3126)
Updating files:  77% (2408/3126)
Updating files:  78% (2439/3126)
Updating files:  79% (2470/3126)
Updating files:  80% (2501/3126)
Updating files:  81% (2533/3126)
Updating files:  82% (2564/3126)
Updating files:  83% (2595/3126)
Updating files:  83% (2608/3126)
Updating files:  84% (2626/3126)
Updating files:  85% (2658/3126)
Updating files:  86% (2689/3126)
Updating files:  87% (2720/3126)
Updating files:  88% (2751/3126)
Updating files:  89% (2783/3126)
Updating files:  90% (2814/3126)
Updating files:  91% (2845/3126)
Updating files:  92% (2876/3126)
Updating files:  93% (2908/3126)
Updating files:  94% (2939/3126)
Updating files:  95% (2970/3126)
Updating files:  96% (3001/3126)
Updating files:  97% (3033/3126)
Updating files:  98% (3064/3126)
Updating files:  99% (3095/3126)
Updating files: 100% (3126/3126)
Updating files: 100% (3126/3126), done.
[INFO] validating manifest of git repo https://github.com/RohanGuo/ECE-FiveNinetyEight 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/RohanGuo/ECE-FiveNinetyEight
[INFO] finished tweaking git repo https://github.com/RohanGuo/ECE-FiveNinetyEight
[INFO] tweaked toml for git repo https://github.com/RohanGuo/ECE-FiveNinetyEight written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/RohanGuo/ECE-FiveNinetyEight 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 ntest_test_cases v0.7.3
[INFO] [stderr]   Downloaded async-net v1.6.1
[INFO] [stderr]   Downloaded ntest_proc_macro_helper v0.7.3
[INFO] [stderr]   Downloaded web-sys v0.3.28
[INFO] [stderr]   Downloaded wasm-bindgen-webidl v0.2.51
[INFO] [stderr]   Downloaded ntest_timeout v0.7.3
[INFO] [stderr]   Downloaded ntest v0.7.3
[INFO] [stderr]   Downloaded tiny_http v0.9.0
[INFO] [stderr]   Downloaded js-sys v0.3.28
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] f7464460441d8fc4ae699d179ce03d07e785683138ae7712c3ca527924d7aad4
[INFO] running `Command { std: "docker" "start" "-a" "f7464460441d8fc4ae699d179ce03d07e785683138ae7712c3ca527924d7aad4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f7464460441d8fc4ae699d179ce03d07e785683138ae7712c3ca527924d7aad4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f7464460441d8fc4ae699d179ce03d07e785683138ae7712c3ca527924d7aad4", kill_on_drop: false }`
[INFO] [stdout] f7464460441d8fc4ae699d179ce03d07e785683138ae7712c3ca527924d7aad4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 79d4156d3cc77bc405f8847d054cff027dc08127e4020e488ef4d952290166d4
[INFO] running `Command { std: "docker" "start" "-a" "79d4156d3cc77bc405f8847d054cff027dc08127e4020e488ef4d952290166d4", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.108
[INFO] [stderr]    Compiling proc-macro2 v1.0.32
[INFO] [stderr]    Compiling syn v1.0.82
[INFO] [stderr]    Compiling futures-core v0.3.18
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]     Checking futures-io v0.3.18
[INFO] [stderr]    Compiling autocfg v0.1.6
[INFO] [stderr]     Checking pin-project-lite v0.2.7
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]     Checking event-listener v2.5.1
[INFO] [stderr]    Compiling serde v1.0.101
[INFO] [stderr]     Checking cache-padded v1.1.1
[INFO] [stderr]     Checking parking v2.0.0
[INFO] [stderr]     Checking fastrand v1.5.0
[INFO] [stderr]     Checking waker-fn v1.1.0
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]     Checking concurrent-queue v1.2.2
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling futures-channel v0.3.18
[INFO] [stderr]    Compiling futures-task v0.3.18
[INFO] [stderr]     Checking async-task v4.0.3
[INFO] [stderr]     Checking matches v0.1.8
[INFO] [stderr]    Compiling signal-hook v0.3.10
[INFO] [stderr]     Checking futures-sink v0.3.18
[INFO] [stderr]     Checking smallvec v0.6.10
[INFO] [stderr]     Checking atomic-waker v1.0.0
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling futures-util v0.3.18
[INFO] [stderr]     Checking async-channel v1.6.1
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]    Compiling bitflags v1.2.0
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking unicode-normalization v0.1.8
[INFO] [stderr]    Compiling cc v1.0.45
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]    Compiling crossbeam-queue v0.3.2
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling bincode v1.2.0
[INFO] [stderr]     Checking async-lock v2.4.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.15
[INFO] [stderr]     Checking unicode-width v0.1.6
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]     Checking simple-mutex v1.1.5
[INFO] [stderr]     Checking thread_local v1.0.1
[INFO] [stderr]     Checking chunked_transfer v1.4.0
[INFO] [stderr]     Checking ascii v1.0.0
[INFO] [stderr]     Checking untrusted v0.7.0
[INFO] [stderr]     Checking futures-lite v1.12.0
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]     Checking itoa v0.4.4
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking socket2 v0.4.2
[INFO] [stderr]     Checking polling v2.2.0
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking term_size v0.3.1
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]    Compiling ntest_proc_macro_helper v0.7.3
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking async-dup v1.2.2
[INFO] [stderr]    Compiling hex-literal v0.3.4
[INFO] [stderr]     Checking hex v0.4.0
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking crossbeam v0.8.1
[INFO] [stderr]    Compiling ring v0.16.9
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking idna v0.2.0
[INFO] [stderr]     Checking blocking v1.1.0
[INFO] [stderr]     Checking async-io v1.6.0
[INFO] [stderr]     Checking async-executor v1.4.1
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking async-fs v1.5.0
[INFO] [stderr]     Checking url v2.1.0
[INFO] [stderr]     Checking async-net v1.6.1
[INFO] [stderr]     Checking async-process v1.3.0
[INFO] [stderr]     Checking smol v1.2.5
[INFO] [stderr]     Checking stderrlog v0.5.1
[INFO] [stderr]     Checking tiny_http v0.9.0
[INFO] [stderr]    Compiling serde_derive v1.0.101
[INFO] [stderr]    Compiling futures-macro v0.3.18
[INFO] [stderr]    Compiling ntest_test_cases v0.7.3
[INFO] [stderr]     Checking futures-executor v0.3.18
[INFO] [stderr]     Checking futures v0.3.18
[INFO] [stderr]     Checking serde_json v1.0.44
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]     Checking bitcoin v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/blockchain/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::SystemTime`
[INFO] [stdout]  --> src/types/block.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::SystemTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::TryFutureExt`
[INFO] [stdout]  --> src/types/block.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures::TryFutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/types/block.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `merkle::MerkleTree`
[INFO] [stdout]  --> src/types/block.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::{merkle::MerkleTree, transaction::SignedTransaction};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::key_pair`
[INFO] [stdout]  --> src/types/transaction.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::types::key_pair;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EdDSAParameters`, `VerificationAlgorithm`
[INFO] [stdout]  --> src/types/transaction.rs:3:59
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `prelude::SliceRandom`, `thread_rng`
[INFO] [stdout]  --> src/types/transaction.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::{Rng, prelude::SliceRandom, thread_rng};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/types/transaction.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::{address::{Address, self}, hash::{Hashable, H256}};
[INFO] [stdout]   |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet`, `ops::Add`
[INFO] [stdout]  --> src/types/transaction.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{collections::{HashMap, HashSet}, ops::Add};
[INFO] [stdout]   |                                  ^^^^^^^   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Sender`, `TryRecvError`, `unbounded`
[INFO] [stdout]  --> src/miner/worker.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crossbeam::channel::{unbounded, Receiver, Sender, TryRecvError};
[INFO] [stdout]   |                          ^^^^^^^^^            ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/miner/worker.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::{debug, info};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/miner/worker.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::types::block::{Block, self};
[INFO] [stdout]   |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::address`
[INFO] [stdout]   --> src/miner/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::address;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::block::Block`
[INFO] [stdout]   --> src/tx_generator/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::types::block::Block;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::blockchain::Blockchain`
[INFO] [stdout]   --> src/tx_generator/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::blockchain::Blockchain;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH`
[INFO] [stdout]   --> src/tx_generator/mod.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::merkle::MerkleTree`
[INFO] [stdout]   --> src/tx_generator/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::types::merkle::MerkleTree;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::block::*`
[INFO] [stdout]   --> src/tx_generator/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::types::block::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::signature::KeyPair`
[INFO] [stdout]   --> src/tx_generator/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ring::signature::KeyPair;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `ops::Add`
[INFO] [stdout]   --> src/tx_generator/mod.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::{collections::{HashMap, HashSet}, ops::Add};
[INFO] [stdout]    |                         ^^^^^^^            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/tx_generator/mod.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | use rand::{thread_rng, Rng};
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::hash::Hashable`
[INFO] [stdout]   --> src/tx_generator/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::types::hash::Hashable;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/blockchain/mod.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let mut rng = rand::thread_rng();
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[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/blockchain/mod.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let mut rng = rand::thread_rng();
[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: `tx`
[INFO] [stdout]   --> src/types/transaction.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn verify(tx: &Transaction, public_key: &[u8], signature: &[u8], state: &State) -> bool {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `public_key`
[INFO] [stdout]   --> src/types/transaction.rs:51:33
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn verify(tx: &Transaction, public_key: &[u8], signature: &[u8], state: &State) -> bool {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_public_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]   --> src/types/transaction.rs:51:52
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn verify(tx: &Transaction, public_key: &[u8], signature: &[u8], state: &State) -> bool {
[INFO] [stdout]    |                                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/types/transaction.rs:51:70
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn verify(tx: &Transaction, public_key: &[u8], signature: &[u8], state: &State) -> bool {
[INFO] [stdout]    |                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/types/transaction.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let mut trans_map: HashMap<H256, SignedTransaction> = HashMap::new();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/types/transaction.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let mut history: HashMap<H256, HashMap<Address, (u32, i32)>> = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `check1`
[INFO] [stdout]    --> src/types/transaction.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |             let check1 = false;
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_check1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/types/transaction.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let mut isValid = true;
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/types/transaction.rs:132:21
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 let mut old_receiver_account = accounts.get(&receiver);
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/types/transaction.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 let mut receiver_account = match old_receiver_account  {
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/types/transaction.rs:139:21
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 let mut old_sender_account = accounts.get(&sender);
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/types/transaction.rs:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 let mut sender_account = match old_sender_account  {
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trans_hash`
[INFO] [stdout]    --> src/miner/mod.rs:173:18
[INFO] [stdout]     |
[INFO] [stdout] 173 |             for (trans_hash, trans) in &transaction_memopool.trans_map {
[INFO] [stdout]     |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trans_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner/mod.rs:164:17
[INFO] [stdout]     |
[INFO] [stdout] 164 |             let mut parent = locked_parent.tip();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner/mod.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |             let mut transaction_memopool = self.trans_memopool.lock().unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/network/worker.rs:235:17
[INFO] [stdout]     |
[INFO] [stdout] 235 |                 _ => unimplemented!()
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `orph_block`
[INFO] [stdout]    --> src/network/worker.rs:176:39
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     for (orph_p_hash, orph_block) in orph_buff.clone() {
[INFO] [stdout]     |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_orph_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/worker.rs:103:25
[INFO] [stdout]     |
[INFO] [stdout] 103 |                     let mut blocks = nonce.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:189:25
[INFO] [stdout]     |
[INFO] [stdout] 189 |                     let mut trans_memopool = self.trans_memopool.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:203:25
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     let mut trans_memopool = self.trans_memopool.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:218:25
[INFO] [stdout]     |
[INFO] [stdout] 218 |                     let mut state = self.state.lock().unwrap();
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `isValid` should have a snake case name
[INFO] [stdout]    --> src/types/transaction.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let mut isValid = true;
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `is_valid`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `signedTrans` should have a snake case name
[INFO] [stdout]    --> src/types/transaction.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |         for signedTrans in &block.content.content {
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `signed_trans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `removeContent` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:146:37
[INFO] [stdout]     |
[INFO] [stdout] 146 | ...                   let mut removeContent = false;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ help: convert the identifier to snake case: `remove_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `other_accounts_hashSet` should have a snake case name
[INFO] [stdout]    --> src/tx_generator/mod.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let mut other_accounts_hashSet = HashSet::new();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `other_accounts_hash_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `signedTransaction` should have a snake case name
[INFO] [stdout]    --> src/tx_generator/mod.rs:170:21
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 let signedTransaction = generate_random_signed_transaction(account, account, 1000, 0, &self.key);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `signed_transaction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `signedTransaction` should have a snake case name
[INFO] [stdout]    --> src/tx_generator/mod.rs:204:25
[INFO] [stdout]     |
[INFO] [stdout] 204 |                     let signedTransaction = generate_random_signed_transaction(self.address, receiver, value, nonce, &self.key);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `signed_transaction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stdout] warning: 52 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ntest_timeout v0.7.3
[INFO] [stderr]     Checking ntest v0.7.3
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/blockchain/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::SystemTime`
[INFO] [stdout]  --> src/types/block.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::SystemTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::TryFutureExt`
[INFO] [stdout]  --> src/types/block.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures::TryFutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::key_pair`
[INFO] [stdout]  --> src/types/transaction.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::types::key_pair;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EdDSAParameters`, `VerificationAlgorithm`
[INFO] [stdout]  --> src/types/transaction.rs:3:59
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `prelude::SliceRandom`, `thread_rng`
[INFO] [stdout]  --> src/types/transaction.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::{Rng, prelude::SliceRandom, thread_rng};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/types/transaction.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::{address::{Address, self}, hash::{Hashable, H256}};
[INFO] [stdout]   |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet`, `ops::Add`
[INFO] [stdout]  --> src/types/transaction.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{collections::{HashMap, HashSet}, ops::Add};
[INFO] [stdout]   |                                  ^^^^^^^   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Sender`, `TryRecvError`, `unbounded`
[INFO] [stdout]  --> src/miner/worker.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crossbeam::channel::{unbounded, Receiver, Sender, TryRecvError};
[INFO] [stdout]   |                          ^^^^^^^^^            ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/miner/worker.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::{debug, info};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/miner/worker.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::types::block::{Block, self};
[INFO] [stdout]   |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::address`
[INFO] [stdout]   --> src/miner/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::address;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::server::TestReceiver as ServerTestReceiver`
[INFO] [stdout]   --> src/network/worker.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use super::server::TestReceiver as ServerTestReceiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::block::Block`
[INFO] [stdout]   --> src/tx_generator/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::types::block::Block;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::blockchain::Blockchain`
[INFO] [stdout]   --> src/tx_generator/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::blockchain::Blockchain;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH`
[INFO] [stdout]   --> src/tx_generator/mod.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::merkle::MerkleTree`
[INFO] [stdout]   --> src/tx_generator/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::types::merkle::MerkleTree;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::block::*`
[INFO] [stdout]   --> src/tx_generator/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::types::block::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::signature::KeyPair`
[INFO] [stdout]   --> src/tx_generator/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ring::signature::KeyPair;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `ops::Add`
[INFO] [stdout]   --> src/tx_generator/mod.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::{collections::{HashMap, HashSet}, ops::Add};
[INFO] [stdout]    |                         ^^^^^^^            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/tx_generator/mod.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | use rand::{thread_rng, Rng};
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::hash::Hashable`
[INFO] [stdout]   --> src/tx_generator/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::types::hash::Hashable;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/blockchain/mod.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let mut rng = rand::thread_rng();
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[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/blockchain/mod.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let mut rng = rand::thread_rng();
[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/types/block.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let mut buffer: [u8; 32] = [0; 32];
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/types/transaction.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn verify(tx: &Transaction, public_key: &[u8], signature: &[u8], state: &State) -> bool {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `public_key`
[INFO] [stdout]   --> src/types/transaction.rs:51:33
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn verify(tx: &Transaction, public_key: &[u8], signature: &[u8], state: &State) -> bool {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_public_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]   --> src/types/transaction.rs:51:52
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn verify(tx: &Transaction, public_key: &[u8], signature: &[u8], state: &State) -> bool {
[INFO] [stdout]    |                                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/types/transaction.rs:51:70
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn verify(tx: &Transaction, public_key: &[u8], signature: &[u8], state: &State) -> bool {
[INFO] [stdout]    |                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/types/transaction.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let mut trans_map: HashMap<H256, SignedTransaction> = HashMap::new();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/types/transaction.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let mut history: HashMap<H256, HashMap<Address, (u32, i32)>> = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `check1`
[INFO] [stdout]    --> src/types/transaction.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |             let check1 = false;
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_check1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/types/transaction.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let mut isValid = true;
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/types/transaction.rs:132:21
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 let mut old_receiver_account = accounts.get(&receiver);
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/types/transaction.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 let mut receiver_account = match old_receiver_account  {
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/types/transaction.rs:139:21
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 let mut old_sender_account = accounts.get(&sender);
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/types/transaction.rs:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 let mut sender_account = match old_sender_account  {
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trans_hash`
[INFO] [stdout]    --> src/miner/mod.rs:173:18
[INFO] [stdout]     |
[INFO] [stdout] 173 |             for (trans_hash, trans) in &transaction_memopool.trans_map {
[INFO] [stdout]     |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trans_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner/mod.rs:164:17
[INFO] [stdout]     |
[INFO] [stdout] 164 |             let mut parent = locked_parent.tip();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner/mod.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |             let mut transaction_memopool = self.trans_memopool.lock().unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/network/worker.rs:235:17
[INFO] [stdout]     |
[INFO] [stdout] 235 |                 _ => unimplemented!()
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `orph_block`
[INFO] [stdout]    --> src/network/worker.rs:176:39
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     for (orph_p_hash, orph_block) in orph_buff.clone() {
[INFO] [stdout]     |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_orph_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/worker.rs:103:25
[INFO] [stdout]     |
[INFO] [stdout] 103 |                     let mut blocks = nonce.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:189:25
[INFO] [stdout]     |
[INFO] [stdout] 189 |                     let mut trans_memopool = self.trans_memopool.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:203:25
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     let mut trans_memopool = self.trans_memopool.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:218:25
[INFO] [stdout]     |
[INFO] [stdout] 218 |                     let mut state = self.state.lock().unwrap();
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestMsgSender` is never constructed
[INFO] [stdout]    --> src/network/worker.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | struct TestMsgSender {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `send` are never used
[INFO] [stdout]    --> src/network/worker.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 247 | impl TestMsgSender {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 248 |     fn new() -> (TestMsgSender, smol::channel::Receiver<(Vec<u8>, peer::Handle)>) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     fn send(&self, msg: Message) -> PeerTestReceiver {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `isValid` should have a snake case name
[INFO] [stdout]    --> src/types/transaction.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let mut isValid = true;
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `is_valid`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `signedTrans` should have a snake case name
[INFO] [stdout]    --> src/types/transaction.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |         for signedTrans in &block.content.content {
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `signed_trans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `removeContent` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:146:37
[INFO] [stdout]     |
[INFO] [stdout] 146 | ...                   let mut removeContent = false;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ help: convert the identifier to snake case: `remove_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `other_accounts_hashSet` should have a snake case name
[INFO] [stdout]    --> src/tx_generator/mod.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let mut other_accounts_hashSet = HashSet::new();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `other_accounts_hash_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `signedTransaction` should have a snake case name
[INFO] [stdout]    --> src/tx_generator/mod.rs:170:21
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 let signedTransaction = generate_random_signed_transaction(account, account, 1000, 0, &self.key);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `signed_transaction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `signedTransaction` should have a snake case name
[INFO] [stdout]    --> src/tx_generator/mod.rs:204:25
[INFO] [stdout]     |
[INFO] [stdout] 204 |                     let signedTransaction = generate_random_signed_transaction(self.address, receiver, value, nonce, &self.key);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `signed_transaction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 54 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 7.91s
[INFO] running `Command { std: "docker" "inspect" "79d4156d3cc77bc405f8847d054cff027dc08127e4020e488ef4d952290166d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "79d4156d3cc77bc405f8847d054cff027dc08127e4020e488ef4d952290166d4", kill_on_drop: false }`
[INFO] [stdout] 79d4156d3cc77bc405f8847d054cff027dc08127e4020e488ef4d952290166d4
