[INFO] cloning repository https://github.com/BearGuy/saito [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BearGuy/saito" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBearGuy%2Fsaito", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBearGuy%2Fsaito'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8a6c6a07f56febff68aba9698ee92de00d07352a [INFO] checking BearGuy/saito against beta for pr-78714 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBearGuy%2Fsaito" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/BearGuy/saito on toolchain beta [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/BearGuy/saito [INFO] finished tweaking git repo https://github.com/BearGuy/saito [INFO] tweaked toml for git repo https://github.com/BearGuy/saito written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/BearGuy/saito already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+beta" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] be8f4b3a50ccf5065e988012489db5dab4af45378a1d34ffe2eea814d2a08353 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "be8f4b3a50ccf5065e988012489db5dab4af45378a1d34ffe2eea814d2a08353", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "be8f4b3a50ccf5065e988012489db5dab4af45378a1d34ffe2eea814d2a08353", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "be8f4b3a50ccf5065e988012489db5dab4af45378a1d34ffe2eea814d2a08353", kill_on_drop: false }` [INFO] [stdout] be8f4b3a50ccf5065e988012489db5dab4af45378a1d34ffe2eea814d2a08353 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+beta" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 0d12c4b7f4d35947abcba76161cadb231c1b98a69de625a96a053dfda1f7a590 [INFO] running `Command { std: "docker" "start" "-a" "0d12c4b7f4d35947abcba76161cadb231c1b98a69de625a96a053dfda1f7a590", kill_on_drop: false }` [INFO] [stderr] Compiling syn v0.15.40 [INFO] [stderr] Compiling serde v1.0.93 [INFO] [stderr] Compiling cc v1.0.26 [INFO] [stderr] Compiling typenum v1.10.0 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling rayon-core v1.5.0 [INFO] [stderr] Compiling merkle v1.10.0 [INFO] [stderr] Checking opaque-debug v0.2.2 [INFO] [stderr] Checking itertools v0.8.0 [INFO] [stderr] Checking crossbeam-utils v0.6.5 [INFO] [stderr] Compiling bincode v1.1.4 [INFO] [stderr] Checking num_cpus v1.10.1 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking atty v0.2.13 [INFO] [stderr] Checking rand_xoshiro v0.1.0 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking crossbeam-epoch v0.7.1 [INFO] [stderr] Checking crossbeam-queue v0.1.2 [INFO] [stderr] Checking csv-core v0.1.6 [INFO] [stderr] Checking crossbeam-deque v0.6.3 [INFO] [stderr] Compiling ring v0.13.5 [INFO] [stderr] Compiling secp256k1 v0.12.2 [INFO] [stderr] Checking criterion-plot v0.3.1 [INFO] [stderr] Checking generic-array v0.12.0 [INFO] [stderr] Checking rayon v1.1.0 [INFO] [stderr] Checking digest v0.8.0 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking sha2 v0.8.0 [INFO] [stderr] Compiling serde_derive v1.0.97 [INFO] [stderr] Checking serde_bytes v0.11.1 [INFO] [stderr] Checking bstr v0.2.4 [INFO] [stderr] Checking serde_json v1.0.40 [INFO] [stderr] Checking saito-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> src/lib.rs:1137:10 [INFO] [stdout] | [INFO] [stdout] 1137 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/lib.rs:1140:10 [INFO] [stdout] | [INFO] [stdout] 1140 | for x in 0..10 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/lib.rs:1150:9 [INFO] [stdout] | [INFO] [stdout] 1150 | for block in blocks.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/lib.rs:1155:13 [INFO] [stdout] | [INFO] [stdout] 1155 | let mut f = BufWriter::new(File::create(filename).unwrap()); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> src/lib.rs:1174:17 [INFO] [stdout] | [INFO] [stdout] 1174 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> src/lib.rs:1195:9 [INFO] [stdout] | [INFO] [stdout] 1195 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `golden_tx_solution` [INFO] [stdout] --> src/lib.rs:132:17 [INFO] [stdout] | [INFO] [stdout] 132 | let golden_tx_solution = self.calculate_solution( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_golden_tx_solution` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `golden_tx` [INFO] [stdout] --> src/lib.rs:162:17 [INFO] [stdout] | [INFO] [stdout] 162 | let mut golden_tx = wallet.create_transaction( [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_golden_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vote` [INFO] [stdout] --> src/lib.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | let mut vote: u8 = 0; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `random_solution` [INFO] [stdout] --> src/lib.rs:234:27 [INFO] [stdout] | [INFO] [stdout] 234 | fn find_winner(&self, random_solution: &[u8], previous_block: &Block) -> PublicKey { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_random_solution` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:162:17 [INFO] [stdout] | [INFO] [stdout] 162 | let mut golden_tx = wallet.create_transaction( [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | let mut vote: u8 = 0; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:248:12 [INFO] [stdout] | [INFO] [stdout] 248 | let mut winning_tx = self.find_winning_transaction(previous_block); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking csv v1.1.1 [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:1155:13 [INFO] [stdout] | [INFO] [stdout] 1155 | let mut f = BufWriter::new(File::create(filename).unwrap()); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `calculate_difficulty` [INFO] [stdout] --> src/lib.rs:321:8 [INFO] [stdout] | [INFO] [stdout] 321 | fn calculate_difficulty (&self, previous_block: &Block) -> f32 { [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: `calculate_paysplit` [INFO] [stdout] --> src/lib.rs:328:8 [INFO] [stdout] | [INFO] [stdout] 328 | fn calculate_paysplit (&self, previous_block: &Block) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `calculate_to_amount` [INFO] [stdout] --> src/lib.rs:436:8 [INFO] [stdout] | [INFO] [stdout] 436 | fn calculate_to_amount(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `create_block` [INFO] [stdout] --> src/lib.rs:1136:4 [INFO] [stdout] | [INFO] [stdout] 1136 | fn create_block() -> Block { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `write_blocks` [INFO] [stdout] --> src/lib.rs:1149:4 [INFO] [stdout] | [INFO] [stdout] 1149 | fn write_blocks(blocks: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `read_blocks` [INFO] [stdout] --> src/lib.rs:1164:4 [INFO] [stdout] | [INFO] [stdout] 1164 | fn read_blocks() -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `serialize_and_deserialize` [INFO] [stdout] --> src/lib.rs:1183:4 [INFO] [stdout] | [INFO] [stdout] 1183 | fn serialize_and_deserialize(block: &Block) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:879:9 [INFO] [stdout] | [INFO] [stdout] 879 | f.write_all(&encode[..]); [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 `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:1003:9 [INFO] [stdout] | [INFO] [stdout] 1003 | f.write_all(&encode[..]); [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 `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:1187:5 [INFO] [stdout] | [INFO] [stdout] 1187 | f.write_all(&encode[..]); [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: 24 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tinytemplate v1.0.2 [INFO] [stdout] warning: unused import: `create_merkle_root` [INFO] [stdout] --> src/main.rs:1:65 [INFO] [stdout] | [INFO] [stdout] 1 | use saito::{Mempool, Blockchain, BurnFee, Wallet, Miner, Block, create_merkle_root}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell`, `RefMut` [INFO] [stdout] --> src/main.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::cell::{RefCell, RefMut}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH` [INFO] [stdout] --> src/main.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let mut mempool = Mempool::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking criterion v0.2.11 [INFO] [stdout] warning: unused import: `create_merkle_root` [INFO] [stdout] --> src/main.rs:1:65 [INFO] [stdout] | [INFO] [stdout] 1 | use saito::{Mempool, Blockchain, BurnFee, Wallet, Miner, Block, create_merkle_root}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell`, `RefMut` [INFO] [stdout] --> src/main.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::cell::{RefCell, RefMut}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH` [INFO] [stdout] --> src/main.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let mut mempool = Mempool::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> benches/saito_benchmark.rs:6:41 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{SystemTime, UNIX_EPOCH, Duration}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `deserialize_from`, `serialize_into` [INFO] [stdout] --> benches/saito_benchmark.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use bincode::{serialize_into, deserialize_from}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter` [INFO] [stdout] --> benches/saito_benchmark.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | use std::io::{BufWriter, BufReader, Read}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> benches/saito_benchmark.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> benches/saito_benchmark.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | use std::sync::{Mutex, Arc}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Receiver` [INFO] [stdout] --> benches/saito_benchmark.rs:18:31 [INFO] [stdout] | [INFO] [stdout] 18 | use std::sync::mpsc::{Sender, Receiver}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> benches/saito_benchmark.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | for x in 0..100 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> benches/saito_benchmark.rs:61:60 [INFO] [stdout] | [INFO] [stdout] 61 | (0..1000000).into_par_iter().for_each_with(sender, |s, x| create_transaction_multi(s.clone())); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> benches/saito_benchmark.rs:73:19 [INFO] [stdout] | [INFO] [stdout] 73 | |rng, x| rng.gen() [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> benches/saito_benchmark.rs:115:17 [INFO] [stdout] | [INFO] [stdout] 115 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> benches/saito_benchmark.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> benches/saito_benchmark.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> benches/saito_benchmark.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `encoded` [INFO] [stdout] --> benches/saito_benchmark.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | let encoded: Vec = bincode::serialize(block).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> benches/saito_benchmark.rs:166:10 [INFO] [stdout] | [INFO] [stdout] 166 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> benches/saito_benchmark.rs:178:10 [INFO] [stdout] | [INFO] [stdout] 178 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> benches/saito_benchmark.rs:191:10 [INFO] [stdout] | [INFO] [stdout] 191 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> benches/saito_benchmark.rs:232:10 [INFO] [stdout] | [INFO] [stdout] 232 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> benches/saito_benchmark.rs:245:10 [INFO] [stdout] | [INFO] [stdout] 245 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> benches/saito_benchmark.rs:258:10 [INFO] [stdout] | [INFO] [stdout] 258 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> benches/saito_benchmark.rs:271:10 [INFO] [stdout] | [INFO] [stdout] 271 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/lib.rs:1205:9 [INFO] [stdout] | [INFO] [stdout] 1205 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex` [INFO] [stdout] --> src/lib.rs:1206:21 [INFO] [stdout] | [INFO] [stdout] 1206 | use std::sync::{Mutex, Arc}; [INFO] [stdout] | ^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `time_since_unix_epoch` [INFO] [stdout] --> benches/saito_benchmark.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn time_since_unix_epoch() -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `create_block` [INFO] [stdout] --> benches/saito_benchmark.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn create_block(public_key: PublicKey) -> Block { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `write_blocks` [INFO] [stdout] --> benches/saito_benchmark.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn write_blocks(blocks: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `read_blocks` [INFO] [stdout] --> benches/saito_benchmark.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn read_blocks() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `read_block` [INFO] [stdout] --> benches/saito_benchmark.rs:120:4 [INFO] [stdout] | [INFO] [stdout] 120 | fn read_block() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `serialize_and_deserialize_with_file` [INFO] [stdout] --> benches/saito_benchmark.rs:131:4 [INFO] [stdout] | [INFO] [stdout] 131 | fn serialize_and_deserialize_with_file(block: &Block) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `serialize_and_deserialize_in_memory` [INFO] [stdout] --> benches/saito_benchmark.rs:150:4 [INFO] [stdout] | [INFO] [stdout] 150 | fn serialize_and_deserialize_in_memory(block: &Block) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `serialize_in_memory` [INFO] [stdout] --> benches/saito_benchmark.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn serialize_in_memory(block: &Block) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `create_block_benchmark` [INFO] [stdout] --> benches/saito_benchmark.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn create_block_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `create_block_multi_thread_benchmark` [INFO] [stdout] --> benches/saito_benchmark.rs:177:4 [INFO] [stdout] | [INFO] [stdout] 177 | fn create_block_multi_thread_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `serialize_blocks_benchmark` [INFO] [stdout] --> benches/saito_benchmark.rs:190:4 [INFO] [stdout] | [INFO] [stdout] 190 | fn serialize_blocks_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `deserialize_blocks_benchmark` [INFO] [stdout] --> benches/saito_benchmark.rs:208:4 [INFO] [stdout] | [INFO] [stdout] 208 | fn deserialize_blocks_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `deserialize_block_from_disk_benchmark` [INFO] [stdout] --> benches/saito_benchmark.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn deserialize_block_from_disk_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `serialize_in_memory_benchmark` [INFO] [stdout] --> benches/saito_benchmark.rs:231:4 [INFO] [stdout] | [INFO] [stdout] 231 | fn serialize_in_memory_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `serialize_deserialize_in_memory_benchmark` [INFO] [stdout] --> benches/saito_benchmark.rs:244:4 [INFO] [stdout] | [INFO] [stdout] 244 | fn serialize_deserialize_in_memory_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `serialize_deserialize_to_file_benchmark` [INFO] [stdout] --> benches/saito_benchmark.rs:257:4 [INFO] [stdout] | [INFO] [stdout] 257 | fn serialize_deserialize_to_file_benchmark(c: &mut Criterion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> benches/saito_benchmark.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | f.write_all(&encode[..]); [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 `std::result::Result` that must be used [INFO] [stdout] --> benches/saito_benchmark.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | f.write_all(&encode[..]); [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: 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super` [INFO] [stdout] --> src/lib.rs:1204:9 [INFO] [stdout] | [INFO] [stdout] 1204 | use super::*; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `secret_key` [INFO] [stdout] --> src/lib.rs:1137:10 [INFO] [stdout] | [INFO] [stdout] 1137 | let (secret_key, public_key) = generate_keys(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/lib.rs:1140:10 [INFO] [stdout] | [INFO] [stdout] 1140 | for x in 0..10 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/lib.rs:1150:9 [INFO] [stdout] | [INFO] [stdout] 1150 | for block in blocks.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/lib.rs:1155:13 [INFO] [stdout] | [INFO] [stdout] 1155 | let mut f = BufWriter::new(File::create(filename).unwrap()); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> src/lib.rs:1174:17 [INFO] [stdout] | [INFO] [stdout] 1174 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> src/lib.rs:1195:9 [INFO] [stdout] | [INFO] [stdout] 1195 | let decoded: Block = bincode::deserialize(&encoded[..]).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `golden_tx_solution` [INFO] [stdout] --> src/lib.rs:132:17 [INFO] [stdout] | [INFO] [stdout] 132 | let golden_tx_solution = self.calculate_solution( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_golden_tx_solution` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `golden_tx` [INFO] [stdout] --> src/lib.rs:162:17 [INFO] [stdout] | [INFO] [stdout] 162 | let mut golden_tx = wallet.create_transaction( [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_golden_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vote` [INFO] [stdout] --> src/lib.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | let mut vote: u8 = 0; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `random_solution` [INFO] [stdout] --> src/lib.rs:234:27 [INFO] [stdout] | [INFO] [stdout] 234 | fn find_winner(&self, random_solution: &[u8], previous_block: &Block) -> PublicKey { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_random_solution` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:162:17 [INFO] [stdout] | [INFO] [stdout] 162 | let mut golden_tx = wallet.create_transaction( [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | let mut vote: u8 = 0; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:248:12 [INFO] [stdout] | [INFO] [stdout] 248 | let mut winning_tx = self.find_winning_transaction(previous_block); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:1155:13 [INFO] [stdout] | [INFO] [stdout] 1155 | let mut f = BufWriter::new(File::create(filename).unwrap()); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `calculate_difficulty` [INFO] [stdout] --> src/lib.rs:321:8 [INFO] [stdout] | [INFO] [stdout] 321 | fn calculate_difficulty (&self, previous_block: &Block) -> f32 { [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: `calculate_paysplit` [INFO] [stdout] --> src/lib.rs:328:8 [INFO] [stdout] | [INFO] [stdout] 328 | fn calculate_paysplit (&self, previous_block: &Block) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `calculate_to_amount` [INFO] [stdout] --> src/lib.rs:436:8 [INFO] [stdout] | [INFO] [stdout] 436 | fn calculate_to_amount(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `create_block` [INFO] [stdout] --> src/lib.rs:1136:4 [INFO] [stdout] | [INFO] [stdout] 1136 | fn create_block() -> Block { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `write_blocks` [INFO] [stdout] --> src/lib.rs:1149:4 [INFO] [stdout] | [INFO] [stdout] 1149 | fn write_blocks(blocks: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `read_blocks` [INFO] [stdout] --> src/lib.rs:1164:4 [INFO] [stdout] | [INFO] [stdout] 1164 | fn read_blocks() -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `serialize_and_deserialize` [INFO] [stdout] --> src/lib.rs:1183:4 [INFO] [stdout] | [INFO] [stdout] 1183 | fn serialize_and_deserialize(block: &Block) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:879:9 [INFO] [stdout] | [INFO] [stdout] 879 | f.write_all(&encode[..]); [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 `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:1003:9 [INFO] [stdout] | [INFO] [stdout] 1003 | f.write_all(&encode[..]); [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 `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:1187:5 [INFO] [stdout] | [INFO] [stdout] 1187 | f.write_all(&encode[..]); [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: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 03s [INFO] running `Command { std: "docker" "inspect" "0d12c4b7f4d35947abcba76161cadb231c1b98a69de625a96a053dfda1f7a590", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0d12c4b7f4d35947abcba76161cadb231c1b98a69de625a96a053dfda1f7a590", kill_on_drop: false }` [INFO] [stdout] 0d12c4b7f4d35947abcba76161cadb231c1b98a69de625a96a053dfda1f7a590