[INFO] cloning repository https://github.com/justinxu9905/ece598pv-Principles-of-Blockchains
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/justinxu9905/ece598pv-Principles-of-Blockchains" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjustinxu9905%2Fece598pv-Principles-of-Blockchains", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjustinxu9905%2Fece598pv-Principles-of-Blockchains'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4cd10373daaa309a4d074d329362ca9d64ec7993
[INFO] checking justinxu9905/ece598pv-Principles-of-Blockchains against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjustinxu9905%2Fece598pv-Principles-of-Blockchains" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/justinxu9905/ece598pv-Principles-of-Blockchains 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/justinxu9905/ece598pv-Principles-of-Blockchains
[INFO] finished tweaking git repo https://github.com/justinxu9905/ece598pv-Principles-of-Blockchains
[INFO] tweaked toml for git repo https://github.com/justinxu9905/ece598pv-Principles-of-Blockchains written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/justinxu9905/ece598pv-Principles-of-Blockchains already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded stderrlog v0.5.1
[INFO] [stderr]   Downloaded wasm-bindgen-webidl v0.2.51
[INFO] [stderr]   Downloaded concurrent-queue v1.2.2
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.51
[INFO] [stderr]   Downloaded atomic-waker v1.0.0
[INFO] [stderr]   Downloaded cache-padded v1.1.1
[INFO] [stderr]   Downloaded ascii v1.0.0
[INFO] [stderr]   Downloaded ntest_test_cases v0.7.3
[INFO] [stderr]   Downloaded async-fs v1.5.0
[INFO] [stderr]   Downloaded ntest_timeout v0.7.3
[INFO] [stderr]   Downloaded ntest v0.7.3
[INFO] [stderr]   Downloaded ntest_proc_macro_helper v0.7.3
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.5
[INFO] [stderr]   Downloaded async-dup v1.2.2
[INFO] [stderr]   Downloaded async-channel v1.6.1
[INFO] [stderr]   Downloaded wepoll-ffi v0.1.2
[INFO] [stderr]   Downloaded futures-macro v0.3.18
[INFO] [stderr]   Downloaded blocking v1.1.0
[INFO] [stderr]   Downloaded async-io v1.6.0
[INFO] [stderr]   Downloaded smol v1.2.5
[INFO] [stderr]   Downloaded web-sys v0.3.28
[INFO] [stderr]   Downloaded libc v0.2.108
[INFO] [stderr]   Downloaded idna v0.2.0
[INFO] [stderr]   Downloaded ring v0.16.9
[INFO] [stderr]   Downloaded tiny_http v0.9.0
[INFO] [stderr]   Downloaded futures v0.3.18
[INFO] [stderr]   Downloaded url v2.1.0
[INFO] [stderr]   Downloaded js-sys v0.3.28
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.51
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.1
[INFO] [stderr]   Downloaded futures-lite v1.12.0
[INFO] [stderr]   Downloaded futures-executor v0.3.18
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.51
[INFO] [stderr]   Downloaded signal-hook v0.3.10
[INFO] [stderr]   Downloaded async-task v4.0.3
[INFO] [stderr]   Downloaded proc-macro2 v1.0.32
[INFO] [stderr]   Downloaded term_size v0.3.1
[INFO] [stderr]   Downloaded bincode v1.2.0
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.51
[INFO] [stderr]   Downloaded async-net v1.6.1
[INFO] [stderr]   Downloaded polling v2.2.0
[INFO] [stderr]   Downloaded async-lock v2.4.0
[INFO] [stderr]   Downloaded event-listener v2.5.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.51
[INFO] [stderr]   Downloaded parking v2.0.0
[INFO] [stderr]   Downloaded simple-mutex v1.1.5
[INFO] [stderr]   Downloaded untrusted v0.7.0
[INFO] [stderr]   Downloaded async-executor v1.4.1
[INFO] [stderr]   Downloaded memoffset v0.6.4
[INFO] [stderr]   Downloaded crossbeam-queue v0.3.2
[INFO] [stderr]   Downloaded hex v0.4.0
[INFO] [stderr]   Downloaded async-process v1.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 4d11eb3ccd96496018a310259b307ffaf7c295aaf14a1b93c2dc9b225894e86f
[INFO] running `Command { std: "docker" "start" "-a" "4d11eb3ccd96496018a310259b307ffaf7c295aaf14a1b93c2dc9b225894e86f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4d11eb3ccd96496018a310259b307ffaf7c295aaf14a1b93c2dc9b225894e86f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d11eb3ccd96496018a310259b307ffaf7c295aaf14a1b93c2dc9b225894e86f", kill_on_drop: false }`
[INFO] [stdout] 4d11eb3ccd96496018a310259b307ffaf7c295aaf14a1b93c2dc9b225894e86f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] d73a097f891575afc3a2c96de8527065e485acdc0397a8b51c6f8c6d51331b1d
[INFO] running `Command { std: "docker" "start" "-a" "d73a097f891575afc3a2c96de8527065e485acdc0397a8b51c6f8c6d51331b1d", 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 autocfg v0.1.6
[INFO] [stderr]     Checking event-listener v2.5.1
[INFO] [stderr]     Checking cache-padded v1.1.1
[INFO] [stderr]     Checking parking v2.0.0
[INFO] [stderr]     Checking waker-fn v1.1.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling futures-channel v0.3.18
[INFO] [stderr]     Checking async-task v4.0.3
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]    Compiling signal-hook v0.3.10
[INFO] [stderr]     Checking smallvec v0.6.10
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling futures-util v0.3.18
[INFO] [stderr]     Checking concurrent-queue v1.2.2
[INFO] [stderr]     Checking atomic-waker v1.0.0
[INFO] [stderr]     Checking futures-sink v0.3.18
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]     Checking futures-lite v1.12.0
[INFO] [stderr]    Compiling bitflags v1.2.0
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]     Checking unicode-normalization v0.1.8
[INFO] [stderr]    Compiling crossbeam-queue v0.3.2
[INFO] [stderr]    Compiling cc v1.0.45
[INFO] [stderr]     Checking async-channel v1.6.1
[INFO] [stderr]    Compiling bincode v1.2.0
[INFO] [stderr]     Checking async-lock v2.4.0
[INFO] [stderr]     Checking unicode-width v0.1.6
[INFO] [stderr]     Checking simple-mutex v1.1.5
[INFO] [stderr]     Checking chunked_transfer v1.4.0
[INFO] [stderr]     Checking untrusted v0.7.0
[INFO] [stderr]    Compiling ntest_proc_macro_helper v0.7.3
[INFO] [stderr]     Checking ascii v1.0.0
[INFO] [stderr]     Checking hex v0.4.0
[INFO] [stderr]    Compiling hex-literal v0.3.4
[INFO] [stderr]     Checking async-dup v1.2.2
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]     Checking polling v2.2.0
[INFO] [stderr]     Checking socket2 v0.4.2
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking term_size v0.3.1
[INFO] [stderr]     Checking idna v0.2.0
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling ring v0.16.9
[INFO] [stderr]     Checking blocking v1.1.0
[INFO] [stderr]     Checking async-executor v1.4.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking async-io v1.6.0
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking async-fs v1.5.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking crossbeam v0.8.1
[INFO] [stderr]     Checking url v2.1.0
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking chrono v0.4.19
[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 tiny_http v0.9.0
[INFO] [stderr]     Checking stderrlog v0.5.1
[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]    Compiling serde v1.0.101
[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: `self`
[INFO] [stdout]  --> src/blockchain/mod.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::types::block::{self, *};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/blockchain/mod.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/blockchain/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::IteratorRandom`
[INFO] [stdout]  --> src/blockchain/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::seq::IteratorRandom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::address::Address`
[INFO] [stdout]  --> src/blockchain/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::types::address::Address;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]  --> src/miner/worker.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::types::hash::{Hashable, H256};
[INFO] [stdout]   |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Sender`, `TryRecvError`, `unbounded`
[INFO] [stdout]  --> src/miner/worker.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crossbeam::channel::{unbounded, Receiver, Sender, TryRecvError};
[INFO] [stdout]   |                          ^^^^^^^^^            ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/miner/worker.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{debug, info};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/miner/mod.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::blockchain::{self, *};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]   --> src/miner/mod.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::hash::{Hashable, H256};
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SignedTransaction`, `Transaction`
[INFO] [stdout]   --> src/network/worker.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::types::transaction::{self, Transaction, SignedTransaction};
[INFO] [stdout]    |                                       ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/types/block.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::merkle::MerkleTree`
[INFO] [stdout]  --> src/types/block.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::types::merkle::MerkleTree;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH`
[INFO] [stdout]  --> src/types/block.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/types/merkle.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ring::digest::{Context};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EdDSAParameters`
[INFO] [stdout]  --> src/types/transaction.rs:2:82
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng`, `thread_rng`
[INFO] [stdout]  --> src/types/transaction.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/types/transaction.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/types/state.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ED25519`, `EdDSAParameters`, `Signature`, `UnparsedPublicKey`, `VerificationAlgorithm`
[INFO] [stdout]  --> src/tx_gen/mod.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                       ^^^^^^^^^           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/tx_gen/mod.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::blockchain::{self, *};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Content`, `Header`
[INFO] [stdout]  --> src/tx_gen/mod.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::types::block::{Block, Content, Header};
[INFO] [stdout]   |                           ^^^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::merkle::MerkleTree`
[INFO] [stdout]  --> src/tx_gen/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::types::merkle::MerkleTree;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH`
[INFO] [stdout]  --> src/tx_gen/mod.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]   --> src/tx_gen/mod.rs:11:36
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::types::hash::{Hashable, H256};
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/tx_gen/mod.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{Rng, thread_rng};
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::agreement::PublicKey`
[INFO] [stdout]   --> src/tx_gen/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use ring::agreement::PublicKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `transaction`
[INFO] [stdout]   --> src/tx_gen/mod.rs:19:30
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::types::{key_pair, transaction};
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use futures::FutureExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyPair`
[INFO] [stdout]  --> src/types/transaction.rs:2:50
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerificationAlgorithm`
[INFO] [stdout]  --> src/types/transaction.rs:2:59
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain/mod.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut tx_data: Vec<SignedTransaction> = Vec::new();
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain/mod.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let mut tip: H256 = genesis.hash();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain/mod.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut max_len: u128 = 1;
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/blockchain/mod.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         for i in 0..self.max_len {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/blockchain/mod.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         for i in 0..self.max_len{
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner/mod.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut blockchain_ = self.blockchain.lock().unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner/mod.rs:188:25
[INFO] [stdout]     |
[INFO] [stdout] 188 |                     let mut block = Block {
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/network/worker.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |                 _ => {}
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `left_new_blocks` is never read
[INFO] [stdout]    --> src/network/worker.rs:173:29
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     let mut left_new_blocks: Vec<H256> = vec![];
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_txs`
[INFO] [stdout]    --> src/network/worker.rs:237:29
[INFO] [stdout]     |
[INFO] [stdout] 237 |                     let mut new_txs: Vec<H256> = vec![];
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_txs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/worker.rs:211:25
[INFO] [stdout]     |
[INFO] [stdout] 211 |                     let mut mempool = self.mempool.lock().unwrap();
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/worker.rs:224:25
[INFO] [stdout]     |
[INFO] [stdout] 224 |                     let mut mempool = self.mempool.lock().unwrap();
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/worker.rs:237:25
[INFO] [stdout]     |
[INFO] [stdout] 237 |                     let mut new_txs: Vec<H256> = vec![];
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `loop_time` is never read
[INFO] [stdout]    --> src/tx_gen/mod.rs:180:17
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let mut loop_time: usize = 1;
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nonce_and_balance`
[INFO] [stdout]    --> src/tx_gen/mod.rs:219:27
[INFO] [stdout]     |
[INFO] [stdout] 219 |             for (account, nonce_and_balance) in latest_state.state.iter() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nonce_and_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tx_gen/mod.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout] 217 |             let mut loop_time = rng.gen_range(0..latest_state.state.keys().len());
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mempool` is never read
[INFO] [stdout]   --> src/api/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Server {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     mempool: Arc<Mutex<Mempool>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mempool` and `key_pair` are never read
[INFO] [stdout]   --> src/tx_gen/mod.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Context {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     mempool: Arc<Mutex<Mempool>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 40 |     state_per_block: Arc<Mutex<StatePerBlock>>,
[INFO] [stdout] 41 |     key_pair: Ed25519KeyPair,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/miner/mod.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         drop(difficulty_);
[INFO] [stdout]     |         ^^^^^-----------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `H256`
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/miner/mod.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |         drop(parent_);
[INFO] [stdout]     |         ^^^^^-------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `H256`
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hashVec` should have a snake case name
[INFO] [stdout]   --> src/network/worker.rs:94:41
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 Message::NewBlockHashes(hashVec) => {
[INFO] [stdout]    |                                         ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hashVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:107:36
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 Message::GetBlocks(hashVec) => {
[INFO] [stdout]     |                                    ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `blockVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:120:33
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 Message::Blocks(blockVec) => {
[INFO] [stdout]     |                                 ^^^^^^^^ help: convert the identifier to snake case: `block_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hashVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:209:47
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 Message::NewTransactionHashes(hashVec) => {
[INFO] [stdout]     |                                               ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hashVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:222:42
[INFO] [stdout]     |
[INFO] [stdout] 222 |                 Message::GetTransactions(hashVec) => {
[INFO] [stdout]     |                                          ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `txVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:235:39
[INFO] [stdout]     |
[INFO] [stdout] 235 |                 Message::Transactions(txVec) => {
[INFO] [stdout]     |                                       ^^^^^ help: convert the identifier to snake case: `tx_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stdout] warning: 57 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: `self`
[INFO] [stdout]  --> src/blockchain/mod.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::types::block::{self, *};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/blockchain/mod.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/blockchain/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::IteratorRandom`
[INFO] [stdout]  --> src/blockchain/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::seq::IteratorRandom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::address::Address`
[INFO] [stdout]  --> src/blockchain/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::types::address::Address;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]  --> src/miner/worker.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::types::hash::{Hashable, H256};
[INFO] [stdout]   |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Sender`, `TryRecvError`, `unbounded`
[INFO] [stdout]  --> src/miner/worker.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crossbeam::channel::{unbounded, Receiver, Sender, TryRecvError};
[INFO] [stdout]   |                          ^^^^^^^^^            ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/miner/worker.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{debug, info};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/miner/mod.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::blockchain::{self, *};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]   --> src/miner/mod.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::hash::{Hashable, H256};
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SignedTransaction`, `Transaction`
[INFO] [stdout]   --> src/network/worker.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::types::transaction::{self, Transaction, SignedTransaction};
[INFO] [stdout]    |                                       ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::peer::TestReceiver as PeerTestReceiver`
[INFO] [stdout]   --> src/network/worker.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use super::peer::TestReceiver as PeerTestReceiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::server::TestReceiver as ServerTestReceiver`
[INFO] [stdout]   --> src/network/worker.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use super::server::TestReceiver as ServerTestReceiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/types/merkle.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ring::digest::{Context};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EdDSAParameters`
[INFO] [stdout]  --> src/types/transaction.rs:2:82
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng`, `thread_rng`
[INFO] [stdout]  --> src/types/transaction.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/types/transaction.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/types/state.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ED25519`, `EdDSAParameters`, `Signature`, `UnparsedPublicKey`, `VerificationAlgorithm`
[INFO] [stdout]  --> src/tx_gen/mod.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                       ^^^^^^^^^           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/tx_gen/mod.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::blockchain::{self, *};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Content`, `Header`
[INFO] [stdout]  --> src/tx_gen/mod.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::types::block::{Block, Content, Header};
[INFO] [stdout]   |                           ^^^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::merkle::MerkleTree`
[INFO] [stdout]  --> src/tx_gen/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::types::merkle::MerkleTree;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH`
[INFO] [stdout]  --> src/tx_gen/mod.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]   --> src/tx_gen/mod.rs:11:36
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::types::hash::{Hashable, H256};
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/tx_gen/mod.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{Rng, thread_rng};
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::agreement::PublicKey`
[INFO] [stdout]   --> src/tx_gen/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use ring::agreement::PublicKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `transaction`
[INFO] [stdout]   --> src/tx_gen/mod.rs:19:30
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::types::{key_pair, transaction};
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use futures::FutureExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyPair`
[INFO] [stdout]  --> src/types/transaction.rs:2:50
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerificationAlgorithm`
[INFO] [stdout]  --> src/types/transaction.rs:2:59
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain/mod.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut tx_data: Vec<SignedTransaction> = Vec::new();
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain/mod.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let mut tip: H256 = genesis.hash();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/blockchain/mod.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut max_len: u128 = 1;
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/blockchain/mod.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         for i in 0..self.max_len {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/blockchain/mod.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         for i in 0..self.max_len{
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner/mod.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut blockchain_ = self.blockchain.lock().unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/miner/mod.rs:188:25
[INFO] [stdout]     |
[INFO] [stdout] 188 |                     let mut block = Block {
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/network/worker.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |                 _ => {}
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `left_new_blocks` is never read
[INFO] [stdout]    --> src/network/worker.rs:173:29
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     let mut left_new_blocks: Vec<H256> = vec![];
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_txs`
[INFO] [stdout]    --> src/network/worker.rs:237:29
[INFO] [stdout]     |
[INFO] [stdout] 237 |                     let mut new_txs: Vec<H256> = vec![];
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_txs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/worker.rs:211:25
[INFO] [stdout]     |
[INFO] [stdout] 211 |                     let mut mempool = self.mempool.lock().unwrap();
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/worker.rs:224:25
[INFO] [stdout]     |
[INFO] [stdout] 224 |                     let mut mempool = self.mempool.lock().unwrap();
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network/worker.rs:237:25
[INFO] [stdout]     |
[INFO] [stdout] 237 |                     let mut new_txs: Vec<H256> = vec![];
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/types/block.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut t_vec: Vec<SignedTransaction> = 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/types/block.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut merkle_tree = MerkleTree::new(&t_vec);
[INFO] [stdout]    |         ----^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `loop_time` is never read
[INFO] [stdout]    --> src/tx_gen/mod.rs:180:17
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let mut loop_time: usize = 1;
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nonce_and_balance`
[INFO] [stdout]    --> src/tx_gen/mod.rs:219:27
[INFO] [stdout]     |
[INFO] [stdout] 219 |             for (account, nonce_and_balance) in latest_state.state.iter() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nonce_and_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tx_gen/mod.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout] 217 |             let mut loop_time = rng.gen_range(0..latest_state.state.keys().len());
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mempool` is never read
[INFO] [stdout]   --> src/api/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Server {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     mempool: Arc<Mutex<Mempool>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mempool` and `key_pair` are never read
[INFO] [stdout]   --> src/tx_gen/mod.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Context {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     mempool: Arc<Mutex<Mempool>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 40 |     state_per_block: Arc<Mutex<StatePerBlock>>,
[INFO] [stdout] 41 |     key_pair: Ed25519KeyPair,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/miner/mod.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         drop(difficulty_);
[INFO] [stdout]     |         ^^^^^-----------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `H256`
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/miner/mod.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |         drop(parent_);
[INFO] [stdout]     |         ^^^^^-------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `H256`
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hashVec` should have a snake case name
[INFO] [stdout]   --> src/network/worker.rs:94:41
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 Message::NewBlockHashes(hashVec) => {
[INFO] [stdout]    |                                         ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hashVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:107:36
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 Message::GetBlocks(hashVec) => {
[INFO] [stdout]     |                                    ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `blockVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:120:33
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 Message::Blocks(blockVec) => {
[INFO] [stdout]     |                                 ^^^^^^^^ help: convert the identifier to snake case: `block_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hashVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:209:47
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 Message::NewTransactionHashes(hashVec) => {
[INFO] [stdout]     |                                               ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `hashVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:222:42
[INFO] [stdout]     |
[INFO] [stdout] 222 |                 Message::GetTransactions(hashVec) => {
[INFO] [stdout]     |                                          ^^^^^^^ help: convert the identifier to snake case: `hash_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `txVec` should have a snake case name
[INFO] [stdout]    --> src/network/worker.rs:235:39
[INFO] [stdout]     |
[INFO] [stdout] 235 |                 Message::Transactions(txVec) => {
[INFO] [stdout]     |                                       ^^^^^ help: convert the identifier to snake case: `tx_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 58 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 20.35s
[INFO] running `Command { std: "docker" "inspect" "d73a097f891575afc3a2c96de8527065e485acdc0397a8b51c6f8c6d51331b1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d73a097f891575afc3a2c96de8527065e485acdc0397a8b51c6f8c6d51331b1d", kill_on_drop: false }`
[INFO] [stdout] d73a097f891575afc3a2c96de8527065e485acdc0397a8b51c6f8c6d51331b1d
