[INFO] cloning repository https://github.com/vivien98/Blockchain [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vivien98/Blockchain" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvivien98%2FBlockchain", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvivien98%2FBlockchain'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ca5511f3ef4aa7dfeb2108ee57b4c809611be537 [INFO] checking vivien98/Blockchain against master#af4a5a13a15fa0c60e06321077ef452f769b42fd for pr-122960-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvivien98%2FBlockchain" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/vivien98/Blockchain on toolchain af4a5a13a15fa0c60e06321077ef452f769b42fd [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/vivien98/Blockchain [INFO] finished tweaking git repo https://github.com/vivien98/Blockchain [INFO] tweaked toml for git repo https://github.com/vivien98/Blockchain written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/vivien98/Blockchain 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" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded chunked_transfer v0.3.1 [INFO] [stderr] Downloaded unicode-ident v1.0.0 [INFO] [stderr] Downloaded serde_derive v1.0.101 [INFO] [stderr] Downloaded memoffset v0.5.1 [INFO] [stderr] Downloaded wincolor v0.1.6 [INFO] [stderr] Downloaded hex-literal-impl v0.2.1 [INFO] [stderr] Downloaded crossbeam-queue v0.1.2 [INFO] [stderr] Downloaded bincode v1.2.0 [INFO] [stderr] Downloaded unicode-width v0.1.6 [INFO] [stderr] Downloaded crossbeam-epoch v0.7.2 [INFO] [stderr] Downloaded mio v0.6.19 [INFO] [stderr] Downloaded proc-macro2 v1.0.39 [INFO] [stderr] Downloaded syn v1.0.95 [INFO] [stderr] Downloaded crossbeam v0.7.2 [INFO] [stderr] Downloaded termcolor v0.3.6 [INFO] [stderr] Downloaded num-traits v0.2.8 [INFO] [stderr] Downloaded mio-extras v2.0.5 [INFO] [stderr] Downloaded ascii v0.8.7 [INFO] [stderr] Downloaded tiny_http v0.6.2 [INFO] [stderr] Downloaded term_size v0.3.1 [INFO] [stderr] Downloaded crossbeam-deque v0.7.1 [INFO] [stderr] Downloaded stderrlog v0.4.1 [INFO] [stderr] Downloaded num-integer v0.1.41 [INFO] [stderr] Downloaded autocfg v0.1.6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 39d3828b153178f6ce24dcd8e48e6ff449e89d34d221ab62c25060b7d0f6186e [INFO] running `Command { std: "docker" "start" "-a" "39d3828b153178f6ce24dcd8e48e6ff449e89d34d221ab62c25060b7d0f6186e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "39d3828b153178f6ce24dcd8e48e6ff449e89d34d221ab62c25060b7d0f6186e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "39d3828b153178f6ce24dcd8e48e6ff449e89d34d221ab62c25060b7d0f6186e", kill_on_drop: false }` [INFO] [stdout] 39d3828b153178f6ce24dcd8e48e6ff449e89d34d221ab62c25060b7d0f6186e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ce98e41a36cb30eb81426ee9d44b2afd76f14df77b4d70839205f502f7f9d6cb [INFO] running `Command { std: "docker" "start" "-a" "ce98e41a36cb30eb81426ee9d44b2afd76f14df77b4d70839205f502f7f9d6cb", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v0.1.6 [INFO] [stderr] Compiling libc v0.2.97 [INFO] [stderr] Compiling proc-macro2 v1.0.39 [INFO] [stderr] Compiling unicode-ident v1.0.0 [INFO] [stderr] Compiling syn v1.0.95 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Compiling serde v1.0.101 [INFO] [stderr] Checking smallvec v0.6.10 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Compiling memoffset v0.5.1 [INFO] [stderr] Checking crossbeam-utils v0.6.6 [INFO] [stderr] Checking unicode-normalization v0.1.8 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Compiling bitflags v1.2.0 [INFO] [stderr] Checking scopeguard v1.0.0 [INFO] [stderr] Compiling cc v1.0.73 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Checking crossbeam-epoch v0.7.2 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Checking term_size v0.3.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling bincode v1.2.0 [INFO] [stderr] Checking unicode-width v0.1.6 [INFO] [stderr] Checking mio v0.6.19 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] Checking crossbeam-deque v0.7.1 [INFO] [stderr] Checking idna v0.2.0 [INFO] [stderr] Checking ryu v1.0.2 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking atty v0.2.13 [INFO] [stderr] Checking crossbeam-queue v0.1.2 [INFO] [stderr] Checking crossbeam-channel v0.3.9 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking lazycell v1.2.1 [INFO] [stderr] Checking termcolor v0.3.6 [INFO] [stderr] Checking ascii v0.8.7 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Checking chunked_transfer v0.3.1 [INFO] [stderr] Checking once_cell v1.12.0 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking mio-extras v2.0.5 [INFO] [stderr] Checking crossbeam v0.7.2 [INFO] [stderr] Checking url v2.1.0 [INFO] [stderr] Compiling serde_derive v1.0.101 [INFO] [stderr] Compiling proc-macro-hack v0.5.11 [INFO] [stderr] Compiling hex-literal-impl v0.2.1 [INFO] [stderr] Checking hex-literal v0.2.1 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking serde_json v1.0.44 [INFO] [stderr] Checking stderrlog v0.4.1 [INFO] [stderr] Checking tiny_http v0.6.2 [INFO] [stderr] Checking bitcoin v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0428]: the name `tests` is defined multiple times [INFO] [stdout] --> src/crypto/hash.rs:229:1 [INFO] [stdout] | [INFO] [stdout] 111 | pub mod tests { [INFO] [stdout] | ------------- previous definition of the module `tests` here [INFO] [stdout] ... [INFO] [stdout] 229 | pub mod tests { [INFO] [stdout] | ^^^^^^^^^^^^^ `tests` redefined here [INFO] [stdout] | [INFO] [stdout] = note: `tests` must be defined only once in the type namespace of this module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateTime`, `Utc` [INFO] [stdout] --> src/block.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::{DateTime,Utc}; [INFO] [stdout] | ^^^^^^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Transaction` [INFO] [stdout] --> src/block.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::transaction::{Transaction,SignedTransaction}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/block.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `SystemTime`, `UNIX_EPOCH` [INFO] [stdout] --> src/block.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MerkleNode`, `MerkleTree` [INFO] [stdout] --> src/block.rs:7:29 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::crypto::merkle::{MerkleNode,MerkleTree}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateTime`, `Utc` [INFO] [stdout] --> src/block.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | use chrono::{DateTime,Utc}; [INFO] [stdout] | ^^^^^^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize` [INFO] [stdout] --> src/blockchain.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use serde::{Serialize, Deserialize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `H160` [INFO] [stdout] --> src/blockchain.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::crypto::hash::{H256, H160, Hashable}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Transaction` [INFO] [stdout] --> src/block.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::transaction::{Transaction,SignedTransaction}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/block.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateTime`, `Utc` [INFO] [stdout] --> src/blockchain.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | use chrono::{DateTime,Utc}; [INFO] [stdout] | ^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Transaction` [INFO] [stdout] --> src/blockchain.rs:7:26 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::transaction::{Transaction,SignedTransaction}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MerkleNode` [INFO] [stdout] --> src/block.rs:7:29 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::crypto::merkle::{MerkleNode,MerkleTree}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `H256` is imported redundantly [INFO] [stdout] --> src/block.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 45 | use super::*; [INFO] [stdout] | -------- the item `H256` is already imported here [INFO] [stdout] 46 | use crate::crypto::hash::H256; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/blockchain.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `SystemTime` [INFO] [stdout] --> src/blockchain.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MerkleNode` [INFO] [stdout] --> src/blockchain.rs:10:29 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::crypto::merkle::{MerkleNode,MerkleTree}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize` [INFO] [stdout] --> src/blockchain.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use serde::{Serialize, Deserialize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `H160` [INFO] [stdout] --> src/blockchain.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::crypto::hash::{H256, H160, Hashable}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateTime`, `Utc` [INFO] [stdout] --> src/blockchain.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | use chrono::{DateTime,Utc}; [INFO] [stdout] | ^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Transaction` [INFO] [stdout] --> src/blockchain.rs:7:26 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::transaction::{Transaction,SignedTransaction}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/blockchain.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `SystemTime` [INFO] [stdout] --> src/blockchain.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MerkleNode` [INFO] [stdout] --> src/blockchain.rs:10:29 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::crypto::merkle::{MerkleNode,MerkleTree}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Hashable` is imported redundantly [INFO] [stdout] --> src/blockchain.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 100 | use super::*; [INFO] [stdout] | -------- the item `Hashable` is already imported here [INFO] [stdout] 101 | use crate::block::test::generate_random_block; [INFO] [stdout] 102 | use crate::crypto::hash::Hashable; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/crypto/merkle.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | (trail_hash == *root) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 111 - (trail_hash == *root) [INFO] [stdout] 111 + trail_hash == *root [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/miner.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Transaction` [INFO] [stdout] --> src/miner.rs:14:26 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::transaction::{Transaction,SignedTransaction}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MerkleNode` [INFO] [stdout] --> src/miner.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::crypto::merkle::{MerkleNode,MerkleTree}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::crypto::key_pair` [INFO] [stdout] --> src/miner.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use crate::crypto::key_pair; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hashable` [INFO] [stdout] --> src/network/message.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::crypto::hash::{H256, Hashable}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Content`, `Header` [INFO] [stdout] --> src/network/message.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::block::{Header,Content,Block}; [INFO] [stdout] | ^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `mio` is imported redundantly [INFO] [stdout] --> src/network/peer.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use mio; [INFO] [stdout] | ^^^ the item `mio` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `mio` is imported redundantly [INFO] [stdout] --> src/network/server.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | use mio::{self, net}; [INFO] [stdout] | ^^^^ the item `mio` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Content`, `Header` [INFO] [stdout] --> src/network/worker.rs:13:20 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::block::{Header,Content,Block}; [INFO] [stdout] | ^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Block`, `Content`, `Header` [INFO] [stdout] --> src/main.rs:25:20 [INFO] [stdout] | [INFO] [stdout] 25 | use crate::block::{Header,Content,Block}; [INFO] [stdout] | ^^^^^^ ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SignedTransaction`, `Transaction` [INFO] [stdout] --> src/main.rs:26:26 [INFO] [stdout] | [INFO] [stdout] 26 | use crate::transaction::{Transaction,SignedTransaction}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/crypto/merkle.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | (trail_hash == *root) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 111 - (trail_hash == *root) [INFO] [stdout] 111 + trail_hash == *root [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `H256` is imported redundantly [INFO] [stdout] --> src/crypto/merkle.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | use crate::crypto::hash::H256; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 117 | use super::*; [INFO] [stdout] | -------- the item `H256` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/miner.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use std::time::{Duration, SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Transaction` [INFO] [stdout] --> src/miner.rs:14:26 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::transaction::{Transaction,SignedTransaction}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MerkleNode` [INFO] [stdout] --> src/miner.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::crypto::merkle::{MerkleNode,MerkleTree}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::crypto::key_pair` [INFO] [stdout] --> src/miner.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use crate::crypto::key_pair; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hashable` [INFO] [stdout] --> src/network/message.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::crypto::hash::{H256, Hashable}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Content`, `Header` [INFO] [stdout] --> src/network/message.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::block::{Header,Content,Block}; [INFO] [stdout] | ^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `mio` is imported redundantly [INFO] [stdout] --> src/network/peer.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use mio; [INFO] [stdout] | ^^^ the item `mio` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `mio` is imported redundantly [INFO] [stdout] --> src/network/server.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | use mio::{self, net}; [INFO] [stdout] | ^^^^ the item `mio` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Content`, `Header` [INFO] [stdout] --> src/network/worker.rs:13:20 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::block::{Header,Content,Block}; [INFO] [stdout] | ^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `key_pair` is imported redundantly [INFO] [stdout] --> src/transaction.rs:106:9 [INFO] [stdout] | [INFO] [stdout] 105 | use super::*; [INFO] [stdout] | -------- the item `key_pair` is already imported here [INFO] [stdout] 106 | use crate::crypto::key_pair; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Block`, `Content`, `Header` [INFO] [stdout] --> src/main.rs:25:20 [INFO] [stdout] | [INFO] [stdout] 25 | use crate::block::{Header,Content,Block}; [INFO] [stdout] | ^^^^^^ ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SignedTransaction`, `Transaction` [INFO] [stdout] --> src/main.rs:26:26 [INFO] [stdout] | [INFO] [stdout] 26 | use crate::transaction::{Transaction,SignedTransaction}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/block.rs:58:60 [INFO] [stdout] | [INFO] [stdout] 58 | ... let genesis_transaction = SignedTransaction{input: String::from("This is random faltugiri"), output: String::from("Blockchain"), am... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `H160`, found `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/block.rs:58:110 [INFO] [stdout] | [INFO] [stdout] 58 | ...("This is random faltugiri"), output: String::from("Blockchain"), amount: 0.00, signature: signature}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `H160`, found `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0063]: missing field `pub_key` in initializer of `transaction::SignedTransaction` [INFO] [stdout] --> src/block.rs:58:35 [INFO] [stdout] | [INFO] [stdout] 58 | ... let genesis_transaction = SignedTransaction{input: String::from("This is random faltugiri"), output: String::from("Blockchain"), am... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ missing `pub_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/blockchain.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let mut tip: H256 = genHash; [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/crypto/merkle.rs:41:17 [INFO] [stdout] | [INFO] [stdout] 41 | let mut hashed_datum = MerkleNode{value: Hashable::hash(&datum),child1:None,child2:None,parent:None,is_leaf: 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/crypto/merkle.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | ... let mut new_node : MerkleNode = MerkleNode{value: root, child1: Some(Box::new(prev_level[2*i].clone())), child2: Some(Box::new(prev... [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/crypto/merkle.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | let mut root: MerkleNode = prev_level[0].clone(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `level` [INFO] [stdout] --> src/crypto/merkle.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | for level in self.node_array_by_levels.clone() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_level` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leaf_size` [INFO] [stdout] --> src/crypto/merkle.rs:94:72 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn verify(root: &H256, datum: &H256, proof: &[H256], index: usize, leaf_size: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaf_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/blockchain.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let mut tip: H256 = genHash; [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/crypto/merkle.rs:41:17 [INFO] [stdout] | [INFO] [stdout] 41 | let mut hashed_datum = MerkleNode{value: Hashable::hash(&datum),child1:None,child2:None,parent:None,is_leaf: 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/crypto/merkle.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | ... let mut new_node : MerkleNode = MerkleNode{value: root, child1: Some(Box::new(prev_level[2*i].clone())), child2: Some(Box::new(prev... [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/crypto/merkle.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | let mut root: MerkleNode = prev_level[0].clone(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `level` [INFO] [stdout] --> src/crypto/merkle.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | for level in self.node_array_by_levels.clone() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_level` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leaf_size` [INFO] [stdout] --> src/crypto/merkle.rs:94:72 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn verify(root: &H256, datum: &H256, proof: &[H256], index: usize, leaf_size: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaf_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transHashVec` [INFO] [stdout] --> src/network/worker.rs:146:47 [INFO] [stdout] | [INFO] [stdout] 146 | Message::NewTransactionHashes(transHashVec) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transHashVec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wantedTrans` [INFO] [stdout] --> src/network/worker.rs:148:29 [INFO] [stdout] | [INFO] [stdout] 148 | let mut wantedTrans: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wantedTrans` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transHashVec` [INFO] [stdout] --> src/network/worker.rs:152:41 [INFO] [stdout] | [INFO] [stdout] 152 | Message::GetTransaction(transHashVec) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transHashVec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transVecToSend` [INFO] [stdout] --> src/network/worker.rs:154:29 [INFO] [stdout] | [INFO] [stdout] 154 | let mut transVecToSend: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transVecToSend` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transVec` [INFO] [stdout] --> src/network/worker.rs:157:38 [INFO] [stdout] | [INFO] [stdout] 157 | Message::Transaction(transVec) => { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transVec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/network/worker.rs:124:41 [INFO] [stdout] | [INFO] [stdout] 124 | ... let mut new_parent = orphanBlocks[&parent].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/network/worker.rs:148:25 [INFO] [stdout] | [INFO] [stdout] 148 | let mut wantedTrans: Vec = 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/network/worker.rs:154:25 [INFO] [stdout] | [INFO] [stdout] 154 | let mut transVecToSend: Vec = Vec::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hash_pub_key` [INFO] [stdout] --> src/transaction.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | let hash_pub_key: [u8;32] = pub_key1.hash().into(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_pub_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `blockMap` should have a snake case name [INFO] [stdout] --> src/blockchain.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub blockMap : HashMap, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `block_map` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `chainLength` should have a snake case name [INFO] [stdout] --> src/blockchain.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub chainLength : u32 [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `chain_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `blockMap` should have a snake case name [INFO] [stdout] --> src/blockchain.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | let mut blockMap = HashMap::new(); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `block_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `genHash` should have a snake case name [INFO] [stdout] --> src/blockchain.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | let genHash: H256 = Hashable::hash(&gen_block); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `gen_hash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `blockHash` should have a snake case name [INFO] [stdout] --> src/blockchain.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let blockHash: H256 = Hashable::hash(block); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `block_hash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `thisParent` should have a snake case name [INFO] [stdout] --> src/blockchain.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | let mut thisParent: H256 = (*block).header.parent; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `this_parent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `hashVec` should have a snake case name [INFO] [stdout] --> src/blockchain.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | let mut hashVec: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `hash_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transHashVec` [INFO] [stdout] --> src/network/worker.rs:146:47 [INFO] [stdout] | [INFO] [stdout] 146 | Message::NewTransactionHashes(transHashVec) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transHashVec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `thisParent` should have a snake case name [INFO] [stdout] --> src/blockchain.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | let mut thisParent: H256 = self.blockMap[&(self.tip)].header.parent; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `this_parent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wantedTrans` [INFO] [stdout] --> src/network/worker.rs:148:29 [INFO] [stdout] | [INFO] [stdout] 148 | let mut wantedTrans: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wantedTrans` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transHashVec` [INFO] [stdout] --> src/network/worker.rs:152:41 [INFO] [stdout] | [INFO] [stdout] 152 | Message::GetTransaction(transHashVec) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transHashVec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transVecToSend` [INFO] [stdout] --> src/network/worker.rs:154:29 [INFO] [stdout] | [INFO] [stdout] 154 | let mut transVecToSend: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transVecToSend` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transVec` [INFO] [stdout] --> src/network/worker.rs:157:38 [INFO] [stdout] | [INFO] [stdout] 157 | Message::Transaction(transVec) => { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transVec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `blockHashVec` should have a snake case name [INFO] [stdout] --> src/miner.rs:162:25 [INFO] [stdout] | [INFO] [stdout] 162 | let mut blockHashVec: Vec = Vec::new();//self.blockchain.lock().unwrap().all_blocks_in_longest_chain(); [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `block_hash_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `orphanBlocks` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | let mut orphanBlocks = HashMap::new();// has parent Hash -> child Block mapping [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `orphan_blocks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `blockHashVec` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:68:41 [INFO] [stdout] | [INFO] [stdout] 68 | Message::NewBlockHashes(blockHashVec) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `block_hash_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wantedBlocks` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:70:29 [INFO] [stdout] | [INFO] [stdout] 70 | let mut wantedBlocks: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `wanted_blocks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `blockHash` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:71:25 [INFO] [stdout] | [INFO] [stdout] 71 | for blockHash in blockHashVec.iter() { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `block_hash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `blockHashVec` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:86:35 [INFO] [stdout] | [INFO] [stdout] 86 | Message::GetBlock(blockHashVec) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `block_hash_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `blockVecToSend` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:88:29 [INFO] [stdout] | [INFO] [stdout] 88 | let mut blockVecToSend: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `block_vec_to_send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `blockHash` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:89:25 [INFO] [stdout] | [INFO] [stdout] 89 | for blockHash in blockHashVec.iter() { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `block_hash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `blockVec` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:102:32 [INFO] [stdout] | [INFO] [stdout] 102 | Message::Block(blockVec) => { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `block_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `insertedBlocks` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:105:29 [INFO] [stdout] | [INFO] [stdout] 105 | let mut insertedBlocks: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `inserted_blocks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `getBlocks` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:106:29 [INFO] [stdout] | [INFO] [stdout] 106 | let mut getBlocks: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `get_blocks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `blockHash` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:113:29 [INFO] [stdout] | [INFO] [stdout] 113 | let blockHash: H256 = (*block).hash(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `block_hash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `transHashVec` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:146:47 [INFO] [stdout] | [INFO] [stdout] 146 | Message::NewTransactionHashes(transHashVec) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `trans_hash_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wantedTrans` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:148:29 [INFO] [stdout] | [INFO] [stdout] 148 | let mut wantedTrans: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `wanted_trans` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `transHashVec` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:152:41 [INFO] [stdout] | [INFO] [stdout] 152 | Message::GetTransaction(transHashVec) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `trans_hash_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `transVecToSend` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:154:29 [INFO] [stdout] | [INFO] [stdout] 154 | let mut transVecToSend: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `trans_vec_to_send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `transVec` should have a snake case name [INFO] [stdout] --> src/network/worker.rs:157:38 [INFO] [stdout] | [INFO] [stdout] 157 | Message::Transaction(transVec) => { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `trans_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `sigH256` should have a snake case name [INFO] [stdout] --> src/transaction.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let sigH256: [H256;2] = convertSigToH256(&sig); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `sig_h256` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convertPubKeyToH160` should have a snake case name [INFO] [stdout] --> src/transaction.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn convertPubKeyToH160(public_key: &::PublicKey) -> H160 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `convert_pub_key_to_h160` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convertPubKeyToH256` should have a snake case name [INFO] [stdout] --> src/transaction.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn convertPubKeyToH256(public_key: &::PublicKey) -> H256 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `convert_pub_key_to_h256` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convertSigToH256` should have a snake case name [INFO] [stdout] --> src/transaction.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn convertSigToH256(signature: &Signature) -> [H256;2] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `convert_sig_to_h256` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convertH256ToSigRef` should have a snake case name [INFO] [stdout] --> src/transaction.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn convertH256ToSigRef(signature: [H256;2]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `convert_h256_to_sig_ref` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/network/worker.rs:124:41 [INFO] [stdout] | [INFO] [stdout] 124 | ... let mut new_parent = orphanBlocks[&parent].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/network/worker.rs:148:25 [INFO] [stdout] | [INFO] [stdout] 148 | let mut wantedTrans: Vec = 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/network/worker.rs:154:25 [INFO] [stdout] | [INFO] [stdout] 154 | let mut transVecToSend: Vec = Vec::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 69 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hash_pub_key` [INFO] [stdout] --> src/transaction.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | let hash_pub_key: [u8;32] = pub_key1.hash().into(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_pub_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signed_trans` [INFO] [stdout] --> src/transaction.rs:126:16 [INFO] [stdout] | [INFO] [stdout] 126 | let (t,signed_trans,key) = generate_random_transaction(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signed_trans` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors; 43 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0063, E0308, E0428. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0063`. [INFO] [stdout] [INFO] [stderr] error: could not compile `bitcoin` (bin "bitcoin" test) due to 5 previous errors; 43 warnings emitted [INFO] running `Command { std: "docker" "inspect" "ce98e41a36cb30eb81426ee9d44b2afd76f14df77b4d70839205f502f7f9d6cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ce98e41a36cb30eb81426ee9d44b2afd76f14df77b4d70839205f502f7f9d6cb", kill_on_drop: false }` [INFO] [stdout] ce98e41a36cb30eb81426ee9d44b2afd76f14df77b4d70839205f502f7f9d6cb