[INFO] cloning repository https://github.com/VClone-bot/Sedfik-V-Blockchain [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/VClone-bot/Sedfik-V-Blockchain" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVClone-bot%2FSedfik-V-Blockchain", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVClone-bot%2FSedfik-V-Blockchain'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1c4b02696131ccc0abd9c79737ccb8f621e56bc5 [INFO] testing VClone-bot/Sedfik-V-Blockchain against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVClone-bot%2FSedfik-V-Blockchain" "/workspace/builds/worker-38/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-38/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/VClone-bot/Sedfik-V-Blockchain on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/VClone-bot/Sedfik-V-Blockchain [INFO] finished tweaking git repo https://github.com/VClone-bot/Sedfik-V-Blockchain [INFO] tweaked toml for git repo https://github.com/VClone-bot/Sedfik-V-Blockchain written to /workspace/builds/worker-38/source/Cargo.toml [INFO] crate git repo https://github.com/VClone-bot/Sedfik-V-Blockchain already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bincode v1.3.2 [INFO] [stderr] Downloaded web-sys v0.3.49 [INFO] [stderr] Downloaded merkle v1.11.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-38/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-38/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] aa010c263c0c292b6dba5ee06642fc6ad9e5042819f44ed91833f2e649fcbc59 [INFO] running `Command { std: "docker" "start" "-a" "aa010c263c0c292b6dba5ee06642fc6ad9e5042819f44ed91833f2e649fcbc59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "aa010c263c0c292b6dba5ee06642fc6ad9e5042819f44ed91833f2e649fcbc59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aa010c263c0c292b6dba5ee06642fc6ad9e5042819f44ed91833f2e649fcbc59", kill_on_drop: false }` [INFO] [stdout] aa010c263c0c292b6dba5ee06642fc6ad9e5042819f44ed91833f2e649fcbc59 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-38/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-38/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" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 20617fabe4f1e14c83dec91d3ab56400e922cd6a68812a5f4d14b84a6389b442 [INFO] running `Command { std: "docker" "start" "-a" "20617fabe4f1e14c83dec91d3ab56400e922cd6a68812a5f4d14b84a6389b442", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.83 [INFO] [stderr] Compiling typenum v1.13.0 [INFO] [stderr] Compiling getrandom v0.2.2 [INFO] [stderr] Compiling cc v1.0.67 [INFO] [stderr] Compiling serde v1.0.125 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling unicode-width v0.1.8 [INFO] [stderr] Compiling once_cell v1.7.2 [INFO] [stderr] Compiling merkle v1.11.0 [INFO] [stderr] Compiling untrusted v0.7.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.10 [INFO] [stderr] Compiling spin v0.5.2 [INFO] [stderr] Compiling strsim v0.6.0 [INFO] [stderr] Compiling ansi_term v0.9.0 [INFO] [stderr] Compiling cpuid-bool v0.1.2 [INFO] [stderr] Compiling opaque-debug v0.3.0 [INFO] [stderr] Compiling bitflags v0.9.1 [INFO] [stderr] Compiling hex v0.4.2 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Compiling crossbeam-utils v0.8.1 [INFO] [stderr] Compiling textwrap v0.9.0 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling rand_core v0.6.1 [INFO] [stderr] Compiling bincode v1.3.2 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling block-buffer v0.9.0 [INFO] [stderr] Compiling clap v2.27.1 [INFO] [stderr] Compiling rand_chacha v0.3.0 [INFO] [stderr] Compiling sha2 v0.9.3 [INFO] [stderr] Compiling rand v0.8.3 [INFO] [stderr] Compiling blockchain v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::str::FromStr; [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/miner.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha512` [INFO] [stdout] --> src/miner.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use sha2::{Sha256, Sha512, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryFrom` [INFO] [stdout] --> src/miner.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::convert::TryFrom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex` [INFO] [stdout] --> src/miner.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | use std::sync::{Mutex, Arc}; [INFO] [stdout] | ^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::UpperHex` [INFO] [stdout] --> src/./block.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::UpperHex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bincode` [INFO] [stdout] --> src/./block.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use bincode; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/./block.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | /// Allows you to create a `Block` from a `String` [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 76 | / let block: HashMap = s.split(';') [INFO] [stdout] 77 | | .map(|kv| kv.split(':').collect::>()) [INFO] [stdout] 78 | | .map(|vec| { [INFO] [stdout] 79 | | (vec[0].to_string(), vec[1].to_string()) [INFO] [stdout] 80 | | }) [INFO] [stdout] 81 | | .collect(); [INFO] [stdout] | |___________________- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/./wallet.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Command` [INFO] [stdout] --> src/./wallet.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::process::Command; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::block::Block` [INFO] [stdout] --> src/./wallet.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::block::Block; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/./wallet.rs:370:23 [INFO] [stdout] | [INFO] [stdout] 370 | if(!not_empty) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 370 - if(!not_empty) { [INFO] [stdout] 370 + if !not_empty { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/./wallet.rs:375:23 [INFO] [stdout] | [INFO] [stdout] 375 | if(i == 5) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 375 - if(i == 5) { [INFO] [stdout] 375 + if i == 5 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/miner.rs:846:9 [INFO] [stdout] | [INFO] [stdout] 846 | /// Dead code, normaly upside code find hash before u64::max_value iteration. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 847 | / return block::Block{ [INFO] [stdout] 848 | | index: index_, [INFO] [stdout] 849 | | payload: payload_, [INFO] [stdout] 850 | | timestamp: timestamp_, [INFO] [stdout] ... | [INFO] [stdout] 853 | | hash: hash.as_bytes().to_vec() [INFO] [stdout] 854 | | }; [INFO] [stdout] | |_________- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/./wallet.rs:225:17 [INFO] [stdout] | [INFO] [stdout] 225 | _ => { () } [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/./wallet.rs:262:21 [INFO] [stdout] | [INFO] [stdout] 261 | True => resp = "Transaction is verified !".to_string(), [INFO] [stdout] | ---- matches any value [INFO] [stdout] 262 | False => resp = "Transaction is not correct !".to_string(), [INFO] [stdout] | ^^^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text` [INFO] [stdout] --> src/miner.rs:435:21 [INFO] [stdout] | [INFO] [stdout] 435 | let text = &message[1..]; // get the remainder of the message [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `listener` [INFO] [stdout] --> src/./wallet.rs:238:21 [INFO] [stdout] | [INFO] [stdout] 238 | let listener = TcpListener::bind(&self.socket).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_listener` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `True` [INFO] [stdout] --> src/./wallet.rs:261:21 [INFO] [stdout] | [INFO] [stdout] 261 | True => resp = "Transaction is verified !".to_string(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_True` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `False` [INFO] [stdout] --> src/./wallet.rs:262:21 [INFO] [stdout] | [INFO] [stdout] 262 | False => resp = "Transaction is not correct !".to_string(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_False` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `broadcast_threaded` [INFO] [stdout] --> src/miner.rs:375:12 [INFO] [stdout] | [INFO] [stdout] 375 | pub fn broadcast_threaded(&self, message: &String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ask_for_id` [INFO] [stdout] --> src/miner.rs:667:12 [INFO] [stdout] | [INFO] [stdout] 667 | pub fn ask_for_id(socket: &String, destination: &String) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `check_block` [INFO] [stdout] --> src/miner.rs:773:12 [INFO] [stdout] | [INFO] [stdout] 773 | pub fn check_block(&self, block: block::Block) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_id_response` [INFO] [stdout] --> src/./wallet.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn decode_id_response(message: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `handle_message` [INFO] [stdout] --> src/./wallet.rs:272:12 [INFO] [stdout] | [INFO] [stdout] 272 | pub fn handle_message(&self, mut stream: TcpStream) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `send_message` [INFO] [stdout] --> src/./wallet.rs:293:12 [INFO] [stdout] | [INFO] [stdout] 293 | pub fn send_message(&self, destination: &String, message: &String, flag: Flag) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/./block.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new (index: u32, payload: String, timestamp: u128, nonce: u64, prev_hash: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Ok` [INFO] [stdout] --> src/./wallet.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Ok, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Connect` [INFO] [stdout] --> src/./wallet.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Connect, // flag to signal that a Miner joined the newtwork [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Disconnect` [INFO] [stdout] --> src/./wallet.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | Disconnect, // flag to signal that a Miner disconnected from the network [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RequireID` [INFO] [stdout] --> src/./wallet.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | RequireID, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `GiveID` [INFO] [stdout] --> src/./wallet.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | GiveID, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `BroadcastConnect` [INFO] [stdout] --> src/./wallet.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | BroadcastConnect, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `BroadcastDisconnect` [INFO] [stdout] --> src/./wallet.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | BroadcastDisconnect, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Check` [INFO] [stdout] --> src/./wallet.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | Check, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Ack` [INFO] [stdout] --> src/./wallet.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Ack, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Block` [INFO] [stdout] --> src/./wallet.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | Block, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Transaction` [INFO] [stdout] --> src/./wallet.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | Transaction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `MineTransaction` [INFO] [stdout] --> src/./wallet.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | MineTransaction, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `OkMineTransaction` [INFO] [stdout] --> src/./wallet.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | OkMineTransaction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RequireWalletID` [INFO] [stdout] --> src/./wallet.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | RequireWalletID, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RequireBlockchain` [INFO] [stdout] --> src/./wallet.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | RequireBlockchain, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SendBlockchain` [INFO] [stdout] --> src/./wallet.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | SendBlockchain, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_u8` [INFO] [stdout] --> src/./wallet.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | fn from_u8(value: u8) -> Flag { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Send` [INFO] [stdout] --> src/./wallet.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | Send, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `UserCommand` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Check` [INFO] [stdout] --> src/./wallet.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | Check, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `UserCommand` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Verify` [INFO] [stdout] --> src/./wallet.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | Verify, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `UserCommand` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Exit` [INFO] [stdout] --> src/./wallet.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | Exit, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `UserCommand` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_string` [INFO] [stdout] --> src/./wallet.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | fn from_string(value: String) -> UserCommand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `concat_u8` [INFO] [stdout] --> src/./wallet.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn concat_u8(first: &[u8], second: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `encode_sockip` [INFO] [stdout] --> src/./wallet.rs:107:8 [INFO] [stdout] | [INFO] [stdout] 107 | pub fn encode_sockip(sockip: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_sockip` [INFO] [stdout] --> src/./wallet.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn decode_sockip(sockip: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `encode_id` [INFO] [stdout] --> src/./wallet.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn encode_id(id: String) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_id` [INFO] [stdout] --> src/./wallet.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn decode_id(message: String) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `encode_message` [INFO] [stdout] --> src/./wallet.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn encode_message(flag : Flag, sockip : String, id : String, msg : String) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_message` [INFO] [stdout] --> src/./wallet.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | pub fn decode_message(msg : &[u8]) -> (Flag, String, String, String){ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `create_wallet` [INFO] [stdout] --> src/./wallet.rs:172:8 [INFO] [stdout] | [INFO] [stdout] 172 | pub fn create_wallet(socket: String, miner: String) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/./wallet.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 189 | pub fn new(socket: String, miner: String, id: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `listen_for_user_input` [INFO] [stdout] --> src/./wallet.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 199 | pub fn listen_for_user_input(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `handle_user_input` [INFO] [stdout] --> src/./wallet.rs:234:12 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn handle_user_input(&self, command: UserCommand, target: String, message: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `decode_block` [INFO] [stdout] --> src/./wallet.rs:318:12 [INFO] [stdout] | [INFO] [stdout] 318 | pub fn decode_block(&self, encoded_block: String) -> block::Block { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `handle_blockchain` [INFO] [stdout] --> src/./wallet.rs:327:12 [INFO] [stdout] | [INFO] [stdout] 327 | pub fn handle_blockchain(&self, mut stream: TcpStream, blocks: &mut Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_blockchain_from_miner` [INFO] [stdout] --> src/./wallet.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 347 | pub fn get_blockchain_from_miner(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `verify_transaction` [INFO] [stdout] --> src/./wallet.rs:389:12 [INFO] [stdout] | [INFO] [stdout] 389 | pub fn verify_transaction(&self, transaction: Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `digest` [INFO] [stdout] --> src/./wallet.rs:397:9 [INFO] [stdout] | [INFO] [stdout] 397 | static digest: &'static Algorithm = &ring::digest::SHA256; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/miner.rs:380:13 [INFO] [stdout] | [INFO] [stdout] 380 | / thread::scope(|s| { [INFO] [stdout] 381 | | s.spawn(move |_| { [INFO] [stdout] 382 | | // Connect to neighbor [INFO] [stdout] 383 | | match self.send_message(&neighbor_address, &message, Flag::Ok) { [INFO] [stdout] ... | [INFO] [stdout] 387 | | }); [INFO] [stdout] 388 | | }); [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/miner.rs:492:25 [INFO] [stdout] | [INFO] [stdout] 492 | self.send_message(&sender_sockip, &String::from(""), Flag::Ack); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/miner.rs:518:29 [INFO] [stdout] | [INFO] [stdout] 518 | ... &self.broadcast_to_network(&transaction, Flag::Transaction, sender_sockip.to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 518 | let _ = &self.broadcast_to_network(&transaction, Flag::Transaction, sender_sockip.to_owned()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/miner.rs:532:33 [INFO] [stdout] | [INFO] [stdout] 532 | ... &self.blocks.push(block::Block::from_str(&mined_block.to_string()).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 532 | let _ = &self.blocks.push(block::Block::from_str(&mined_block.to_string()).unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/miner.rs:533:33 [INFO] [stdout] | [INFO] [stdout] 533 | ... &self.broadcast_to_network(&mined_block.to_string(), Flag::Block, sender_sockip.to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 533 | let _ = &self.broadcast_to_network(&mined_block.to_string(), Flag::Block, sender_sockip.to_owned()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/miner.rs:599:29 [INFO] [stdout] | [INFO] [stdout] 599 | ... self.send_message(&sender_sockip, &block.to_string(), Flag::SendBlockchain); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/miner.rs:644:21 [INFO] [stdout] | [INFO] [stdout] 644 | &self.handle_client(stream); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 644 | let _ = &self.handle_client(stream); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/miner.rs:655:17 [INFO] [stdout] | [INFO] [stdout] 655 | &self.refresh_nodes_status(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 655 | let _ = &self.refresh_nodes_status(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/miner.rs:745:17 [INFO] [stdout] | [INFO] [stdout] 745 | &self.health_check(&addr, &id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 745 | let _ = &self.health_check(&addr, &id); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/miner.rs:761:17 [INFO] [stdout] | [INFO] [stdout] 761 | &self.remove_from_network(*id, String::from(destination)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 761 | let _ = &self.remove_from_network(*id, String::from(destination)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/./wallet.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | stdin.read_line(&mut buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `True` should have a snake case name [INFO] [stdout] --> src/./wallet.rs:261:21 [INFO] [stdout] | [INFO] [stdout] 261 | True => resp = "Transaction is verified !".to_string(), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [INFO] [stdout] 261 | r#true => resp = "Transaction is verified !".to_string(), [INFO] [stdout] | ~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `False` should have a snake case name [INFO] [stdout] --> src/./wallet.rs:262:21 [INFO] [stdout] | [INFO] [stdout] 262 | False => resp = "Transaction is not correct !".to_string(), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [INFO] [stdout] 262 | r#false => resp = "Transaction is not correct !".to_string(), [INFO] [stdout] | ~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `digest` should have an upper case name [INFO] [stdout] --> src/./wallet.rs:397:16 [INFO] [stdout] | [INFO] [stdout] 397 | static digest: &'static Algorithm = &ring::digest::SHA256; [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper case: `DIGEST` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 79 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 5m 07s [INFO] running `Command { std: "docker" "inspect" "20617fabe4f1e14c83dec91d3ab56400e922cd6a68812a5f4d14b84a6389b442", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "20617fabe4f1e14c83dec91d3ab56400e922cd6a68812a5f4d14b84a6389b442", kill_on_drop: false }` [INFO] [stdout] 20617fabe4f1e14c83dec91d3ab56400e922cd6a68812a5f4d14b84a6389b442 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-38/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-38/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" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 567edcf5ff768ddf6ce2818c9fc389c8ffd259eaef91e5d9159a81025d44f84c [INFO] running `Command { std: "docker" "start" "-a" "567edcf5ff768ddf6ce2818c9fc389c8ffd259eaef91e5d9159a81025d44f84c", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling blockchain v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::str::FromStr; [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/miner.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha512` [INFO] [stdout] --> src/miner.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use sha2::{Sha256, Sha512, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryFrom` [INFO] [stdout] --> src/miner.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::convert::TryFrom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex` [INFO] [stdout] --> src/miner.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | use std::sync::{Mutex, Arc}; [INFO] [stdout] | ^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::UpperHex` [INFO] [stdout] --> src/./block.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt::UpperHex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bincode` [INFO] [stdout] --> src/./block.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use bincode; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/./block.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | /// Allows you to create a `Block` from a `String` [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 76 | / let block: HashMap = s.split(';') [INFO] [stdout] 77 | | .map(|kv| kv.split(':').collect::>()) [INFO] [stdout] 78 | | .map(|vec| { [INFO] [stdout] 79 | | (vec[0].to_string(), vec[1].to_string()) [INFO] [stdout] 80 | | }) [INFO] [stdout] 81 | | .collect(); [INFO] [stdout] | |___________________- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/./wallet.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Command` [INFO] [stdout] --> src/./wallet.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::process::Command; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::block::Block` [INFO] [stdout] --> src/./wallet.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::block::Block; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/./wallet.rs:370:23 [INFO] [stdout] | [INFO] [stdout] 370 | if(!not_empty) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 370 - if(!not_empty) { [INFO] [stdout] 370 + if !not_empty { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/./wallet.rs:375:23 [INFO] [stdout] | [INFO] [stdout] 375 | if(i == 5) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 375 - if(i == 5) { [INFO] [stdout] 375 + if i == 5 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/miner.rs:846:9 [INFO] [stdout] | [INFO] [stdout] 846 | /// Dead code, normaly upside code find hash before u64::max_value iteration. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 847 | / return block::Block{ [INFO] [stdout] 848 | | index: index_, [INFO] [stdout] 849 | | payload: payload_, [INFO] [stdout] 850 | | timestamp: timestamp_, [INFO] [stdout] ... | [INFO] [stdout] 853 | | hash: hash.as_bytes().to_vec() [INFO] [stdout] 854 | | }; [INFO] [stdout] | |_________- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/./wallet.rs:225:17 [INFO] [stdout] | [INFO] [stdout] 225 | _ => { () } [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/./wallet.rs:262:21 [INFO] [stdout] | [INFO] [stdout] 261 | True => resp = "Transaction is verified !".to_string(), [INFO] [stdout] | ---- matches any value [INFO] [stdout] 262 | False => resp = "Transaction is not correct !".to_string(), [INFO] [stdout] | ^^^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text` [INFO] [stdout] --> src/miner.rs:435:21 [INFO] [stdout] | [INFO] [stdout] 435 | let text = &message[1..]; // get the remainder of the message [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `listener` [INFO] [stdout] --> src/./wallet.rs:238:21 [INFO] [stdout] | [INFO] [stdout] 238 | let listener = TcpListener::bind(&self.socket).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_listener` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `True` [INFO] [stdout] --> src/./wallet.rs:261:21 [INFO] [stdout] | [INFO] [stdout] 261 | True => resp = "Transaction is verified !".to_string(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_True` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `False` [INFO] [stdout] --> src/./wallet.rs:262:21 [INFO] [stdout] | [INFO] [stdout] 262 | False => resp = "Transaction is not correct !".to_string(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_False` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `broadcast_threaded` [INFO] [stdout] --> src/miner.rs:375:12 [INFO] [stdout] | [INFO] [stdout] 375 | pub fn broadcast_threaded(&self, message: &String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ask_for_id` [INFO] [stdout] --> src/miner.rs:667:12 [INFO] [stdout] | [INFO] [stdout] 667 | pub fn ask_for_id(socket: &String, destination: &String) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `check_block` [INFO] [stdout] --> src/miner.rs:773:12 [INFO] [stdout] | [INFO] [stdout] 773 | pub fn check_block(&self, block: block::Block) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_id_response` [INFO] [stdout] --> src/./wallet.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn decode_id_response(message: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `handle_message` [INFO] [stdout] --> src/./wallet.rs:272:12 [INFO] [stdout] | [INFO] [stdout] 272 | pub fn handle_message(&self, mut stream: TcpStream) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `send_message` [INFO] [stdout] --> src/./wallet.rs:293:12 [INFO] [stdout] | [INFO] [stdout] 293 | pub fn send_message(&self, destination: &String, message: &String, flag: Flag) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/./block.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new (index: u32, payload: String, timestamp: u128, nonce: u64, prev_hash: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Ok` [INFO] [stdout] --> src/./wallet.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Ok, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Connect` [INFO] [stdout] --> src/./wallet.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Connect, // flag to signal that a Miner joined the newtwork [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Disconnect` [INFO] [stdout] --> src/./wallet.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | Disconnect, // flag to signal that a Miner disconnected from the network [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RequireID` [INFO] [stdout] --> src/./wallet.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | RequireID, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `GiveID` [INFO] [stdout] --> src/./wallet.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | GiveID, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `BroadcastConnect` [INFO] [stdout] --> src/./wallet.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | BroadcastConnect, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `BroadcastDisconnect` [INFO] [stdout] --> src/./wallet.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | BroadcastDisconnect, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Check` [INFO] [stdout] --> src/./wallet.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | Check, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Ack` [INFO] [stdout] --> src/./wallet.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Ack, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Block` [INFO] [stdout] --> src/./wallet.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | Block, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Transaction` [INFO] [stdout] --> src/./wallet.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | Transaction, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `MineTransaction` [INFO] [stdout] --> src/./wallet.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | MineTransaction, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `OkMineTransaction` [INFO] [stdout] --> src/./wallet.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | OkMineTransaction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RequireWalletID` [INFO] [stdout] --> src/./wallet.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | RequireWalletID, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RequireBlockchain` [INFO] [stdout] --> src/./wallet.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | RequireBlockchain, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SendBlockchain` [INFO] [stdout] --> src/./wallet.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | SendBlockchain, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_u8` [INFO] [stdout] --> src/./wallet.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | fn from_u8(value: u8) -> Flag { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Send` [INFO] [stdout] --> src/./wallet.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | Send, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `UserCommand` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Check` [INFO] [stdout] --> src/./wallet.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | Check, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `UserCommand` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Verify` [INFO] [stdout] --> src/./wallet.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | Verify, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `UserCommand` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Exit` [INFO] [stdout] --> src/./wallet.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | Exit, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `UserCommand` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/./wallet.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_string` [INFO] [stdout] --> src/./wallet.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | fn from_string(value: String) -> UserCommand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `concat_u8` [INFO] [stdout] --> src/./wallet.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn concat_u8(first: &[u8], second: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `encode_sockip` [INFO] [stdout] --> src/./wallet.rs:107:8 [INFO] [stdout] | [INFO] [stdout] 107 | pub fn encode_sockip(sockip: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_sockip` [INFO] [stdout] --> src/./wallet.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn decode_sockip(sockip: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `encode_id` [INFO] [stdout] --> src/./wallet.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn encode_id(id: String) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_id` [INFO] [stdout] --> src/./wallet.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn decode_id(message: String) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `encode_message` [INFO] [stdout] --> src/./wallet.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn encode_message(flag : Flag, sockip : String, id : String, msg : String) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_message` [INFO] [stdout] --> src/./wallet.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | pub fn decode_message(msg : &[u8]) -> (Flag, String, String, String){ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `create_wallet` [INFO] [stdout] --> src/./wallet.rs:172:8 [INFO] [stdout] | [INFO] [stdout] 172 | pub fn create_wallet(socket: String, miner: String) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/./wallet.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 189 | pub fn new(socket: String, miner: String, id: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `listen_for_user_input` [INFO] [stdout] --> src/./wallet.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 199 | pub fn listen_for_user_input(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `handle_user_input` [INFO] [stdout] --> src/./wallet.rs:234:12 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn handle_user_input(&self, command: UserCommand, target: String, message: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `decode_block` [INFO] [stdout] --> src/./wallet.rs:318:12 [INFO] [stdout] | [INFO] [stdout] 318 | pub fn decode_block(&self, encoded_block: String) -> block::Block { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `handle_blockchain` [INFO] [stdout] --> src/./wallet.rs:327:12 [INFO] [stdout] | [INFO] [stdout] 327 | pub fn handle_blockchain(&self, mut stream: TcpStream, blocks: &mut Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_blockchain_from_miner` [INFO] [stdout] --> src/./wallet.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 347 | pub fn get_blockchain_from_miner(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `verify_transaction` [INFO] [stdout] --> src/./wallet.rs:389:12 [INFO] [stdout] | [INFO] [stdout] 389 | pub fn verify_transaction(&self, transaction: Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `digest` [INFO] [stdout] --> src/./wallet.rs:397:9 [INFO] [stdout] | [INFO] [stdout] 397 | static digest: &'static Algorithm = &ring::digest::SHA256; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/miner.rs:380:13 [INFO] [stdout] | [INFO] [stdout] 380 | / thread::scope(|s| { [INFO] [stdout] 381 | | s.spawn(move |_| { [INFO] [stdout] 382 | | // Connect to neighbor [INFO] [stdout] 383 | | match self.send_message(&neighbor_address, &message, Flag::Ok) { [INFO] [stdout] ... | [INFO] [stdout] 387 | | }); [INFO] [stdout] 388 | | }); [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/miner.rs:492:25 [INFO] [stdout] | [INFO] [stdout] 492 | self.send_message(&sender_sockip, &String::from(""), Flag::Ack); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/miner.rs:518:29 [INFO] [stdout] | [INFO] [stdout] 518 | ... &self.broadcast_to_network(&transaction, Flag::Transaction, sender_sockip.to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 518 | let _ = &self.broadcast_to_network(&transaction, Flag::Transaction, sender_sockip.to_owned()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/miner.rs:532:33 [INFO] [stdout] | [INFO] [stdout] 532 | ... &self.blocks.push(block::Block::from_str(&mined_block.to_string()).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 532 | let _ = &self.blocks.push(block::Block::from_str(&mined_block.to_string()).unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/miner.rs:533:33 [INFO] [stdout] | [INFO] [stdout] 533 | ... &self.broadcast_to_network(&mined_block.to_string(), Flag::Block, sender_sockip.to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 533 | let _ = &self.broadcast_to_network(&mined_block.to_string(), Flag::Block, sender_sockip.to_owned()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/miner.rs:599:29 [INFO] [stdout] | [INFO] [stdout] 599 | ... self.send_message(&sender_sockip, &block.to_string(), Flag::SendBlockchain); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/miner.rs:644:21 [INFO] [stdout] | [INFO] [stdout] 644 | &self.handle_client(stream); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 644 | let _ = &self.handle_client(stream); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/miner.rs:655:17 [INFO] [stdout] | [INFO] [stdout] 655 | &self.refresh_nodes_status(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 655 | let _ = &self.refresh_nodes_status(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/miner.rs:745:17 [INFO] [stdout] | [INFO] [stdout] 745 | &self.health_check(&addr, &id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 745 | let _ = &self.health_check(&addr, &id); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/miner.rs:761:17 [INFO] [stdout] | [INFO] [stdout] 761 | &self.remove_from_network(*id, String::from(destination)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 761 | let _ = &self.remove_from_network(*id, String::from(destination)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/./wallet.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | stdin.read_line(&mut buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `True` should have a snake case name [INFO] [stdout] --> src/./wallet.rs:261:21 [INFO] [stdout] | [INFO] [stdout] 261 | True => resp = "Transaction is verified !".to_string(), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [INFO] [stdout] 261 | r#true => resp = "Transaction is verified !".to_string(), [INFO] [stdout] | ~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `False` should have a snake case name [INFO] [stdout] --> src/./wallet.rs:262:21 [INFO] [stdout] | [INFO] [stdout] 262 | False => resp = "Transaction is not correct !".to_string(), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [INFO] [stdout] 262 | r#false => resp = "Transaction is not correct !".to_string(), [INFO] [stdout] | ~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `digest` should have an upper case name [INFO] [stdout] --> src/./wallet.rs:397:16 [INFO] [stdout] | [INFO] [stdout] 397 | static digest: &'static Algorithm = &ring::digest::SHA256; [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper case: `DIGEST` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.15s [INFO] [stdout] warning: 79 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "567edcf5ff768ddf6ce2818c9fc389c8ffd259eaef91e5d9159a81025d44f84c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "567edcf5ff768ddf6ce2818c9fc389c8ffd259eaef91e5d9159a81025d44f84c", kill_on_drop: false }` [INFO] [stdout] 567edcf5ff768ddf6ce2818c9fc389c8ffd259eaef91e5d9159a81025d44f84c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-38/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-38/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" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 1bfa0a220de36e078c1861ac37867744c05fdd0e11975148a240f4699b79990d [INFO] running `Command { std: "docker" "start" "-a" "1bfa0a220de36e078c1861ac37867744c05fdd0e11975148a240f4699b79990d", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/main.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Duration` [INFO] [stderr] --> src/miner.rs:7:17 [INFO] [stderr] | [INFO] [stderr] 7 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Sha512` [INFO] [stderr] --> src/miner.rs:9:20 [INFO] [stderr] | [INFO] [stderr] 9 | use sha2::{Sha256, Sha512, Digest}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::convert::TryFrom` [INFO] [stderr] --> src/miner.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::convert::TryFrom; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc`, `Mutex` [INFO] [stderr] --> src/miner.rs:12:17 [INFO] [stderr] | [INFO] [stderr] 12 | use std::sync::{Mutex, Arc}; [INFO] [stderr] | ^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::UpperHex` [INFO] [stderr] --> src/./block.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::fmt::UpperHex; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `bincode` [INFO] [stderr] --> src/./block.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use bincode; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/./block.rs:75:9 [INFO] [stderr] | [INFO] [stderr] 75 | /// Allows you to create a `Block` from a `String` [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 76 | / let block: HashMap = s.split(';') [INFO] [stderr] 77 | | .map(|kv| kv.split(':').collect::>()) [INFO] [stderr] 78 | | .map(|vec| { [INFO] [stderr] 79 | | (vec[0].to_string(), vec[1].to_string()) [INFO] [stderr] 80 | | }) [INFO] [stderr] 81 | | .collect(); [INFO] [stderr] | |___________________- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] = help: use `//` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/./wallet.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::process::Command` [INFO] [stderr] --> src/./wallet.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::process::Command; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::block::Block` [INFO] [stderr] --> src/./wallet.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::block::Block; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/./wallet.rs:370:23 [INFO] [stderr] | [INFO] [stderr] 370 | if(!not_empty) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 370 - if(!not_empty) { [INFO] [stderr] 370 + if !not_empty { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/./wallet.rs:375:23 [INFO] [stderr] | [INFO] [stderr] 375 | if(i == 5) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 375 - if(i == 5) { [INFO] [stderr] 375 + if i == 5 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/miner.rs:846:9 [INFO] [stderr] | [INFO] [stderr] 846 | /// Dead code, normaly upside code find hash before u64::max_value iteration. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 847 | / return block::Block{ [INFO] [stderr] 848 | | index: index_, [INFO] [stderr] 849 | | payload: payload_, [INFO] [stderr] 850 | | timestamp: timestamp_, [INFO] [stderr] ... | [INFO] [stderr] 853 | | hash: hash.as_bytes().to_vec() [INFO] [stderr] 854 | | }; [INFO] [stderr] | |_________- rustdoc does not generate documentation for expressions [INFO] [stderr] | [INFO] [stderr] = help: use `//` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/./wallet.rs:225:17 [INFO] [stderr] | [INFO] [stderr] 225 | _ => { () } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/./wallet.rs:262:21 [INFO] [stderr] | [INFO] [stderr] 261 | True => resp = "Transaction is verified !".to_string(), [INFO] [stderr] | ---- matches any value [INFO] [stderr] 262 | False => resp = "Transaction is not correct !".to_string(), [INFO] [stderr] | ^^^^^ unreachable pattern [INFO] [stderr] [INFO] [stderr] warning: unused variable: `text` [INFO] [stderr] --> src/miner.rs:435:21 [INFO] [stderr] | [INFO] [stderr] 435 | let text = &message[1..]; // get the remainder of the message [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `listener` [INFO] [stderr] --> src/./wallet.rs:238:21 [INFO] [stderr] | [INFO] [stderr] 238 | let listener = TcpListener::bind(&self.socket).unwrap(); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_listener` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `True` [INFO] [stderr] --> src/./wallet.rs:261:21 [INFO] [stderr] | [INFO] [stderr] 261 | True => resp = "Transaction is verified !".to_string(), [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_True` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `False` [INFO] [stderr] --> src/./wallet.rs:262:21 [INFO] [stderr] | [INFO] [stderr] 262 | False => resp = "Transaction is not correct !".to_string(), [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_False` [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `broadcast_threaded` [INFO] [stderr] --> src/miner.rs:375:12 [INFO] [stderr] | [INFO] [stderr] 375 | pub fn broadcast_threaded(&self, message: &String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `ask_for_id` [INFO] [stderr] --> src/miner.rs:667:12 [INFO] [stderr] | [INFO] [stderr] 667 | pub fn ask_for_id(socket: &String, destination: &String) -> u32 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `check_block` [INFO] [stderr] --> src/miner.rs:773:12 [INFO] [stderr] | [INFO] [stderr] 773 | pub fn check_block(&self, block: block::Block) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decode_id_response` [INFO] [stderr] --> src/./wallet.rs:128:8 [INFO] [stderr] | [INFO] [stderr] 128 | pub fn decode_id_response(message: String) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `handle_message` [INFO] [stderr] --> src/./wallet.rs:272:12 [INFO] [stderr] | [INFO] [stderr] 272 | pub fn handle_message(&self, mut stream: TcpStream) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `send_message` [INFO] [stderr] --> src/./wallet.rs:293:12 [INFO] [stderr] | [INFO] [stderr] 293 | pub fn send_message(&self, destination: &String, message: &String, flag: Flag) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/./block.rs:31:12 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn new (index: u32, payload: String, timestamp: u128, nonce: u64, prev_hash: Vec) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Ok` [INFO] [stderr] --> src/./wallet.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Ok, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Connect` [INFO] [stderr] --> src/./wallet.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | Connect, // flag to signal that a Miner joined the newtwork [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Disconnect` [INFO] [stderr] --> src/./wallet.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | Disconnect, // flag to signal that a Miner disconnected from the network [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RequireID` [INFO] [stderr] --> src/./wallet.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | RequireID, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `GiveID` [INFO] [stderr] --> src/./wallet.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | GiveID, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BroadcastConnect` [INFO] [stderr] --> src/./wallet.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | BroadcastConnect, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BroadcastDisconnect` [INFO] [stderr] --> src/./wallet.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | BroadcastDisconnect, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Check` [INFO] [stderr] --> src/./wallet.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | Check, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Ack` [INFO] [stderr] --> src/./wallet.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | Ack, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Block` [INFO] [stderr] --> src/./wallet.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | Block, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Transaction` [INFO] [stderr] --> src/./wallet.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | Transaction, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `MineTransaction` [INFO] [stderr] --> src/./wallet.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | MineTransaction, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `OkMineTransaction` [INFO] [stderr] --> src/./wallet.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | OkMineTransaction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RequireWalletID` [INFO] [stderr] --> src/./wallet.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | RequireWalletID, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RequireBlockchain` [INFO] [stderr] --> src/./wallet.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | RequireBlockchain, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SendBlockchain` [INFO] [stderr] --> src/./wallet.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | SendBlockchain, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Flag` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `from_u8` [INFO] [stderr] --> src/./wallet.rs:42:8 [INFO] [stderr] | [INFO] [stderr] 42 | fn from_u8(value: u8) -> Flag { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Send` [INFO] [stderr] --> src/./wallet.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | Send, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] note: `UserCommand` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:67:16 [INFO] [stderr] | [INFO] [stderr] 67 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Check` [INFO] [stderr] --> src/./wallet.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | Check, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `UserCommand` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:67:16 [INFO] [stderr] | [INFO] [stderr] 67 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Verify` [INFO] [stderr] --> src/./wallet.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | Verify, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `UserCommand` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:67:16 [INFO] [stderr] | [INFO] [stderr] 67 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Exit` [INFO] [stderr] --> src/./wallet.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | Exit, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] note: `UserCommand` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/./wallet.rs:67:16 [INFO] [stderr] | [INFO] [stderr] 67 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `from_string` [INFO] [stderr] --> src/./wallet.rs:78:8 [INFO] [stderr] | [INFO] [stderr] 78 | fn from_string(value: String) -> UserCommand { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `concat_u8` [INFO] [stderr] --> src/./wallet.rs:101:8 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn concat_u8(first: &[u8], second: &[u8]) -> Vec { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `encode_sockip` [INFO] [stderr] --> src/./wallet.rs:107:8 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn encode_sockip(sockip: String) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decode_sockip` [INFO] [stderr] --> src/./wallet.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn decode_sockip(sockip: String) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `encode_id` [INFO] [stderr] --> src/./wallet.rs:117:8 [INFO] [stderr] | [INFO] [stderr] 117 | pub fn encode_id(id: String) -> String { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decode_id` [INFO] [stderr] --> src/./wallet.rs:122:8 [INFO] [stderr] | [INFO] [stderr] 122 | pub fn decode_id(message: String) -> String { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `encode_message` [INFO] [stderr] --> src/./wallet.rs:147:8 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn encode_message(flag : Flag, sockip : String, id : String, msg : String) -> Vec{ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decode_message` [INFO] [stderr] --> src/./wallet.rs:159:8 [INFO] [stderr] | [INFO] [stderr] 159 | pub fn decode_message(msg : &[u8]) -> (Flag, String, String, String){ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `create_wallet` [INFO] [stderr] --> src/./wallet.rs:172:8 [INFO] [stderr] | [INFO] [stderr] 172 | pub fn create_wallet(socket: String, miner: String) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/./wallet.rs:189:12 [INFO] [stderr] | [INFO] [stderr] 189 | pub fn new(socket: String, miner: String, id: u32) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `listen_for_user_input` [INFO] [stderr] --> src/./wallet.rs:199:12 [INFO] [stderr] | [INFO] [stderr] 199 | pub fn listen_for_user_input(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `handle_user_input` [INFO] [stderr] --> src/./wallet.rs:234:12 [INFO] [stderr] | [INFO] [stderr] 234 | pub fn handle_user_input(&self, command: UserCommand, target: String, message: String) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `decode_block` [INFO] [stderr] --> src/./wallet.rs:318:12 [INFO] [stderr] | [INFO] [stderr] 318 | pub fn decode_block(&self, encoded_block: String) -> block::Block { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `handle_blockchain` [INFO] [stderr] --> src/./wallet.rs:327:12 [INFO] [stderr] | [INFO] [stderr] 327 | pub fn handle_blockchain(&self, mut stream: TcpStream, blocks: &mut Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_blockchain_from_miner` [INFO] [stderr] --> src/./wallet.rs:347:12 [INFO] [stderr] | [INFO] [stderr] 347 | pub fn get_blockchain_from_miner(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `verify_transaction` [INFO] [stderr] --> src/./wallet.rs:389:12 [INFO] [stderr] | [INFO] [stderr] 389 | pub fn verify_transaction(&self, transaction: Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static is never used: `digest` [INFO] [stderr] --> src/./wallet.rs:397:9 [INFO] [stderr] | [INFO] [stderr] 397 | static digest: &'static Algorithm = &ring::digest::SHA256; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/miner.rs:380:13 [INFO] [stderr] | [INFO] [stderr] 380 | / thread::scope(|s| { [INFO] [stderr] 381 | | s.spawn(move |_| { [INFO] [stderr] 382 | | // Connect to neighbor [INFO] [stderr] 383 | | match self.send_message(&neighbor_address, &message, Flag::Ok) { [INFO] [stderr] ... | [INFO] [stderr] 387 | | }); [INFO] [stderr] 388 | | }); [INFO] [stderr] | |_______________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/miner.rs:492:25 [INFO] [stderr] | [INFO] [stderr] 492 | self.send_message(&sender_sockip, &String::from(""), Flag::Ack); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused borrow that must be used [INFO] [stderr] --> src/miner.rs:518:29 [INFO] [stderr] | [INFO] [stderr] 518 | ... &self.broadcast_to_network(&transaction, Flag::Transaction, sender_sockip.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stderr] | [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 518 | let _ = &self.broadcast_to_network(&transaction, Flag::Transaction, sender_sockip.to_owned()); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused borrow that must be used [INFO] [stderr] --> src/miner.rs:532:33 [INFO] [stderr] | [INFO] [stderr] 532 | ... &self.blocks.push(block::Block::from_str(&mined_block.to_string()).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stderr] | [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 532 | let _ = &self.blocks.push(block::Block::from_str(&mined_block.to_string()).unwrap()); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused borrow that must be used [INFO] [stderr] --> src/miner.rs:533:33 [INFO] [stderr] | [INFO] [stderr] 533 | ... &self.broadcast_to_network(&mined_block.to_string(), Flag::Block, sender_sockip.to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stderr] | [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 533 | let _ = &self.broadcast_to_network(&mined_block.to_string(), Flag::Block, sender_sockip.to_owned()); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/miner.rs:599:29 [INFO] [stderr] | [INFO] [stderr] 599 | ... self.send_message(&sender_sockip, &block.to_string(), Flag::SendBlockchain); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused borrow that must be used [INFO] [stderr] --> src/miner.rs:644:21 [INFO] [stderr] | [INFO] [stderr] 644 | &self.handle_client(stream); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stderr] | [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 644 | let _ = &self.handle_client(stream); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused borrow that must be used [INFO] [stderr] --> src/miner.rs:655:17 [INFO] [stderr] | [INFO] [stderr] 655 | &self.refresh_nodes_status(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stderr] | [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 655 | let _ = &self.refresh_nodes_status(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused borrow that must be used [INFO] [stderr] --> src/miner.rs:745:17 [INFO] [stderr] | [INFO] [stderr] 745 | &self.health_check(&addr, &id); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stderr] | [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 745 | let _ = &self.health_check(&addr, &id); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused borrow that must be used [INFO] [stderr] --> src/miner.rs:761:17 [INFO] [stderr] | [INFO] [stderr] 761 | &self.remove_from_network(*id, String::from(destination)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stderr] | [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 761 | let _ = &self.remove_from_network(*id, String::from(destination)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/./wallet.rs:204:13 [INFO] [stderr] | [INFO] [stderr] 204 | stdin.read_line(&mut buffer); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `True` should have a snake case name [INFO] [stderr] --> src/./wallet.rs:261:21 [INFO] [stderr] | [INFO] [stderr] 261 | True => resp = "Transaction is verified !".to_string(), [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stderr] | [INFO] [stderr] 261 | r#true => resp = "Transaction is verified !".to_string(), [INFO] [stderr] | ~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: variable `False` should have a snake case name [INFO] [stderr] --> src/./wallet.rs:262:21 [INFO] [stderr] | [INFO] [stderr] 262 | False => resp = "Transaction is not correct !".to_string(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stderr] | [INFO] [stderr] 262 | r#false => resp = "Transaction is not correct !".to_string(), [INFO] [stderr] | ~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: static variable `digest` should have an upper case name [INFO] [stderr] --> src/./wallet.rs:397:16 [INFO] [stderr] | [INFO] [stderr] 397 | static digest: &'static Algorithm = &ring::digest::SHA256; [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper case: `DIGEST` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `blockchain` (bin "blockchain" test) generated 79 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.22s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/blockchain-dcd40c0cc44509eb) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "1bfa0a220de36e078c1861ac37867744c05fdd0e11975148a240f4699b79990d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1bfa0a220de36e078c1861ac37867744c05fdd0e11975148a240f4699b79990d", kill_on_drop: false }` [INFO] [stdout] 1bfa0a220de36e078c1861ac37867744c05fdd0e11975148a240f4699b79990d