[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] checking kcalvinalvin/rustreexo against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkcalvinalvin%2Frustreexo" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/kcalvinalvin/rustreexo on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "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-7-tc1/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: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bitcoin v0.23.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bb59267ac1d0b89636a7b39780b1c6ab0c1e1bb21898770640117879fb2e21bf [INFO] running `Command { std: "docker" "start" "-a" "bb59267ac1d0b89636a7b39780b1c6ab0c1e1bb21898770640117879fb2e21bf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bb59267ac1d0b89636a7b39780b1c6ab0c1e1bb21898770640117879fb2e21bf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bb59267ac1d0b89636a7b39780b1c6ab0c1e1bb21898770640117879fb2e21bf", kill_on_drop: false }` [INFO] [stdout] bb59267ac1d0b89636a7b39780b1c6ab0c1e1bb21898770640117879fb2e21bf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ebc426583fb06cd8c79ba7f3568702a1f1f903eec70b61b0c6da6a4305b42974 [INFO] running `Command { std: "docker" "start" "-a" "ebc426583fb06cd8c79ba7f3568702a1f1f903eec70b61b0c6da6a4305b42974", kill_on_drop: false }` [INFO] [stderr] Compiling cc v1.0.41 [INFO] [stderr] Checking bech32 v0.7.2 [INFO] [stderr] Checking bitcoin_hashes v0.7.6 [INFO] [stderr] Compiling secp256k1-sys v0.1.2 [INFO] [stderr] Checking secp256k1 v0.17.2 [INFO] [stderr] Checking bitcoin v0.23.0 [INFO] [stderr] Checking 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 imports: `println as info` and `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: 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: 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] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `row_offset` is never used [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 `child` is never used [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 `n_grandchild` is never used [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 `cousin` is never used [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 `num_roots` is never used [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 `get_roots_reverse` is never used [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 `subtree_positions` is never used [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 `subtree_leafrange` is never used [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 `to_leaves` is never used [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 `previous_pow2` is never used [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: fields `block_header`, `outpoint`, `height`, `is_coinbase`, `amt`, and `pk_script` are never read [INFO] [stdout] --> src/accumulator/types.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct LeafData { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 25 | block_header: HASH, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 26 | outpoint: transaction::OutPoint, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 27 | height: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 28 | is_coinbase: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 29 | amt: i64, [INFO] [stdout] | ^^^ [INFO] [stdout] 30 | pk_script: Vec, [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: method `grab_pos` is never used [INFO] [stdout] --> src/accumulator/pollard.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 34 | impl Pollard { [INFO] [stdout] | ------------ method in this implementation [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: method `aunt_op` is never used [INFO] [stdout] --> src/accumulator/pollard.rs:244:8 [INFO] [stdout] | [INFO] [stdout] 241 | impl PolNode { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 244 | fn aunt_op(&self) -> sha256::Hash { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pol_swap` is never used [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: 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: 23 warnings emitted [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: 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] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [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: function `child` is never used [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 `n_grandchild` is never used [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 `cousin` is never used [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 `num_roots` is never used [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 `get_roots_reverse` is never used [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 `subtree_positions` is never used [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 `subtree_leafrange` is never used [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 `to_leaves` is never used [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 `previous_pow2` is never used [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: fields `block_header`, `outpoint`, `height`, `is_coinbase`, `amt`, and `pk_script` are never read [INFO] [stdout] --> src/accumulator/types.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct LeafData { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 25 | block_header: HASH, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 26 | outpoint: transaction::OutPoint, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 27 | height: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 28 | is_coinbase: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 29 | amt: i64, [INFO] [stdout] | ^^^ [INFO] [stdout] 30 | pk_script: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `grab_pos` is never used [INFO] [stdout] --> src/accumulator/pollard.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 34 | impl Pollard { [INFO] [stdout] | ------------ method in this implementation [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: method `aunt_op` is never used [INFO] [stdout] --> src/accumulator/pollard.rs:244:8 [INFO] [stdout] | [INFO] [stdout] 241 | impl PolNode { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 244 | fn aunt_op(&self) -> sha256::Hash { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pol_swap` is never used [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 `check_root` is never used [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 `test_pol_del` is never used [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: 32 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.26s [INFO] running `Command { std: "docker" "inspect" "ebc426583fb06cd8c79ba7f3568702a1f1f903eec70b61b0c6da6a4305b42974", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ebc426583fb06cd8c79ba7f3568702a1f1f903eec70b61b0c6da6a4305b42974", kill_on_drop: false }` [INFO] [stdout] ebc426583fb06cd8c79ba7f3568702a1f1f903eec70b61b0c6da6a4305b42974 [INFO] checking kcalvinalvin/rustreexo against try#f9935d29d867449445ee008640ccca1bf1ae0889+rustflags=-Dtail_expr_drop_order for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkcalvinalvin%2Frustreexo" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/kcalvinalvin/rustreexo on toolchain f9935d29d867449445ee008640ccca1bf1ae0889 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "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-7-tc2/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: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6a27f412d37e581995303dbb01bc75003efdd1b5323a6419993aac23eea0bc39 [INFO] running `Command { std: "docker" "start" "-a" "6a27f412d37e581995303dbb01bc75003efdd1b5323a6419993aac23eea0bc39", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6a27f412d37e581995303dbb01bc75003efdd1b5323a6419993aac23eea0bc39", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a27f412d37e581995303dbb01bc75003efdd1b5323a6419993aac23eea0bc39", kill_on_drop: false }` [INFO] [stdout] 6a27f412d37e581995303dbb01bc75003efdd1b5323a6419993aac23eea0bc39 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6669c583544c4796aa45218c8c0ff105fc7feb8ad5bff22134e9bb5c0225edd9 [INFO] running `Command { std: "docker" "start" "-a" "6669c583544c4796aa45218c8c0ff105fc7feb8ad5bff22134e9bb5c0225edd9", kill_on_drop: false }` [INFO] [stderr] Compiling cc v1.0.41 [INFO] [stderr] Checking bech32 v0.7.2 [INFO] [stderr] Checking bitcoin_hashes v0.7.6 [INFO] [stderr] Compiling secp256k1-sys v0.1.2 [INFO] [stderr] Checking secp256k1 v0.17.2 [INFO] [stderr] Checking bitcoin v0.23.0 [INFO] [stderr] Checking 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 imports: `println as info` and `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: 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: 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] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `row_offset` is never used [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 `child` is never used [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 `n_grandchild` is never used [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 `cousin` is never used [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 `num_roots` is never used [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 `get_roots_reverse` is never used [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 `subtree_positions` is never used [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 `subtree_leafrange` is never used [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 `to_leaves` is never used [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 `previous_pow2` is never used [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: fields `block_header`, `outpoint`, `height`, `is_coinbase`, `amt`, and `pk_script` are never read [INFO] [stdout] --> src/accumulator/types.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct LeafData { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 25 | block_header: HASH, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 26 | outpoint: transaction::OutPoint, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 27 | height: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 28 | is_coinbase: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 29 | amt: i64, [INFO] [stdout] | ^^^ [INFO] [stdout] 30 | pk_script: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `grab_pos` is never used [INFO] [stdout] --> src/accumulator/pollard.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 34 | impl Pollard { [INFO] [stdout] | ------------ method in this implementation [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: method `aunt_op` is never used [INFO] [stdout] --> src/accumulator/pollard.rs:244:8 [INFO] [stdout] | [INFO] [stdout] 241 | impl PolNode { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 244 | fn aunt_op(&self) -> sha256::Hash { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pol_swap` is never used [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] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/accumulator/pollard.rs:211:23 [INFO] [stdout] | [INFO] [stdout] 208 | let node = root[tree as usize].clone(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 209 | let node_sib = root[tree as usize].clone(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 210 | [INFO] [stdout] 211 | match grab_niece(node, node_sib, branch_len, bits) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 23 warnings emitted [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] [stderr] error: could not compile `rustreexo` (lib) due to 2 previous errors; 23 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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: 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] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [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: function `child` is never used [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 `n_grandchild` is never used [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 `cousin` is never used [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 `num_roots` is never used [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 `get_roots_reverse` is never used [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 `subtree_positions` is never used [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 `subtree_leafrange` is never used [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 `to_leaves` is never used [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 `previous_pow2` is never used [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: fields `block_header`, `outpoint`, `height`, `is_coinbase`, `amt`, and `pk_script` are never read [INFO] [stdout] --> src/accumulator/types.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct LeafData { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 25 | block_header: HASH, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 26 | outpoint: transaction::OutPoint, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 27 | height: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 28 | is_coinbase: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 29 | amt: i64, [INFO] [stdout] | ^^^ [INFO] [stdout] 30 | pk_script: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `grab_pos` is never used [INFO] [stdout] --> src/accumulator/pollard.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 34 | impl Pollard { [INFO] [stdout] | ------------ method in this implementation [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: method `aunt_op` is never used [INFO] [stdout] --> src/accumulator/pollard.rs:244:8 [INFO] [stdout] | [INFO] [stdout] 241 | impl PolNode { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 244 | fn aunt_op(&self) -> sha256::Hash { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pol_swap` is never used [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 `check_root` is never used [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 `test_pol_del` is never used [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] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/accumulator/pollard.rs:211:23 [INFO] [stdout] | [INFO] [stdout] 208 | let node = root[tree as usize].clone(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 209 | let node_sib = root[tree as usize].clone(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 210 | [INFO] [stdout] 211 | match grab_niece(node, node_sib, branch_len, bits) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [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] error: aborting due to 1 previous error; 32 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rustreexo` (lib test) due to 2 previous errors; 32 warnings emitted [INFO] running `Command { std: "docker" "inspect" "6669c583544c4796aa45218c8c0ff105fc7feb8ad5bff22134e9bb5c0225edd9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6669c583544c4796aa45218c8c0ff105fc7feb8ad5bff22134e9bb5c0225edd9", kill_on_drop: false }` [INFO] [stdout] 6669c583544c4796aa45218c8c0ff105fc7feb8ad5bff22134e9bb5c0225edd9