[INFO] cloning repository https://github.com/mattlangl/rustchain [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mattlangl/rustchain" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattlangl%2Frustchain", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattlangl%2Frustchain'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4ae9c1f4892eedaed773b75be9cf10b2ede9258b [INFO] testing mattlangl/rustchain against 1.79.0 for beta-1.80-4 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattlangl%2Frustchain" "/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/mattlangl/rustchain on toolchain 1.79.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.79.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/mattlangl/rustchain [INFO] finished tweaking git repo https://github.com/mattlangl/rustchain [INFO] tweaked toml for git repo https://github.com/mattlangl/rustchain written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/mattlangl/rustchain 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" "+1.79.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded base16ct v0.1.1 [INFO] [stderr] Downloaded simple_logger v4.0.0 [INFO] [stderr] Downloaded colored v2.0.0 [INFO] [stderr] Downloaded p256 v0.12.0 [INFO] [stderr] Downloaded serdect v0.1.0 [INFO] [stderr] Downloaded sec1 v0.3.0 [INFO] [stderr] Downloaded primeorder v0.12.1 [INFO] [stderr] Downloaded rfc6979 v0.3.1 [INFO] [stderr] Downloaded serde_derive v1.0.154 [INFO] [stderr] Downloaded signature v2.0.0 [INFO] [stderr] Downloaded scratch v1.0.3 [INFO] [stderr] Downloaded crypto-bigint v0.4.9 [INFO] [stderr] Downloaded syn v1.0.108 [INFO] [stderr] Downloaded ff v0.12.1 [INFO] [stderr] Downloaded const-oid v0.9.1 [INFO] [stderr] Downloaded pem-rfc7468 v0.6.0 [INFO] [stderr] Downloaded der v0.6.1 [INFO] [stderr] Downloaded pkcs8 v0.9.0 [INFO] [stderr] Downloaded elliptic-curve v0.12.3 [INFO] [stderr] Downloaded serde v1.0.154 [INFO] [stderr] Downloaded ecdsa v0.15.1 [INFO] [stderr] Downloaded group v0.12.1 [INFO] [stderr] Downloaded base64ct v1.5.3 [INFO] [stderr] Downloaded spki v0.6.0 [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:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+1.79.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f5667501af4f6cebf872efa7df6ee8c8eb8b203521977fee7e7c85bab43677a7 [INFO] running `Command { std: "docker" "start" "-a" "f5667501af4f6cebf872efa7df6ee8c8eb8b203521977fee7e7c85bab43677a7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f5667501af4f6cebf872efa7df6ee8c8eb8b203521977fee7e7c85bab43677a7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f5667501af4f6cebf872efa7df6ee8c8eb8b203521977fee7e7c85bab43677a7", kill_on_drop: false }` [INFO] [stdout] f5667501af4f6cebf872efa7df6ee8c8eb8b203521977fee7e7c85bab43677a7 [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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+1.79.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8f9afdb4f3dc398ed16ebcbbfd00c47c6a5a6b49a8addb9e257f13d36a4569d3 [INFO] running `Command { std: "docker" "start" "-a" "8f9afdb4f3dc398ed16ebcbbfd00c47c6a5a6b49a8addb9e257f13d36a4569d3", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.139 [INFO] [stderr] Compiling unicode-ident v1.0.6 [INFO] [stderr] Compiling subtle v2.4.1 [INFO] [stderr] Compiling syn v1.0.108 [INFO] [stderr] Compiling zeroize v1.5.7 [INFO] [stderr] Compiling serde_derive v1.0.154 [INFO] [stderr] Compiling serde v1.0.154 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling proc-macro2 v1.0.51 [INFO] [stderr] Compiling base64ct v1.5.3 [INFO] [stderr] Compiling digest v0.10.6 [INFO] [stderr] Compiling const-oid v0.9.1 [INFO] [stderr] Compiling base16ct v0.1.1 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling pem-rfc7468 v0.6.0 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling quote v1.0.23 [INFO] [stderr] Compiling der v0.6.1 [INFO] [stderr] Compiling getrandom v0.2.8 [INFO] [stderr] Compiling time-macros v0.2.8 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling ff v0.12.1 [INFO] [stderr] Compiling crypto-bigint v0.4.9 [INFO] [stderr] Compiling group v0.12.1 [INFO] [stderr] Compiling signature v2.0.0 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling half v1.8.2 [INFO] [stderr] Compiling ciborium-io v0.2.0 [INFO] [stderr] Compiling sha2 v0.10.6 [INFO] [stderr] Compiling ciborium-ll v0.2.0 [INFO] [stderr] Compiling spki v0.6.0 [INFO] [stderr] Compiling pkcs8 v0.9.0 [INFO] [stderr] Compiling rfc6979 v0.3.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling colored v2.0.0 [INFO] [stderr] Compiling time v0.1.45 [INFO] [stderr] Compiling iana-time-zone v0.1.53 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling chrono v0.4.23 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling time v0.3.20 [INFO] [stderr] Compiling simple_logger v4.0.0 [INFO] [stderr] Compiling serdect v0.1.0 [INFO] [stderr] Compiling ciborium v0.2.0 [INFO] [stderr] Compiling sec1 v0.3.0 [INFO] [stderr] Compiling elliptic-curve v0.12.3 [INFO] [stderr] Compiling ecdsa v0.15.1 [INFO] [stderr] Compiling primeorder v0.12.1 [INFO] [stderr] Compiling p256 v0.12.0 [INFO] [stderr] Compiling blockchain v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Receiver`, `SyncSender` [INFO] [stdout] --> src/network/server.rs:2:23 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::mpsc::{Receiver, SyncSender}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Arc` [INFO] [stdout] --> src/network/server.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use std::sync::{mpsc, Arc}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `any::Any` [INFO] [stdout] --> src/network/transport.rs:1:47 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{sync::{mpsc::Receiver, Mutex, Arc}, any::Any}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/network/txpool.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `Write`, `self` [INFO] [stdout] --> src/core/block.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{io::{self, Write, Read, Cursor}}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha256` [INFO] [stdout] --> src/core/block.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | use sha2::{Sha256, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Decode`, `Decoder` [INFO] [stdout] --> src/core/transaction.rs:3:57 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{types::hash::Hash, core::encoding::{Encode, Decode, Encoder, Decoder}, crypto::keypair::{PublicKey, PrivateKey}}; [INFO] [stdout] | ^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Digest` [INFO] [stdout] --> src/core/block.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use sha2::{Sha256, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/transaction.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | let mut tx = Transaction { [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bc` [INFO] [stdout] --> src/core/blockchain.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | let bc = self.data.read().unwrap(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_bc` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `has_peer` is never used [INFO] [stdout] --> src/network/local_transport.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl LocalTransport { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn has_peer(&self, addr: &NetAddr) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rpc_decode_func` is never read [INFO] [stdout] --> src/network/server.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct ServerOpts { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | pub rpc_decode_func: RPCDecodeFunc, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pool`, `validator`, `quit_ch`, and `hasher` are never read [INFO] [stdout] --> src/network/server.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Server { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 29 | pool: TxPool, [INFO] [stdout] | ^^^^ [INFO] [stdout] 30 | validator: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 31 | rpc_ch: Channel, [INFO] [stdout] 32 | quit_ch: Channel<()>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 33 | hasher: Hasher, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `handle_transaction` and `create_new_block` are never used [INFO] [stdout] --> src/network/server.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 36 | impl Server { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 85 | fn handle_transaction(&mut self, tx: &Transaction) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | fn create_new_block(&self) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `from` and `payload` are never read [INFO] [stdout] --> src/network/transport.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct RPC { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 9 | pub from: NetAddr, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | pub payload: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RPC` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `broadcast` is never used [INFO] [stdout] --> src/network/transport.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait Transport: Send + Sync { [INFO] [stdout] | --------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 17 | fn broadcast(&self, payload: Vec) -> Result<(), String>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TxMapSorter` is never constructed [INFO] [stdout] --> src/network/txpool.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct TxMapSorter { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/network/txpool.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 13 | impl TxMapSorter { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 14 | fn new(map: &TxMap) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `transactions` is never read [INFO] [stdout] --> src/network/txpool.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct TxPool { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 25 | transactions: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `add`, `has`, `len`, `flush`, and `get_transactions` are never used [INFO] [stdout] --> src/network/txpool.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl TxPool { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn add(&mut self, mut tx: Transaction) -> Result<(), ()> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn has(&self, hash: &Hash) -> bool { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn flush(&mut self) -> Result<(), ()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | fn get_transactions(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/network/rpc.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl Message { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 42 | pub fn new(t: MessageType, data: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/network/rpc.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | Tx(Transaction), [INFO] [stdout] | -- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 52 | Tx(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `from` and `data` are never read [INFO] [stdout] --> src/network/rpc.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct DecodedMessage { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 57 | pub from: NetAddr, [INFO] [stdout] | ^^^^ [INFO] [stdout] 58 | pub data: Decoded, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DecodedMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `RPCProcessor` is never used [INFO] [stdout] --> src/network/rpc.rs:109:11 [INFO] [stdout] | [INFO] [stdout] 109 | pub trait RPCProcessor { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_transaction`, `random_block`, `random_block_with_signature`, `hash`, and `sign` are never used [INFO] [stdout] --> src/core/block.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl Block { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 54 | pub fn new(header: Header, transactions: Vec) -> Block { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn add_transaction(&mut self, t: &Transaction) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn random_block(h: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn random_block_with_signature(h: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn hash(&mut self, hasher: Hasher) -> Hash { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn sign(&mut self, key: PrivateKey) -> Result<(), String> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `sign`, `hash`, `set_seen`, and `seen` are never used [INFO] [stdout] --> src/core/transaction.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Transaction { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 27 | pub fn new(data: Vec) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn sign(&mut self, private_key: &PrivateKey) -> Result<(), String> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn hash(&mut self, hasher: Hasher) -> Hash [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn set_seen(&mut self, seen: i64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn seen(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `hash` is never used [INFO] [stdout] --> src/core/hasher.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Hasher { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn hash(&self, obj: &B) -> Result [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `put` is never used [INFO] [stdout] --> src/core/storage.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub trait Storage { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] 4 | fn put(&mut self, b: &Block) -> Result<(), ()>; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/core/storage.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl MemoryStore { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 10 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `validate_block` is never used [INFO] [stdout] --> src/core/validator.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub trait Validator { [INFO] [stdout] | --------- method in this trait [INFO] [stdout] 6 | fn validate_block(&self, bc: &Blockchain, b: &Block) -> Result<(), ()>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_validator` is never used [INFO] [stdout] --> src/core/validator.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl BlockValidator { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 12 | pub fn new_validator() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `store` and `validator` are never read [INFO] [stdout] --> src/core/blockchain.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct BlockchainData { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 14 | store: Box, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 15 | headers: Vec
, [INFO] [stdout] 16 | validator:Box, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set_validator`, `add_block`, `get_header`, and `add_block_without_validation` are never used [INFO] [stdout] --> src/core/blockchain.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl Blockchain { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 20 | pub fn new(genesis: &mut Block) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn set_validator(&mut self, v: Box) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn add_block(&mut self, b: &mut Block) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn get_header(&self, h: u32) -> Header { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn add_block_without_validation(&mut self, b: &mut Block) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/types/hash.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Hash { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 12 | pub fn default() -> Hash { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn encode_binary(&self, writer: &mut W) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn decode_binary(reader: &mut R) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn is_zero(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn to_vec(&self) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn from_bytes(b: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn random() -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `to_string` and `from_bytes` are never used [INFO] [stdout] --> src/types/address.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl Address { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 7 | pub fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn from_bytes(b: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `sign` and `generate_public` are never used [INFO] [stdout] --> src/crypto/keypair.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl PrivateKey { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 21 | pub fn sign(&self, message: &[u8]) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn generate_public(&self) -> PublicKey { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `to_slice` and `address` are never used [INFO] [stdout] --> src/crypto/keypair.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl PublicKey { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 47 | pub fn to_slice(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn address(&self) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | tr_local.connect(TransportWrapper::Local(&tr_remote)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 17 | let _ = tr_local.connect(TransportWrapper::Local(&tr_remote)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | tr_remote.connect(TransportWrapper::Local(&tr_local)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 19 | let _ = tr_remote.connect(TransportWrapper::Local(&tr_local)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | tr_remote.send_message(local_addr.clone() ,"Hello World".as_bytes().to_vec()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 29 | let _ = tr_remote.send_message(local_addr.clone() ,"Hello World".as_bytes().to_vec()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/network/local_transport.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | self.send(transport, payload.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 75 | let _ = self.send(transport, payload.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `default_time` should have an upper case name [INFO] [stdout] --> src/network/server.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const default_time: std::time::Duration = Duration::new(5, 0); [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper case: `DEFAULT_TIME` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/network/server.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | self.pool.add(tx.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 99 | let _ = self.pool.add(tx.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/encoding.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 26 | let _ = ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/encoding.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 32 | let _ = ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/encoding.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 38 | let _ = ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/encoding.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 44 | let _ = ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 47 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.61s [INFO] running `Command { std: "docker" "inspect" "8f9afdb4f3dc398ed16ebcbbfd00c47c6a5a6b49a8addb9e257f13d36a4569d3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8f9afdb4f3dc398ed16ebcbbfd00c47c6a5a6b49a8addb9e257f13d36a4569d3", kill_on_drop: false }` [INFO] [stdout] 8f9afdb4f3dc398ed16ebcbbfd00c47c6a5a6b49a8addb9e257f13d36a4569d3 [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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+1.79.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 28d2dcb22ffe21c02caa9f2c4e9920fccbda696064403e2fac29b932f66d76d9 [INFO] running `Command { std: "docker" "start" "-a" "28d2dcb22ffe21c02caa9f2c4e9920fccbda696064403e2fac29b932f66d76d9", kill_on_drop: false }` [INFO] [stderr] Compiling blockchain v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Receiver`, `SyncSender` [INFO] [stdout] --> src/network/server.rs:2:23 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::mpsc::{Receiver, SyncSender}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Arc` [INFO] [stdout] --> src/network/server.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use std::sync::{mpsc, Arc}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `any::Any` [INFO] [stdout] --> src/network/transport.rs:1:47 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{sync::{mpsc::Receiver, Mutex, Arc}, any::Any}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `Write`, `self` [INFO] [stdout] --> src/core/block.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{io::{self, Write, Read, Cursor}}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha256` [INFO] [stdout] --> src/core/block.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | use sha2::{Sha256, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Decode`, `Decoder` [INFO] [stdout] --> src/core/transaction.rs:3:57 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{types::hash::Hash, core::encoding::{Encode, Decode, Encoder, Decoder}, crypto::keypair::{PublicKey, PrivateKey}}; [INFO] [stdout] | ^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Digest` [INFO] [stdout] --> src/core/block.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use sha2::{Sha256, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/network/local_transport.rs:91:13 [INFO] [stdout] | [INFO] [stdout] 91 | let mut trc = LocalTransport::new("C".to_string()); [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/local_transport.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | let mut trb = LocalTransport::new("B".to_string()); [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/local_transport.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | let mut trc = LocalTransport::new("C".to_string()); [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/txpool.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | let mut tx = Transaction::new(i.to_string().as_bytes().to_vec()); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/transaction.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | let mut tx = Transaction { [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bc` [INFO] [stdout] --> src/core/blockchain.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | let bc = self.data.read().unwrap(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_bc` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rpc_decode_func` is never read [INFO] [stdout] --> src/network/server.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct ServerOpts { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | pub rpc_decode_func: RPCDecodeFunc, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pool`, `validator`, `quit_ch`, and `hasher` are never read [INFO] [stdout] --> src/network/server.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Server { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 29 | pool: TxPool, [INFO] [stdout] | ^^^^ [INFO] [stdout] 30 | validator: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 31 | rpc_ch: Channel, [INFO] [stdout] 32 | quit_ch: Channel<()>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 33 | hasher: Hasher, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `handle_transaction` and `create_new_block` are never used [INFO] [stdout] --> src/network/server.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 36 | impl Server { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 85 | fn handle_transaction(&mut self, tx: &Transaction) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | fn create_new_block(&self) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `from` is never read [INFO] [stdout] --> src/network/transport.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct RPC { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 9 | pub from: NetAddr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RPC` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `has` is never used [INFO] [stdout] --> src/network/txpool.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl TxPool { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn has(&self, hash: &Hash) -> bool { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/network/rpc.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl Message { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 42 | pub fn new(t: MessageType, data: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/network/rpc.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | Tx(Transaction), [INFO] [stdout] | -- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 52 | Tx(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `from` and `data` are never read [INFO] [stdout] --> src/network/rpc.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct DecodedMessage { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 57 | pub from: NetAddr, [INFO] [stdout] | ^^^^ [INFO] [stdout] 58 | pub data: Decoded, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DecodedMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `RPCProcessor` is never used [INFO] [stdout] --> src/network/rpc.rs:109:11 [INFO] [stdout] | [INFO] [stdout] 109 | pub trait RPCProcessor { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add_transaction` is never used [INFO] [stdout] --> src/core/block.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl Block { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn add_transaction(&mut self, t: &Transaction) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_validator` and `get_header` are never used [INFO] [stdout] --> src/core/blockchain.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl Blockchain { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn set_validator(&mut self, v: Box) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn get_header(&self, h: u32) -> Header { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `default`, `encode_binary`, `decode_binary`, `is_zero`, and `to_vec` are never used [INFO] [stdout] --> src/types/hash.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Hash { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 12 | pub fn default() -> Hash { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn encode_binary(&self, writer: &mut W) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn decode_binary(reader: &mut R) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn is_zero(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn to_vec(&self) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `to_string` and `from_bytes` are never used [INFO] [stdout] --> src/types/address.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl Address { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 7 | pub fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn from_bytes(b: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `to_slice` and `address` are never used [INFO] [stdout] --> src/crypto/keypair.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl PublicKey { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 47 | pub fn to_slice(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn address(&self) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | tr_local.connect(TransportWrapper::Local(&tr_remote)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 17 | let _ = tr_local.connect(TransportWrapper::Local(&tr_remote)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | tr_remote.connect(TransportWrapper::Local(&tr_local)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 19 | let _ = tr_remote.connect(TransportWrapper::Local(&tr_local)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | tr_remote.send_message(local_addr.clone() ,"Hello World".as_bytes().to_vec()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 29 | let _ = tr_remote.send_message(local_addr.clone() ,"Hello World".as_bytes().to_vec()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/network/local_transport.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | self.send(transport, payload.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 75 | let _ = self.send(transport, payload.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `default_time` should have an upper case name [INFO] [stdout] --> src/network/server.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const default_time: std::time::Duration = Duration::new(5, 0); [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper case: `DEFAULT_TIME` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/network/server.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | self.pool.add(tx.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 99 | let _ = self.pool.add(tx.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/network/txpool.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | p.flush(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 90 | let _ = p.flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/encoding.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 26 | let _ = ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/encoding.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 32 | let _ = ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/encoding.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 38 | let _ = ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/encoding.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 44 | let _ = ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 38 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.17s [INFO] running `Command { std: "docker" "inspect" "28d2dcb22ffe21c02caa9f2c4e9920fccbda696064403e2fac29b932f66d76d9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "28d2dcb22ffe21c02caa9f2c4e9920fccbda696064403e2fac29b932f66d76d9", kill_on_drop: false }` [INFO] [stdout] 28d2dcb22ffe21c02caa9f2c4e9920fccbda696064403e2fac29b932f66d76d9 [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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+1.79.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5043cba9198aa62d84c3bcf5389b9368144e11b2b5504a2a8e79e9fed7be7828 [INFO] running `Command { std: "docker" "start" "-a" "5043cba9198aa62d84c3bcf5389b9368144e11b2b5504a2a8e79e9fed7be7828", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `Receiver`, `SyncSender` [INFO] [stderr] --> src/network/server.rs:2:23 [INFO] [stderr] | [INFO] [stderr] 2 | use std::sync::mpsc::{Receiver, SyncSender}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Arc` [INFO] [stderr] --> src/network/server.rs:3:23 [INFO] [stderr] | [INFO] [stderr] 3 | use std::sync::{mpsc, Arc}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `any::Any` [INFO] [stderr] --> src/network/transport.rs:1:47 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{sync::{mpsc::Receiver, Mutex, Arc}, any::Any}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Read`, `Write`, `self` [INFO] [stderr] --> src/core/block.rs:1:16 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{io::{self, Write, Read, Cursor}}; [INFO] [stderr] | ^^^^ ^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Sha256` [INFO] [stderr] --> src/core/block.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | use sha2::{Sha256, Digest}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Decode`, `Decoder` [INFO] [stderr] --> src/core/transaction.rs:3:57 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::{types::hash::Hash, core::encoding::{Encode, Decode, Encoder, Decoder}, crypto::keypair::{PublicKey, PrivateKey}}; [INFO] [stderr] | ^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Digest` [INFO] [stderr] --> src/core/block.rs:6:20 [INFO] [stderr] | [INFO] [stderr] 6 | use sha2::{Sha256, Digest}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/network/local_transport.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | let mut trc = LocalTransport::new("C".to_string()); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/network/local_transport.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | let mut trb = LocalTransport::new("B".to_string()); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/network/local_transport.rs:134:13 [INFO] [stderr] | [INFO] [stderr] 134 | let mut trc = LocalTransport::new("C".to_string()); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/network/txpool.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | let mut tx = Transaction::new(i.to_string().as_bytes().to_vec()); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/core/transaction.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | let mut tx = Transaction { [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bc` [INFO] [stderr] --> src/core/blockchain.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | let bc = self.data.read().unwrap(); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_bc` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field `rpc_decode_func` is never read [INFO] [stderr] --> src/network/server.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct ServerOpts { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 23 | pub rpc_decode_func: RPCDecodeFunc, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: fields `pool`, `validator`, `quit_ch`, and `hasher` are never read [INFO] [stderr] --> src/network/server.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 26 | pub struct Server { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] ... [INFO] [stderr] 29 | pool: TxPool, [INFO] [stderr] | ^^^^ [INFO] [stderr] 30 | validator: bool, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 31 | rpc_ch: Channel, [INFO] [stderr] 32 | quit_ch: Channel<()>, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 33 | hasher: Hasher, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `handle_transaction` and `create_new_block` are never used [INFO] [stderr] --> src/network/server.rs:85:8 [INFO] [stderr] | [INFO] [stderr] 36 | impl Server { [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 85 | fn handle_transaction(&mut self, tx: &Transaction) -> Result<(), Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 104 | fn create_new_block(&self) -> Result<(), Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `from` is never read [INFO] [stderr] --> src/network/transport.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 8 | pub struct RPC { [INFO] [stderr] | --- field in this struct [INFO] [stderr] 9 | pub from: NetAddr, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RPC` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `has` is never used [INFO] [stderr] --> src/network/txpool.rs:42:12 [INFO] [stderr] | [INFO] [stderr] 28 | impl TxPool { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 42 | pub fn has(&self, hash: &Hash) -> bool { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/network/rpc.rs:42:12 [INFO] [stderr] | [INFO] [stderr] 41 | impl Message { [INFO] [stderr] | ------------ associated function in this implementation [INFO] [stderr] 42 | pub fn new(t: MessageType, data: Vec) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/network/rpc.rs:52:8 [INFO] [stderr] | [INFO] [stderr] 52 | Tx(Transaction), [INFO] [stderr] | -- ^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 52 | Tx(()), [INFO] [stderr] | ~~ [INFO] [stderr] [INFO] [stderr] warning: fields `from` and `data` are never read [INFO] [stderr] --> src/network/rpc.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 56 | pub struct DecodedMessage { [INFO] [stderr] | -------------- fields in this struct [INFO] [stderr] 57 | pub from: NetAddr, [INFO] [stderr] | ^^^^ [INFO] [stderr] 58 | pub data: Decoded, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DecodedMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: trait `RPCProcessor` is never used [INFO] [stderr] --> src/network/rpc.rs:109:11 [INFO] [stderr] | [INFO] [stderr] 109 | pub trait RPCProcessor { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `add_transaction` is never used [INFO] [stderr] --> src/core/block.rs:65:12 [INFO] [stderr] | [INFO] [stderr] 53 | impl Block { [INFO] [stderr] | ---------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 65 | pub fn add_transaction(&mut self, t: &Transaction) -> Result<(), ()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `set_validator` and `get_header` are never used [INFO] [stderr] --> src/core/blockchain.rs:34:12 [INFO] [stderr] | [INFO] [stderr] 19 | impl Blockchain { [INFO] [stderr] | --------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 34 | pub fn set_validator(&mut self, v: Box) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 46 | pub fn get_header(&self, h: u32) -> Header { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `default`, `encode_binary`, `decode_binary`, `is_zero`, and `to_vec` are never used [INFO] [stderr] --> src/types/hash.rs:12:12 [INFO] [stderr] | [INFO] [stderr] 11 | impl Hash { [INFO] [stderr] | --------- associated items in this implementation [INFO] [stderr] 12 | pub fn default() -> Hash { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 20 | pub fn encode_binary(&self, writer: &mut W) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 27 | pub fn decode_binary(reader: &mut R) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 35 | pub fn is_zero(&self) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 39 | pub fn to_vec(&self) -> Vec { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `to_string` and `from_bytes` are never used [INFO] [stderr] --> src/types/address.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 6 | impl Address { [INFO] [stderr] | ------------ associated items in this implementation [INFO] [stderr] 7 | pub fn to_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 11 | pub fn from_bytes(b: &[u8]) -> Result { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `to_slice` and `address` are never used [INFO] [stderr] --> src/crypto/keypair.rs:47:12 [INFO] [stderr] | [INFO] [stderr] 46 | impl PublicKey { [INFO] [stderr] | -------------- methods in this implementation [INFO] [stderr] 47 | pub fn to_slice(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 51 | pub fn address(&self) -> Result { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/main.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | tr_local.connect(TransportWrapper::Local(&tr_remote)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 17 | let _ = tr_local.connect(TransportWrapper::Local(&tr_remote)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/main.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | tr_remote.connect(TransportWrapper::Local(&tr_local)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 19 | let _ = tr_remote.connect(TransportWrapper::Local(&tr_local)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/main.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | tr_remote.send_message(local_addr.clone() ,"Hello World".as_bytes().to_vec()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 29 | let _ = tr_remote.send_message(local_addr.clone() ,"Hello World".as_bytes().to_vec()); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/network/local_transport.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | self.send(transport, payload.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 75 | let _ = self.send(transport, payload.clone()); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: constant `default_time` should have an upper case name [INFO] [stderr] --> src/network/server.rs:17:7 [INFO] [stderr] | [INFO] [stderr] 17 | const default_time: std::time::Duration = Duration::new(5, 0); [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to upper case: `DEFAULT_TIME` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/network/server.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | self.pool.add(tx.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 99 | let _ = self.pool.add(tx.clone()); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/network/txpool.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | p.flush(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 90 | let _ = p.flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/core/encoding.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 26 | let _ = ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/core/encoding.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 32 | let _ = ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/core/encoding.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 38 | let _ = ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/core/encoding.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 44 | let _ = ciborium::ser::into_writer( obj, &mut self.writer); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `blockchain` (bin "blockchain" test) generated 38 warnings (run `cargo fix --bin "blockchain" --tests` to apply 11 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/blockchain-de552058643ed606) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test network::local_transport::tests::test_broadcast ... ok [INFO] [stdout] test network::local_transport::tests::test_connect ... ok [INFO] [stdout] test network::local_transport::tests::test_send_message ... ok [INFO] [stdout] test core::transaction::test::test_sign_transaction ... ok [INFO] [stdout] test network::txpool::tests::test_tx_pool ... ok [INFO] [stdout] test core::block::test::test_sign_block ... ok [INFO] [stdout] test crypto::keypair::test::test_keypair_sign_verify_failure ... ok [INFO] [stdout] test core::block::test::test_verify_block ... ok [INFO] [stdout] test network::txpool::tests::test_tx_pool_add_tx ... ok [INFO] [stdout] test crypto::keypair::test::test_keypair_sign_verify_success ... ok [INFO] [stdout] test network::txpool::tests::test_sort_transactions ... ok [INFO] [stdout] test core::transaction::test::test_verify_transaction ... ok [INFO] [stdout] test core::blockchain::test::test_add_block ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 29.25s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5043cba9198aa62d84c3bcf5389b9368144e11b2b5504a2a8e79e9fed7be7828", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5043cba9198aa62d84c3bcf5389b9368144e11b2b5504a2a8e79e9fed7be7828", kill_on_drop: false }` [INFO] [stdout] 5043cba9198aa62d84c3bcf5389b9368144e11b2b5504a2a8e79e9fed7be7828