[INFO] cloning repository https://github.com/yl2280/ece598pv
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yl2280/ece598pv" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyl2280%2Fece598pv", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyl2280%2Fece598pv'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7c0488d9de84c00dda9261efcd0e8f0edc9fe099
[INFO] checking yl2280/ece598pv against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyl2280%2Fece598pv" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/yl2280/ece598pv 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/yl2280/ece598pv
[INFO] finished tweaking git repo https://github.com/yl2280/ece598pv
[INFO] tweaked toml for git repo https://github.com/yl2280/ece598pv written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/yl2280/ece598pv 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]  Downloading crates ...
[INFO] [stderr]   Downloaded bincode v1.2.0
[INFO] [stderr]   Downloaded term_size v0.3.1
[INFO] [stderr]   Downloaded ring v0.16.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 62e50bdc6818a2be9bcf43ef52718f4d3213f33e72ed38e267731b1bccfa6ef2
[INFO] running `Command { std: "docker" "start" "-a" "62e50bdc6818a2be9bcf43ef52718f4d3213f33e72ed38e267731b1bccfa6ef2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "62e50bdc6818a2be9bcf43ef52718f4d3213f33e72ed38e267731b1bccfa6ef2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "62e50bdc6818a2be9bcf43ef52718f4d3213f33e72ed38e267731b1bccfa6ef2", kill_on_drop: false }`
[INFO] [stdout] 62e50bdc6818a2be9bcf43ef52718f4d3213f33e72ed38e267731b1bccfa6ef2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 6ffcf1a957b91d177e3da2e9d4a7bc6d844a75592e47f8cd1e0aa9ee4952cc7f
[INFO] running `Command { std: "docker" "start" "-a" "6ffcf1a957b91d177e3da2e9d4a7bc6d844a75592e47f8cd1e0aa9ee4952cc7f", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.6
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling proc-macro2 v1.0.5
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.5
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking matches v0.1.8
[INFO] [stderr]     Checking smallvec v0.6.10
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]    Compiling semver v0.9.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]     Checking crossbeam-utils v0.6.6
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling serde v1.0.101
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]    Compiling memoffset v0.5.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling cc v1.0.45
[INFO] [stderr]     Checking scopeguard v1.0.0
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling bitflags v1.2.0
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking crossbeam-epoch v0.7.2
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking chrono v0.4.9
[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 percent-encoding v1.0.1
[INFO] [stderr]     Checking unicode-width v0.1.6
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]     Checking mio v0.6.19
[INFO] [stderr]     Checking crossbeam-deque v0.7.1
[INFO] [stderr]     Checking idna v0.2.0
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]    Compiling ring v0.16.9
[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_isaac v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking itoa v0.4.4
[INFO] [stderr]     Checking lazycell v1.2.1
[INFO] [stderr]     Checking ascii v0.8.7
[INFO] [stderr]     Checking termcolor v0.3.6
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking untrusted v0.7.0
[INFO] [stderr]     Checking chunked_transfer v0.3.1
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking crossbeam v0.7.2
[INFO] [stderr]     Checking mio-extras v2.0.5
[INFO] [stderr]     Checking stderrlog v0.4.1
[INFO] [stderr]     Checking url v2.1.0
[INFO] [stderr]     Checking tiny_http v0.6.2
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking hex v0.4.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 serde_json v1.0.44
[INFO] [stderr]     Checking bitcoin v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `deserialize`
[INFO] [stdout]  --> src/block.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bincode::{serialize, deserialize};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/block.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `SystemTime`, `UNIX_EPOCH`
[INFO] [stdout]  --> src/block.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 imports: `NaiveDateTime`, `NaiveDate`
[INFO] [stdout]   --> src/block.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | use chrono::{NaiveDate, NaiveDateTime};
[INFO] [stdout]    |              ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Header`
[INFO] [stdout]  --> src/blockchain.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::block::{Block,Header};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::merkle::MerkleTree`
[INFO] [stdout]  --> src/blockchain.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::crypto::merkle::MerkleTree;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `deserialize`, `serialize`
[INFO] [stdout]  --> src/blockchain.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bincode::{serialize, deserialize};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::transaction::Transaction`
[INFO] [stdout]  --> src/blockchain.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::transaction::Transaction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest::Algorithm`
[INFO] [stdout]  --> src/crypto/merkle.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ring::digest::Algorithm;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/miner.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hashable`
[INFO] [stdout]  --> src/network/message.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::crypto::hash::{Hashable, H256};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `digest`
[INFO] [stdout]  --> src/network/message.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ring::{digest};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/network/message.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Blockchain`
[INFO] [stdout]  --> src/network/message.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::blockchain::{Blockchain};
[INFO] [stdout]   |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Header`
[INFO] [stdout]  --> src/network/message.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::block::{Block,Header};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]  --> src/network/worker.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::crypto::hash::{Hashable, H256};
[INFO] [stdout]   |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `digest`
[INFO] [stdout]  --> src/network/worker.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ring::{digest};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Header`
[INFO] [stdout]   --> src/network/worker.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::block::{Block,Header};
[INFO] [stdout]    |                    ^^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EdDSAParameters`
[INFO] [stdout]  --> src/transaction.rs:2:82
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters};
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice`
[INFO] [stdout]  --> src/transaction.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::slice;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deserialize`
[INFO] [stdout]  --> src/transaction.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bincode::{serialize, deserialize};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng`, `thread_rng`
[INFO] [stdout]  --> src/transaction.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::{thread_rng, Rng};
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::distributions::Alphanumeric`
[INFO] [stdout]  --> src/transaction.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::distributions::Alphanumeric;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deserialize`
[INFO] [stdout]  --> src/block.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bincode::{serialize, deserialize};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/block.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: `Header`
[INFO] [stdout]  --> src/blockchain.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::block::{Block,Header};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::merkle::MerkleTree`
[INFO] [stdout]  --> src/blockchain.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::crypto::merkle::MerkleTree;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `deserialize`, `serialize`
[INFO] [stdout]  --> src/blockchain.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bincode::{serialize, deserialize};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::transaction::Transaction`
[INFO] [stdout]  --> src/blockchain.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::transaction::Transaction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest::Algorithm`
[INFO] [stdout]  --> src/crypto/merkle.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ring::digest::Algorithm;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/miner.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hashable`
[INFO] [stdout]  --> src/network/message.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::crypto::hash::{Hashable, H256};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `digest`
[INFO] [stdout]  --> src/network/message.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ring::{digest};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/network/message.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Blockchain`
[INFO] [stdout]  --> src/network/message.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::blockchain::{Blockchain};
[INFO] [stdout]   |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Header`
[INFO] [stdout]  --> src/network/message.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::block::{Block,Header};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]  --> src/network/worker.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::crypto::hash::{Hashable, H256};
[INFO] [stdout]   |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/transaction.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 |     if(ret == Ok(())) { return true;}
[INFO] [stdout]    |       ^             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -     if(ret == Ok(())) { return true;}
[INFO] [stdout] 48 +     if ret == Ok(()) { return true;}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `digest`
[INFO] [stdout]  --> src/network/worker.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ring::{digest};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Header`
[INFO] [stdout]   --> src/network/worker.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::block::{Block,Header};
[INFO] [stdout]    |                    ^^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EdDSAParameters`
[INFO] [stdout]  --> src/transaction.rs:2:82
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters};
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice`
[INFO] [stdout]  --> src/transaction.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::slice;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deserialize`
[INFO] [stdout]  --> src/transaction.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bincode::{serialize, deserialize};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/transaction.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 |     if(ret == Ok(())) { return true;}
[INFO] [stdout]    |       ^             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -     if(ret == Ok(())) { return true;}
[INFO] [stdout] 48 +     if ret == Ok(()) { return true;}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerificationAlgorithm`
[INFO] [stdout]  --> src/transaction.rs:2:59
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerificationAlgorithm`
[INFO] [stdout]  --> src/transaction.rs:2:59
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `diff_rand`
[INFO] [stdout]   --> src/blockchain.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let diff_rand = <H256>::from(rand_u8);
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_diff_rand`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `date_time`
[INFO] [stdout]   --> src/block.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let date_time: NaiveDateTime = NaiveDate::from_ymd(2017, 11, 12).and_hms(17, 33, 44);
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_date_time`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `diff_rand`
[INFO] [stdout]   --> src/blockchain.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let diff_rand = <H256>::from(rand_u8);
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_diff_rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/crypto/merkle.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |             let n = odd.val;
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/crypto/merkle.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 let n = odd.val;
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `j` is assigned to, but never used
[INFO] [stdout]    --> src/crypto/merkle.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let mut j = 0;
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_j` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leaf_size`
[INFO] [stdout]    --> src/crypto/merkle.rs:153:72
[INFO] [stdout]     |
[INFO] [stdout] 153 | 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: `now`
[INFO] [stdout]    --> src/miner.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let now = Utc::now();
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/crypto/merkle.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |             let n = odd.val;
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/crypto/merkle.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 let n = odd.val;
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `j` is assigned to, but never used
[INFO] [stdout]    --> src/crypto/merkle.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let mut j = 0;
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_j` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leaf_size`
[INFO] [stdout]    --> src/crypto/merkle.rs:153:72
[INFO] [stdout]     |
[INFO] [stdout] 153 | 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: `a`
[INFO] [stdout]    --> src/crypto/merkle.rs:204:13
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let a = input_data[0].hash();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/crypto/merkle.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let b = input_data[1].hash();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/miner.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let now = Utc::now();
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_m`
[INFO] [stdout]   --> src/network/worker.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let block_m = Arc::new(Mutex::new(block));
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/network/worker.rs:84:25
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     let mut nonce = blk.clone();
[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/network/worker.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 |                     let mut nonce = blk.clone();
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_m`
[INFO] [stdout]   --> src/network/worker.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let block_m = Arc::new(Mutex::new(block));
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/network/worker.rs:84:25
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     let mut nonce = blk.clone();
[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/network/worker.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 |                     let mut nonce = blk.clone();
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server` is never read
[INFO] [stdout]   --> src/network/worker.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Context {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     server: ServerHandle,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Context` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `genesisBlock` should have a snake case name
[INFO] [stdout]   --> src/blockchain.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 |      genesisBlock: Option<Block>,
[INFO] [stdout]    |      ^^^^^^^^^^^^ help: convert the identifier to snake case: `genesis_block`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `parentH` should have a snake case name
[INFO] [stdout]   --> src/crypto/merkle.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     let parentH = digest::digest(&digest::SHA256, &parent);
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `parent_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `newNode` should have a snake case name
[INFO] [stdout]   --> src/crypto/merkle.rs:76:25
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     let newNode:Node = Node{val,  l: Some(Box::new(l1)), r: Some(Box::new(r1))};
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `new_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sibV` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 let sibV = sibiling.val;
[INFO] [stdout]     |                     ^^^^ help: convert the identifier to snake case: `sib_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sibV` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:139:21
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 let sibV = sibiling.val;
[INFO] [stdout]     |                     ^^^^ help: convert the identifier to snake case: `sib_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/transaction.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let s = "";
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/crypto/merkle.rs:157:34
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let mut vec = Vec::from(proof.clone());
[INFO] [stdout]     |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[H256]` does not implement `Clone`, so calling `clone` on `&[H256]` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `parentH` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |             let parentH = digest::digest(&digest::SHA256, &parent);
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `parent_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `parentH` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |             let parentH = digest::digest(&digest::SHA256, &parent);
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `parent_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server` is never read
[INFO] [stdout]   --> src/network/worker.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Context {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     server: ServerHandle,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Context` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `genesisBlock` should have a snake case name
[INFO] [stdout]   --> src/blockchain.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 |      genesisBlock: Option<Block>,
[INFO] [stdout]    |      ^^^^^^^^^^^^ help: convert the identifier to snake case: `genesis_block`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `parentH` should have a snake case name
[INFO] [stdout]   --> src/crypto/merkle.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     let parentH = digest::digest(&digest::SHA256, &parent);
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `parent_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `newNode` should have a snake case name
[INFO] [stdout]   --> src/crypto/merkle.rs:76:25
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     let newNode:Node = Node{val,  l: Some(Box::new(l1)), r: Some(Box::new(r1))};
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `new_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sibV` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 let sibV = sibiling.val;
[INFO] [stdout]     |                     ^^^^ help: convert the identifier to snake case: `sib_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sibV` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:139:21
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 let sibV = sibiling.val;
[INFO] [stdout]     |                     ^^^^ help: convert the identifier to snake case: `sib_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 43 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/crypto/merkle.rs:157:34
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let mut vec = Vec::from(proof.clone());
[INFO] [stdout]     |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[H256]` does not implement `Clone`, so calling `clone` on `&[H256]` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `parentH` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |             let parentH = digest::digest(&digest::SHA256, &parent);
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `parent_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `parentH` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |             let parentH = digest::digest(&digest::SHA256, &parent);
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `parent_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 43 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 7.24s
[INFO] running `Command { std: "docker" "inspect" "6ffcf1a957b91d177e3da2e9d4a7bc6d844a75592e47f8cd1e0aa9ee4952cc7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ffcf1a957b91d177e3da2e9d4a7bc6d844a75592e47f8cd1e0aa9ee4952cc7f", kill_on_drop: false }`
[INFO] [stdout] 6ffcf1a957b91d177e3da2e9d4a7bc6d844a75592e47f8cd1e0aa9ee4952cc7f
[INFO] checking yl2280/ece598pv against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyl2280%2Fece598pv" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/yl2280/ece598pv on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/yl2280/ece598pv
[INFO] finished tweaking git repo https://github.com/yl2280/ece598pv
[INFO] tweaked toml for git repo https://github.com/yl2280/ece598pv written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/yl2280/ece598pv 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" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 40253d0d0299cf0c4743b5267463a784b307a6283a23069ef50d802b55700f11
[INFO] running `Command { std: "docker" "start" "-a" "40253d0d0299cf0c4743b5267463a784b307a6283a23069ef50d802b55700f11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "40253d0d0299cf0c4743b5267463a784b307a6283a23069ef50d802b55700f11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "40253d0d0299cf0c4743b5267463a784b307a6283a23069ef50d802b55700f11", kill_on_drop: false }`
[INFO] [stdout] 40253d0d0299cf0c4743b5267463a784b307a6283a23069ef50d802b55700f11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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 -Dnon_local_definitions" "-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" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 17b35d48bb1d601094edf65e63f6f88eab5a35d7c20ad0254e66c7a201030368
[INFO] running `Command { std: "docker" "start" "-a" "17b35d48bb1d601094edf65e63f6f88eab5a35d7c20ad0254e66c7a201030368", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.6
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling proc-macro2 v1.0.5
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.5
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]     Checking matches v0.1.8
[INFO] [stderr]     Checking smallvec v0.6.10
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]     Checking unicode-normalization v0.1.8
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]     Checking crossbeam-utils v0.6.6
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]    Compiling memoffset v0.5.1
[INFO] [stderr]    Compiling serde v1.0.101
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling cc v1.0.45
[INFO] [stderr]    Compiling bitflags v1.2.0
[INFO] [stderr]     Checking scopeguard v1.0.0
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking crossbeam-epoch v0.7.2
[INFO] [stderr]     Checking term_size v0.3.1
[INFO] [stderr]     Checking chrono v0.4.9
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling bincode v1.2.0
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking percent-encoding v1.0.1
[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 rand_os v0.1.3
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking crossbeam-channel v0.3.9
[INFO] [stderr]     Checking crossbeam-queue v0.1.2
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]    Compiling ring v0.16.9
[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 itoa v0.4.4
[INFO] [stderr]     Checking untrusted v0.7.0
[INFO] [stderr]     Checking ascii v0.8.7
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking chunked_transfer v0.3.1
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking lazycell v1.2.1
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking termcolor v0.3.6
[INFO] [stderr]     Checking crossbeam v0.7.2
[INFO] [stderr]     Checking mio-extras v2.0.5
[INFO] [stderr]     Checking tiny_http v0.6.2
[INFO] [stderr]     Checking url v2.1.0
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking stderrlog v0.4.1
[INFO] [stderr]     Checking hex v0.4.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 serde_json v1.0.44
[INFO] [stderr]     Checking bitcoin v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `deserialize`
[INFO] [stdout]  --> src/block.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bincode::{serialize, deserialize};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/block.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `SystemTime`, `UNIX_EPOCH`
[INFO] [stdout]  --> src/block.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 imports: `NaiveDateTime`, `NaiveDate`
[INFO] [stdout]   --> src/block.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | use chrono::{NaiveDate, NaiveDateTime};
[INFO] [stdout]    |              ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Header`
[INFO] [stdout]  --> src/blockchain.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::block::{Block,Header};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::merkle::MerkleTree`
[INFO] [stdout]  --> src/blockchain.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::crypto::merkle::MerkleTree;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `deserialize`, `serialize`
[INFO] [stdout]  --> src/blockchain.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bincode::{serialize, deserialize};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::transaction::Transaction`
[INFO] [stdout]  --> src/blockchain.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::transaction::Transaction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest::Algorithm`
[INFO] [stdout]  --> src/crypto/merkle.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ring::digest::Algorithm;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/miner.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hashable`
[INFO] [stdout]  --> src/network/message.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::crypto::hash::{Hashable, H256};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `digest`
[INFO] [stdout]  --> src/network/message.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ring::{digest};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/network/message.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Blockchain`
[INFO] [stdout]  --> src/network/message.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::blockchain::{Blockchain};
[INFO] [stdout]   |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Header`
[INFO] [stdout]  --> src/network/message.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::block::{Block,Header};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]  --> src/network/worker.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::crypto::hash::{Hashable, H256};
[INFO] [stdout]   |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `digest`
[INFO] [stdout]  --> src/network/worker.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ring::{digest};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Header`
[INFO] [stdout]   --> src/network/worker.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::block::{Block,Header};
[INFO] [stdout]    |                    ^^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EdDSAParameters`
[INFO] [stdout]  --> src/transaction.rs:2:82
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters};
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice`
[INFO] [stdout]  --> src/transaction.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::slice;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deserialize`
[INFO] [stdout]  --> src/transaction.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bincode::{serialize, deserialize};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng`, `thread_rng`
[INFO] [stdout]  --> src/transaction.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::{thread_rng, Rng};
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::distributions::Alphanumeric`
[INFO] [stdout]  --> src/transaction.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::distributions::Alphanumeric;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deserialize`
[INFO] [stdout]  --> src/block.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bincode::{serialize, deserialize};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/block.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: `Header`
[INFO] [stdout]  --> src/blockchain.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::block::{Block,Header};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::merkle::MerkleTree`
[INFO] [stdout]  --> src/blockchain.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::crypto::merkle::MerkleTree;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `deserialize`, `serialize`
[INFO] [stdout]  --> src/blockchain.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bincode::{serialize, deserialize};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::transaction::Transaction`
[INFO] [stdout]  --> src/blockchain.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::transaction::Transaction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest::Algorithm`
[INFO] [stdout]  --> src/crypto/merkle.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ring::digest::Algorithm;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/miner.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hashable`
[INFO] [stdout]  --> src/network/message.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::crypto::hash::{Hashable, H256};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `digest`
[INFO] [stdout]  --> src/network/message.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ring::{digest};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/transaction.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 |     if(ret == Ok(())) { return true;}
[INFO] [stdout]    |       ^             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -     if(ret == Ok(())) { return true;}
[INFO] [stdout] 48 +     if ret == Ok(()) { return true;}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/network/message.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Blockchain`
[INFO] [stdout]  --> src/network/message.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::blockchain::{Blockchain};
[INFO] [stdout]   |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Header`
[INFO] [stdout]  --> src/network/message.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::block::{Block,Header};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]  --> src/network/worker.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::crypto::hash::{Hashable, H256};
[INFO] [stdout]   |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `digest`
[INFO] [stdout]  --> src/network/worker.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ring::{digest};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Header`
[INFO] [stdout]   --> src/network/worker.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::block::{Block,Header};
[INFO] [stdout]    |                    ^^^^^ ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EdDSAParameters`
[INFO] [stdout]  --> src/transaction.rs:2:82
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters};
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice`
[INFO] [stdout]  --> src/transaction.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::slice;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deserialize`
[INFO] [stdout]  --> src/transaction.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bincode::{serialize, deserialize};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/transaction.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 |     if(ret == Ok(())) { return true;}
[INFO] [stdout]    |       ^             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -     if(ret == Ok(())) { return true;}
[INFO] [stdout] 48 +     if ret == Ok(()) { return true;}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerificationAlgorithm`
[INFO] [stdout]  --> src/transaction.rs:2:59
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerificationAlgorithm`
[INFO] [stdout]  --> src/transaction.rs:2:59
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, Signature, KeyPair, VerificationAlgorithm, EdDSAParameters};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `date_time`
[INFO] [stdout]   --> src/block.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let date_time: NaiveDateTime = NaiveDate::from_ymd(2017, 11, 12).and_hms(17, 33, 44);
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_date_time`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `diff_rand`
[INFO] [stdout]   --> src/blockchain.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let diff_rand = <H256>::from(rand_u8);
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_diff_rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `diff_rand`
[INFO] [stdout]   --> src/blockchain.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let diff_rand = <H256>::from(rand_u8);
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_diff_rand`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/crypto/merkle.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |             let n = odd.val;
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/crypto/merkle.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 let n = odd.val;
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/crypto/merkle.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |             let n = odd.val;
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/crypto/merkle.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 let n = odd.val;
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `j` is assigned to, but never used
[INFO] [stdout]    --> src/crypto/merkle.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let mut j = 0;
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_j` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leaf_size`
[INFO] [stdout]    --> src/crypto/merkle.rs:153:72
[INFO] [stdout]     |
[INFO] [stdout] 153 | 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 `j` is assigned to, but never used
[INFO] [stdout]    --> src/crypto/merkle.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let mut j = 0;
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_j` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leaf_size`
[INFO] [stdout]    --> src/crypto/merkle.rs:153:72
[INFO] [stdout]     |
[INFO] [stdout] 153 | 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: `a`
[INFO] [stdout]    --> src/crypto/merkle.rs:204:13
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let a = input_data[0].hash();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/crypto/merkle.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let b = input_data[1].hash();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/miner.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let now = Utc::now();
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/miner.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let now = Utc::now();
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_m`
[INFO] [stdout]   --> src/network/worker.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let block_m = Arc::new(Mutex::new(block));
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_m`
[INFO] [stdout]   --> src/network/worker.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let block_m = Arc::new(Mutex::new(block));
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/network/worker.rs:84:25
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     let mut nonce = blk.clone();
[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/network/worker.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 |                     let mut nonce = blk.clone();
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/network/worker.rs:84:25
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     let mut nonce = blk.clone();
[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/network/worker.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 |                     let mut nonce = blk.clone();
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/transaction.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let s = "";
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server` is never read
[INFO] [stdout]   --> src/network/worker.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Context {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     server: ServerHandle,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Context` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/api/mod.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_ApiResponse`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Serialize, Deserialize,Debug, Default, Clone,PartialEq)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Header`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Serialize, Deserialize,Debug, Default, Clone,PartialEq)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Header`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Block`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Block`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `genesisBlock` should have a snake case name
[INFO] [stdout]   --> src/blockchain.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 |      genesisBlock: Option<Block>,
[INFO] [stdout]    |      ^^^^^^^^^^^^ help: convert the identifier to snake case: `genesis_block`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/blockchain.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize,Debug, Default)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Blockchain`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/blockchain.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize,Debug, Default)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Blockchain`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/hash.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_H256`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/hash.rs:11:36
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_H256`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/crypto/merkle.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize,Debug, Default, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Node`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/crypto/merkle.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize,Debug, Default, Clone, PartialEq)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Node`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/merkle.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize, Debug, Default, Clone,PartialEq)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_MerkleTree`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/merkle.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize, Debug, Default, Clone,PartialEq)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_MerkleTree`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `parentH` should have a snake case name
[INFO] [stdout]   --> src/crypto/merkle.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     let parentH = digest::digest(&digest::SHA256, &parent);
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `parent_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server` is never read
[INFO] [stdout]   --> src/network/worker.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Context {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     server: ServerHandle,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Context` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `newNode` should have a snake case name
[INFO] [stdout]   --> src/crypto/merkle.rs:76:25
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     let newNode:Node = Node{val,  l: Some(Box::new(l1)), r: Some(Box::new(r1))};
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `new_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sibV` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 let sibV = sibiling.val;
[INFO] [stdout]     |                     ^^^^ help: convert the identifier to snake case: `sib_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sibV` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:139:21
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 let sibV = sibiling.val;
[INFO] [stdout]     |                     ^^^^ help: convert the identifier to snake case: `sib_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/api/mod.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_ApiResponse`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Serialize, Deserialize,Debug, Default, Clone,PartialEq)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Header`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Serialize, Deserialize,Debug, Default, Clone,PartialEq)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Header`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Block`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/block.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Block`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `genesisBlock` should have a snake case name
[INFO] [stdout]   --> src/blockchain.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 |      genesisBlock: Option<Block>,
[INFO] [stdout]    |      ^^^^^^^^^^^^ help: convert the identifier to snake case: `genesis_block`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/blockchain.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize,Debug, Default)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Blockchain`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/blockchain.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize,Debug, Default)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Blockchain`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/hash.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_H256`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/hash.rs:11:36
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Eq, PartialEq, Serialize, Deserialize, Clone, Hash, Default, Copy)]
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_H256`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/crypto/merkle.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize,Debug, Default, Clone, PartialEq)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Node`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/crypto/merkle.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize,Debug, Default, Clone, PartialEq)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Node`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/merkle.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize, Debug, Default, Clone,PartialEq)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_MerkleTree`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/crypto/merkle.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize, Debug, Default, Clone,PartialEq)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_MerkleTree`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `parentH` should have a snake case name
[INFO] [stdout]   --> src/crypto/merkle.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     let parentH = digest::digest(&digest::SHA256, &parent);
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `parent_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `newNode` should have a snake case name
[INFO] [stdout]   --> src/crypto/merkle.rs:76:25
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     let newNode:Node = Node{val,  l: Some(Box::new(l1)), r: Some(Box::new(r1))};
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `new_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sibV` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 let sibV = sibiling.val;
[INFO] [stdout]     |                     ^^^^ help: convert the identifier to snake case: `sib_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sibV` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:139:21
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 let sibV = sibiling.val;
[INFO] [stdout]     |                     ^^^^ help: convert the identifier to snake case: `sib_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/crypto/merkle.rs:157:34
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let mut vec = Vec::from(proof.clone());
[INFO] [stdout]     |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[H256]` does not implement `Clone`, so calling `clone` on `&[H256]` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `parentH` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |             let parentH = digest::digest(&digest::SHA256, &parent);
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `parent_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `parentH` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |             let parentH = digest::digest(&digest::SHA256, &parent);
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `parent_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/network/message.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Message`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/network/message.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Message`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/crypto/merkle.rs:157:34
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let mut vec = Vec::from(proof.clone());
[INFO] [stdout]     |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[H256]` does not implement `Clone`, so calling `clone` on `&[H256]` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `parentH` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |             let parentH = digest::digest(&digest::SHA256, &parent);
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `parent_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `parentH` should have a snake case name
[INFO] [stdout]    --> src/crypto/merkle.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |             let parentH = digest::digest(&digest::SHA256, &parent);
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `parent_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Transaction`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Transaction`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/network/message.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Message`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/network/message.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Message`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Transaction`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/transaction.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Transaction`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors; 43 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors; 43 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bitcoin` (bin "bitcoin") due to 18 previous errors; 43 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `bitcoin` (bin "bitcoin" test) due to 18 previous errors; 43 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "17b35d48bb1d601094edf65e63f6f88eab5a35d7c20ad0254e66c7a201030368", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17b35d48bb1d601094edf65e63f6f88eab5a35d7c20ad0254e66c7a201030368", kill_on_drop: false }`
[INFO] [stdout] 17b35d48bb1d601094edf65e63f6f88eab5a35d7c20ad0254e66c7a201030368
