[INFO] cloning repository https://github.com/kcalvinalvin/rustreexo [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kcalvinalvin/rustreexo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkcalvinalvin%2Frustreexo", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkcalvinalvin%2Frustreexo'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7fa88a0d8371fc1a2ff4c27a1c2e112d048d9cd5 [INFO] testing kcalvinalvin/rustreexo against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkcalvinalvin%2Frustreexo" "/workspace/builds/worker-2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/kcalvinalvin/rustreexo 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/kcalvinalvin/rustreexo [INFO] finished tweaking git repo https://github.com/kcalvinalvin/rustreexo [INFO] tweaked toml for git repo https://github.com/kcalvinalvin/rustreexo written to /workspace/builds/worker-2/source/Cargo.toml [INFO] crate git repo https://github.com/kcalvinalvin/rustreexo 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] Downloading crates ... [INFO] [stderr] Downloaded bech32 v0.7.2 [INFO] [stderr] Downloaded bitcoin_hashes v0.7.6 [INFO] [stderr] Downloaded secp256k1 v0.17.2 [INFO] [stderr] Downloaded bitcoin v0.23.0 [INFO] [stderr] Downloaded secp256k1-sys v0.1.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d8c926a3b05938c9a8de02aae0d44c6b5eadc4962ad70911a13edb08f71b8561 [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" "d8c926a3b05938c9a8de02aae0d44c6b5eadc4962ad70911a13edb08f71b8561", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d8c926a3b05938c9a8de02aae0d44c6b5eadc4962ad70911a13edb08f71b8561", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d8c926a3b05938c9a8de02aae0d44c6b5eadc4962ad70911a13edb08f71b8561", kill_on_drop: false }` [INFO] [stdout] d8c926a3b05938c9a8de02aae0d44c6b5eadc4962ad70911a13edb08f71b8561 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2bb0580a88ea5969d4d90a5704de72d87d6e5e15d2a7917e1ced8ebff5b5bec6 [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" "2bb0580a88ea5969d4d90a5704de72d87d6e5e15d2a7917e1ced8ebff5b5bec6", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling cc v1.0.41 [INFO] [stderr] Compiling bitcoin_hashes v0.7.6 [INFO] [stderr] Compiling bech32 v0.7.2 [INFO] [stderr] Compiling secp256k1-sys v0.1.2 [INFO] [stderr] Compiling secp256k1 v0.17.2 [INFO] [stderr] Compiling bitcoin v0.23.0 [INFO] [stderr] Compiling rustreexo v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/accumulator/pollard.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashEngine` [INFO] [stdout] --> src/accumulator/pollard.rs:12:37 [INFO] [stdout] | [INFO] [stdout] 12 | use bitcoin::hashes::{sha256, Hash, HashEngine}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> src/accumulator/pollard.rs:12:31 [INFO] [stdout] | [INFO] [stdout] 12 | use bitcoin::hashes::{sha256, Hash, HashEngine}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_leaves` [INFO] [stdout] --> src/accumulator/util.rs:240:22 [INFO] [stdout] | [INFO] [stdout] 240 | fn get_roots_reverse(num_leaves: u64, forest_rows: u8) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_leaves` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `forest_rows` [INFO] [stdout] --> src/accumulator/util.rs:240:39 [INFO] [stdout] | [INFO] [stdout] 240 | fn get_roots_reverse(num_leaves: u64, forest_rows: u8) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forest_rows` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value passed to `p_node_sib` is never read [INFO] [stdout] --> src/accumulator/pollard.rs:153:48 [INFO] [stdout] | [INFO] [stdout] 153 | fn grab_niece(mut p_node: PolNode, mut p_node_sib: PolNode, branch_len: u8, bits: u64) -> Option<(PolNode, PolNode, u8)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remember` [INFO] [stdout] --> src/accumulator/pollard.rs:69:50 [INFO] [stdout] | [INFO] [stdout] 69 | fn add_single(&mut self, utxo: sha256::Hash, remember: bool) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remember` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leaves_after_del` [INFO] [stdout] --> src/accumulator/pollard.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | let leaves_after_del = self.num_leaves - dels.len() as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaves_after_del` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/accumulator/pollard.rs:127:26 [INFO] [stdout] | [INFO] [stdout] 127 | fn remove(&mut self, mut dels: Vec) { [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: function is never used: `row_offset` [INFO] [stdout] --> src/accumulator/util.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn row_offset(row: u8, forest_rows: u8) -> u64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `child` [INFO] [stdout] --> src/accumulator/util.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn child(pos: u64, forest_rows: u8) -> u64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `n_grandchild` [INFO] [stdout] --> src/accumulator/util.rs:132:4 [INFO] [stdout] | [INFO] [stdout] 132 | fn n_grandchild(pos: u64, drop: u8, forest_rows: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cousin` [INFO] [stdout] --> src/accumulator/util.rs:166:4 [INFO] [stdout] | [INFO] [stdout] 166 | fn cousin(pos: u64) -> u64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `num_roots` [INFO] [stdout] --> src/accumulator/util.rs:216:4 [INFO] [stdout] | [INFO] [stdout] 216 | fn num_roots(num_leaves: u64) -> u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_roots_reverse` [INFO] [stdout] --> src/accumulator/util.rs:240:4 [INFO] [stdout] | [INFO] [stdout] 240 | fn get_roots_reverse(num_leaves: u64, forest_rows: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `subtree_positions` [INFO] [stdout] --> src/accumulator/util.rs:246:4 [INFO] [stdout] | [INFO] [stdout] 246 | fn subtree_positions() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `subtree_leafrange` [INFO] [stdout] --> src/accumulator/util.rs:248:4 [INFO] [stdout] | [INFO] [stdout] 248 | fn subtree_leafrange() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `to_leaves` [INFO] [stdout] --> src/accumulator/util.rs:250:4 [INFO] [stdout] | [INFO] [stdout] 250 | fn to_leaves() {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `previous_pow2` [INFO] [stdout] --> src/accumulator/util.rs:254:4 [INFO] [stdout] | [INFO] [stdout] 254 | fn previous_pow2(n: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `block_header` [INFO] [stdout] --> src/accumulator/types.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | block_header: HASH, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `outpoint` [INFO] [stdout] --> src/accumulator/types.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | outpoint: transaction::OutPoint, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `height` [INFO] [stdout] --> src/accumulator/types.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | height: i32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `is_coinbase` [INFO] [stdout] --> src/accumulator/types.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | is_coinbase: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `amt` [INFO] [stdout] --> src/accumulator/types.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | amt: i64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `pk_script` [INFO] [stdout] --> src/accumulator/types.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pk_script: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `grab_pos` [INFO] [stdout] --> src/accumulator/pollard.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | fn grab_pos(&mut self, pos: u64) -> Option<(PolNode, PolNode, HashableNode)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `grab_niece` [INFO] [stdout] --> src/accumulator/pollard.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 153 | fn grab_niece(mut p_node: PolNode, mut p_node_sib: PolNode, branch_len: u8, bits: u64) -> Option<(PolNode, PolNode, u8)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `aunt_op` [INFO] [stdout] --> src/accumulator/pollard.rs:244:8 [INFO] [stdout] | [INFO] [stdout] 244 | fn aunt_op(&self) -> sha256::Hash { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pol_swap` [INFO] [stdout] --> src/accumulator/pollard.rs:293:4 [INFO] [stdout] | [INFO] [stdout] 293 | fn pol_swap<'a, 'b>(mut a: &'a mut PolNode, mut asib: &'b mut PolNode, mut b: &'a mut PolNode, mut bsib: &'b mut PolNode) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 29 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 19.94s [INFO] running `Command { std: "docker" "inspect" "2bb0580a88ea5969d4d90a5704de72d87d6e5e15d2a7917e1ced8ebff5b5bec6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2bb0580a88ea5969d4d90a5704de72d87d6e5e15d2a7917e1ced8ebff5b5bec6", kill_on_drop: false }` [INFO] [stdout] 2bb0580a88ea5969d4d90a5704de72d87d6e5e15d2a7917e1ced8ebff5b5bec6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--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] 362e5543d5b7bfa91ad41c6a08a164e7e4783017bffc67dbb48127fa06e830e3 [INFO] running `Command { std: "docker" "start" "-a" "362e5543d5b7bfa91ad41c6a08a164e7e4783017bffc67dbb48127fa06e830e3", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/accumulator/pollard.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashEngine` [INFO] [stdout] --> src/accumulator/pollard.rs:12:37 [INFO] [stdout] | [INFO] [stdout] 12 | use bitcoin::hashes::{sha256, Hash, HashEngine}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> src/accumulator/pollard.rs:12:31 [INFO] [stdout] | [INFO] [stdout] 12 | use bitcoin::hashes::{sha256, Hash, HashEngine}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_leaves` [INFO] [stdout] --> src/accumulator/util.rs:240:22 [INFO] [stdout] | [INFO] [stdout] 240 | fn get_roots_reverse(num_leaves: u64, forest_rows: u8) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_leaves` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `forest_rows` [INFO] [stdout] --> src/accumulator/util.rs:240:39 [INFO] [stdout] | [INFO] [stdout] 240 | fn get_roots_reverse(num_leaves: u64, forest_rows: u8) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forest_rows` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value passed to `p_node_sib` is never read [INFO] [stdout] --> src/accumulator/pollard.rs:153:48 [INFO] [stdout] | [INFO] [stdout] 153 | fn grab_niece(mut p_node: PolNode, mut p_node_sib: PolNode, branch_len: u8, bits: u64) -> Option<(PolNode, PolNode, u8)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remember` [INFO] [stdout] --> src/accumulator/pollard.rs:69:50 [INFO] [stdout] | [INFO] [stdout] 69 | fn add_single(&mut self, utxo: sha256::Hash, remember: bool) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remember` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leaves_after_del` [INFO] [stdout] --> src/accumulator/pollard.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | let leaves_after_del = self.num_leaves - dels.len() as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaves_after_del` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/accumulator/pollard.rs:127:26 [INFO] [stdout] | [INFO] [stdout] 127 | fn remove(&mut self, mut dels: Vec) { [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: function is never used: `row_offset` [INFO] [stdout] --> src/accumulator/util.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn row_offset(row: u8, forest_rows: u8) -> u64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `child` [INFO] [stdout] --> src/accumulator/util.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn child(pos: u64, forest_rows: u8) -> u64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `n_grandchild` [INFO] [stdout] --> src/accumulator/util.rs:132:4 [INFO] [stdout] | [INFO] [stdout] 132 | fn n_grandchild(pos: u64, drop: u8, forest_rows: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cousin` [INFO] [stdout] --> src/accumulator/util.rs:166:4 [INFO] [stdout] | [INFO] [stdout] 166 | fn cousin(pos: u64) -> u64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `num_roots` [INFO] [stdout] --> src/accumulator/util.rs:216:4 [INFO] [stdout] | [INFO] [stdout] 216 | fn num_roots(num_leaves: u64) -> u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_roots_reverse` [INFO] [stdout] --> src/accumulator/util.rs:240:4 [INFO] [stdout] | [INFO] [stdout] 240 | fn get_roots_reverse(num_leaves: u64, forest_rows: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `subtree_positions` [INFO] [stdout] --> src/accumulator/util.rs:246:4 [INFO] [stdout] | [INFO] [stdout] 246 | fn subtree_positions() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `subtree_leafrange` [INFO] [stdout] --> src/accumulator/util.rs:248:4 [INFO] [stdout] | [INFO] [stdout] 248 | fn subtree_leafrange() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `to_leaves` [INFO] [stdout] --> src/accumulator/util.rs:250:4 [INFO] [stdout] | [INFO] [stdout] 250 | fn to_leaves() {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `previous_pow2` [INFO] [stdout] --> src/accumulator/util.rs:254:4 [INFO] [stdout] | [INFO] [stdout] 254 | fn previous_pow2(n: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `block_header` [INFO] [stdout] --> src/accumulator/types.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | block_header: HASH, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `outpoint` [INFO] [stdout] --> src/accumulator/types.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | outpoint: transaction::OutPoint, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `height` [INFO] [stdout] --> src/accumulator/types.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | height: i32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `is_coinbase` [INFO] [stdout] --> src/accumulator/types.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | is_coinbase: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `amt` [INFO] [stdout] --> src/accumulator/types.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | amt: i64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `pk_script` [INFO] [stdout] --> src/accumulator/types.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pk_script: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `grab_pos` [INFO] [stdout] --> src/accumulator/pollard.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | fn grab_pos(&mut self, pos: u64) -> Option<(PolNode, PolNode, HashableNode)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `grab_niece` [INFO] [stdout] --> src/accumulator/pollard.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 153 | fn grab_niece(mut p_node: PolNode, mut p_node_sib: PolNode, branch_len: u8, bits: u64) -> Option<(PolNode, PolNode, u8)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `aunt_op` [INFO] [stdout] --> src/accumulator/pollard.rs:244:8 [INFO] [stdout] | [INFO] [stdout] 244 | fn aunt_op(&self) -> sha256::Hash { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pol_swap` [INFO] [stdout] --> src/accumulator/pollard.rs:293:4 [INFO] [stdout] | [INFO] [stdout] 293 | fn pol_swap<'a, 'b>(mut a: &'a mut PolNode, mut asib: &'b mut PolNode, mut b: &'a mut PolNode, mut bsib: &'b mut PolNode) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 29 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rustreexo v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `println as info`, `println as warn` [INFO] [stdout] --> src/accumulator/util.rs:278:11 [INFO] [stdout] | [INFO] [stdout] 278 | use std::{println as info, println as warn}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/accumulator/pollard.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashEngine` [INFO] [stdout] --> src/accumulator/pollard.rs:12:37 [INFO] [stdout] | [INFO] [stdout] 12 | use bitcoin::hashes::{sha256, Hash, HashEngine}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/accumulator/pollard.rs:415:13 [INFO] [stdout] | [INFO] [stdout] 415 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> src/accumulator/pollard.rs:12:31 [INFO] [stdout] | [INFO] [stdout] 12 | use bitcoin::hashes::{sha256, Hash, HashEngine}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_leaves` [INFO] [stdout] --> src/accumulator/util.rs:240:22 [INFO] [stdout] | [INFO] [stdout] 240 | fn get_roots_reverse(num_leaves: u64, forest_rows: u8) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_leaves` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `forest_rows` [INFO] [stdout] --> src/accumulator/util.rs:240:39 [INFO] [stdout] | [INFO] [stdout] 240 | fn get_roots_reverse(num_leaves: u64, forest_rows: u8) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forest_rows` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value passed to `p_node_sib` is never read [INFO] [stdout] --> src/accumulator/pollard.rs:153:48 [INFO] [stdout] | [INFO] [stdout] 153 | fn grab_niece(mut p_node: PolNode, mut p_node_sib: PolNode, branch_len: u8, bits: u64) -> Option<(PolNode, PolNode, u8)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remember` [INFO] [stdout] --> src/accumulator/pollard.rs:69:50 [INFO] [stdout] | [INFO] [stdout] 69 | fn add_single(&mut self, utxo: sha256::Hash, remember: bool) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remember` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leaves_after_del` [INFO] [stdout] --> src/accumulator/pollard.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | let leaves_after_del = self.num_leaves - dels.len() as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaves_after_del` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h1_copy` [INFO] [stdout] --> src/accumulator/pollard.rs:421:13 [INFO] [stdout] | [INFO] [stdout] 421 | let h1_copy = h1.clone(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h1_copy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h2_copy` [INFO] [stdout] --> src/accumulator/pollard.rs:427:13 [INFO] [stdout] | [INFO] [stdout] 427 | let h2_copy = h2.clone(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h2_copy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h3_copy` [INFO] [stdout] --> src/accumulator/pollard.rs:433:13 [INFO] [stdout] | [INFO] [stdout] 433 | let h3_copy = h3.clone(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h3_copy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h4_copy` [INFO] [stdout] --> src/accumulator/pollard.rs:439:13 [INFO] [stdout] | [INFO] [stdout] 439 | let h4_copy = h4.clone(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h4_copy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/accumulator/pollard.rs:127:26 [INFO] [stdout] | [INFO] [stdout] 127 | fn remove(&mut self, mut dels: Vec) { [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: function is never used: `child` [INFO] [stdout] --> src/accumulator/util.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn child(pos: u64, forest_rows: u8) -> u64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `n_grandchild` [INFO] [stdout] --> src/accumulator/util.rs:132:4 [INFO] [stdout] | [INFO] [stdout] 132 | fn n_grandchild(pos: u64, drop: u8, forest_rows: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cousin` [INFO] [stdout] --> src/accumulator/util.rs:166:4 [INFO] [stdout] | [INFO] [stdout] 166 | fn cousin(pos: u64) -> u64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `num_roots` [INFO] [stdout] --> src/accumulator/util.rs:216:4 [INFO] [stdout] | [INFO] [stdout] 216 | fn num_roots(num_leaves: u64) -> u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_roots_reverse` [INFO] [stdout] --> src/accumulator/util.rs:240:4 [INFO] [stdout] | [INFO] [stdout] 240 | fn get_roots_reverse(num_leaves: u64, forest_rows: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `subtree_positions` [INFO] [stdout] --> src/accumulator/util.rs:246:4 [INFO] [stdout] | [INFO] [stdout] 246 | fn subtree_positions() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `subtree_leafrange` [INFO] [stdout] --> src/accumulator/util.rs:248:4 [INFO] [stdout] | [INFO] [stdout] 248 | fn subtree_leafrange() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `to_leaves` [INFO] [stdout] --> src/accumulator/util.rs:250:4 [INFO] [stdout] | [INFO] [stdout] 250 | fn to_leaves() {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `previous_pow2` [INFO] [stdout] --> src/accumulator/util.rs:254:4 [INFO] [stdout] | [INFO] [stdout] 254 | fn previous_pow2(n: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `block_header` [INFO] [stdout] --> src/accumulator/types.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | block_header: HASH, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `outpoint` [INFO] [stdout] --> src/accumulator/types.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | outpoint: transaction::OutPoint, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `height` [INFO] [stdout] --> src/accumulator/types.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | height: i32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `is_coinbase` [INFO] [stdout] --> src/accumulator/types.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | is_coinbase: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `amt` [INFO] [stdout] --> src/accumulator/types.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | amt: i64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `pk_script` [INFO] [stdout] --> src/accumulator/types.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pk_script: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `grab_pos` [INFO] [stdout] --> src/accumulator/pollard.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | fn grab_pos(&mut self, pos: u64) -> Option<(PolNode, PolNode, HashableNode)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `grab_niece` [INFO] [stdout] --> src/accumulator/pollard.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 153 | fn grab_niece(mut p_node: PolNode, mut p_node_sib: PolNode, branch_len: u8, bits: u64) -> Option<(PolNode, PolNode, u8)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `aunt_op` [INFO] [stdout] --> src/accumulator/pollard.rs:244:8 [INFO] [stdout] | [INFO] [stdout] 244 | fn aunt_op(&self) -> sha256::Hash { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pol_swap` [INFO] [stdout] --> src/accumulator/pollard.rs:293:4 [INFO] [stdout] | [INFO] [stdout] 293 | fn pol_swap<'a, 'b>(mut a: &'a mut PolNode, mut asib: &'b mut PolNode, mut b: &'a mut PolNode, mut bsib: &'b mut PolNode) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `check_root` [INFO] [stdout] --> src/accumulator/pollard.rs:356:8 [INFO] [stdout] | [INFO] [stdout] 356 | fn check_root() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_pol_del` [INFO] [stdout] --> src/accumulator/pollard.rs:359:8 [INFO] [stdout] | [INFO] [stdout] 359 | fn test_pol_del() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/accumulator/pollard.rs:316:13 [INFO] [stdout] | [INFO] [stdout] 316 | &pollard.modify(vec![leaf], vec![]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 316 | let _ = &pollard.modify(vec![leaf], vec![]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/accumulator/pollard.rs:375:13 [INFO] [stdout] | [INFO] [stdout] 375 | &pol.modify(vec![leaf], vec![]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 375 | let _ = &pol.modify(vec![leaf], vec![]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 38 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.41s [INFO] running `Command { std: "docker" "inspect" "362e5543d5b7bfa91ad41c6a08a164e7e4783017bffc67dbb48127fa06e830e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "362e5543d5b7bfa91ad41c6a08a164e7e4783017bffc67dbb48127fa06e830e3", kill_on_drop: false }` [INFO] [stdout] 362e5543d5b7bfa91ad41c6a08a164e7e4783017bffc67dbb48127fa06e830e3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", 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] 51e2f47d7c65481bfb9d693a36541b23793e83fb2ed5cca80277a840266703c8 [INFO] running `Command { std: "docker" "start" "-a" "51e2f47d7c65481bfb9d693a36541b23793e83fb2ed5cca80277a840266703c8", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/accumulator/pollard.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashEngine` [INFO] [stderr] --> src/accumulator/pollard.rs:12:37 [INFO] [stderr] | [INFO] [stderr] 12 | use bitcoin::hashes::{sha256, Hash, HashEngine}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Hash` [INFO] [stderr] --> src/accumulator/pollard.rs:12:31 [INFO] [stderr] | [INFO] [stderr] 12 | use bitcoin::hashes::{sha256, Hash, HashEngine}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_leaves` [INFO] [stderr] --> src/accumulator/util.rs:240:22 [INFO] [stderr] | [INFO] [stderr] 240 | fn get_roots_reverse(num_leaves: u64, forest_rows: u8) { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_leaves` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `forest_rows` [INFO] [stderr] --> src/accumulator/util.rs:240:39 [INFO] [stderr] | [INFO] [stderr] 240 | fn get_roots_reverse(num_leaves: u64, forest_rows: u8) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forest_rows` [INFO] [stderr] [INFO] [stderr] warning: value passed to `p_node_sib` is never read [INFO] [stderr] --> src/accumulator/pollard.rs:153:48 [INFO] [stderr] | [INFO] [stderr] 153 | fn grab_niece(mut p_node: PolNode, mut p_node_sib: PolNode, branch_len: u8, bits: u64) -> Option<(PolNode, PolNode, u8)> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `remember` [INFO] [stderr] --> src/accumulator/pollard.rs:69:50 [INFO] [stderr] | [INFO] [stderr] 69 | fn add_single(&mut self, utxo: sha256::Hash, remember: bool) { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remember` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `leaves_after_del` [INFO] [stderr] --> src/accumulator/pollard.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 135 | let leaves_after_del = self.num_leaves - dels.len() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaves_after_del` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/accumulator/pollard.rs:127:26 [INFO] [stderr] | [INFO] [stderr] 127 | fn remove(&mut self, mut dels: Vec) { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `row_offset` [INFO] [stderr] --> src/accumulator/util.rs:71:4 [INFO] [stderr] | [INFO] [stderr] 71 | fn row_offset(row: u8, forest_rows: u8) -> u64 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `child` [INFO] [stderr] --> src/accumulator/util.rs:124:4 [INFO] [stderr] | [INFO] [stderr] 124 | fn child(pos: u64, forest_rows: u8) -> u64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `n_grandchild` [INFO] [stderr] --> src/accumulator/util.rs:132:4 [INFO] [stderr] | [INFO] [stderr] 132 | fn n_grandchild(pos: u64, drop: u8, forest_rows: u8) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `cousin` [INFO] [stderr] --> src/accumulator/util.rs:166:4 [INFO] [stderr] | [INFO] [stderr] 166 | fn cousin(pos: u64) -> u64 { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `num_roots` [INFO] [stderr] --> src/accumulator/util.rs:216:4 [INFO] [stderr] | [INFO] [stderr] 216 | fn num_roots(num_leaves: u64) -> u8 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_roots_reverse` [INFO] [stderr] --> src/accumulator/util.rs:240:4 [INFO] [stderr] | [INFO] [stderr] 240 | fn get_roots_reverse(num_leaves: u64, forest_rows: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `subtree_positions` [INFO] [stderr] --> src/accumulator/util.rs:246:4 [INFO] [stderr] | [INFO] [stderr] 246 | fn subtree_positions() {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `subtree_leafrange` [INFO] [stderr] --> src/accumulator/util.rs:248:4 [INFO] [stderr] | [INFO] [stderr] 248 | fn subtree_leafrange() {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `to_leaves` [INFO] [stderr] --> src/accumulator/util.rs:250:4 [INFO] [stderr] | [INFO] [stderr] 250 | fn to_leaves() {} [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `previous_pow2` [INFO] [stderr] --> src/accumulator/util.rs:254:4 [INFO] [stderr] | [INFO] [stderr] 254 | fn previous_pow2(n: u64) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `block_header` [INFO] [stderr] --> src/accumulator/types.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | block_header: HASH, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `outpoint` [INFO] [stderr] --> src/accumulator/types.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | outpoint: transaction::OutPoint, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `height` [INFO] [stderr] --> src/accumulator/types.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | height: i32, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `is_coinbase` [INFO] [stderr] --> src/accumulator/types.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | is_coinbase: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `amt` [INFO] [stderr] --> src/accumulator/types.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | amt: i64, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `pk_script` [INFO] [stderr] --> src/accumulator/types.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | pk_script: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `grab_pos` [INFO] [stderr] --> src/accumulator/pollard.rs:151:8 [INFO] [stderr] | [INFO] [stderr] 151 | fn grab_pos(&mut self, pos: u64) -> Option<(PolNode, PolNode, HashableNode)> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `grab_niece` [INFO] [stderr] --> src/accumulator/pollard.rs:153:12 [INFO] [stderr] | [INFO] [stderr] 153 | fn grab_niece(mut p_node: PolNode, mut p_node_sib: PolNode, branch_len: u8, bits: u64) -> Option<(PolNode, PolNode, u8)> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `aunt_op` [INFO] [stderr] --> src/accumulator/pollard.rs:244:8 [INFO] [stderr] | [INFO] [stderr] 244 | fn aunt_op(&self) -> sha256::Hash { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pol_swap` [INFO] [stderr] --> src/accumulator/pollard.rs:293:4 [INFO] [stderr] | [INFO] [stderr] 293 | fn pol_swap<'a, 'b>(mut a: &'a mut PolNode, mut asib: &'b mut PolNode, mut b: &'a mut PolNode, mut bsib: &'b mut PolNode) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `println as info`, `println as warn` [INFO] [stderr] --> src/accumulator/util.rs:278:11 [INFO] [stderr] | [INFO] [stderr] 278 | use std::{println as info, println as warn}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/accumulator/pollard.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/accumulator/pollard.rs:415:13 [INFO] [stderr] | [INFO] [stderr] 415 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h1_copy` [INFO] [stderr] --> src/accumulator/pollard.rs:421:13 [INFO] [stderr] | [INFO] [stderr] 421 | let h1_copy = h1.clone(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h1_copy` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h2_copy` [INFO] [stderr] --> src/accumulator/pollard.rs:427:13 [INFO] [stderr] | [INFO] [stderr] 427 | let h2_copy = h2.clone(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h2_copy` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h3_copy` [INFO] [stderr] --> src/accumulator/pollard.rs:433:13 [INFO] [stderr] | [INFO] [stderr] 433 | let h3_copy = h3.clone(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h3_copy` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h4_copy` [INFO] [stderr] --> src/accumulator/pollard.rs:439:13 [INFO] [stderr] | [INFO] [stderr] 439 | let h4_copy = h4.clone(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h4_copy` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `child` [INFO] [stderr] --> src/accumulator/util.rs:124:4 [INFO] [stderr] | [INFO] [stderr] 124 | fn child(pos: u64, forest_rows: u8) -> u64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `check_root` [INFO] [stderr] --> src/accumulator/pollard.rs:356:8 [INFO] [stderr] | [INFO] [stderr] 356 | fn check_root() { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_pol_del` [INFO] [stderr] --> src/accumulator/pollard.rs:359:8 [INFO] [stderr] | [INFO] [stderr] 359 | fn test_pol_del() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused borrow that must be used [INFO] [stderr] --> src/accumulator/pollard.rs:316:13 [INFO] [stderr] | [INFO] [stderr] 316 | &pollard.modify(vec![leaf], vec![]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 316 | let _ = &pollard.modify(vec![leaf], vec![]); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused borrow that must be used [INFO] [stderr] --> src/accumulator/pollard.rs:375:13 [INFO] [stderr] | [INFO] [stderr] 375 | &pol.modify(vec![leaf], vec![]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stderr] | [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 375 | let _ = &pol.modify(vec![leaf], vec![]); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `rustreexo` (lib) generated 29 warnings [INFO] [stderr] warning: `rustreexo` (lib test) generated 38 warnings (26 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rustreexo-b4e6240110e14fd7) [INFO] [stdout] running 7 tests [INFO] [stdout] test accumulator::pollard::tests::test_pol_swap ... ok [INFO] [stdout] test accumulator::util::tests::test_detect_subtree_rows ... ok [INFO] [stdout] test accumulator::util::tests::test_detect_row ... ok [INFO] [stdout] test accumulator::util::tests::test_root_position ... ok [INFO] [stdout] test accumulator::util::tests::pow_tests ... ok [INFO] [stdout] test accumulator::util::tests::util_test ... ok [INFO] [stdout] test accumulator::pollard::tests::test_pol_add ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.27s [INFO] [stdout] [INFO] [stderr] Doc-tests rustreexo [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" "51e2f47d7c65481bfb9d693a36541b23793e83fb2ed5cca80277a840266703c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "51e2f47d7c65481bfb9d693a36541b23793e83fb2ed5cca80277a840266703c8", kill_on_drop: false }` [INFO] [stdout] 51e2f47d7c65481bfb9d693a36541b23793e83fb2ed5cca80277a840266703c8