[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 try#0611f7de057c584b8771102fde7aed6c70c71d3b for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkcalvinalvin%2Frustreexo" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[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-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kcalvinalvin/rustreexo on toolchain 0611f7de057c584b8771102fde7aed6c70c71d3b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6c7c44def99a21af91be01bdc51513ba0766ddba12c95f7a10d2ab1d5e94bd20
[INFO] running `Command { std: "docker" "start" "-a" "6c7c44def99a21af91be01bdc51513ba0766ddba12c95f7a10d2ab1d5e94bd20", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6c7c44def99a21af91be01bdc51513ba0766ddba12c95f7a10d2ab1d5e94bd20", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6c7c44def99a21af91be01bdc51513ba0766ddba12c95f7a10d2ab1d5e94bd20", kill_on_drop: false }`
[INFO] [stdout] 6c7c44def99a21af91be01bdc51513ba0766ddba12c95f7a10d2ab1d5e94bd20
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 61f43f9054a51adbb88836f4d97ac53402c42cfb9951fb0cbd07022b363efbf9
[INFO] running `Command { std: "docker" "start" "-a" "61f43f9054a51adbb88836f4d97ac53402c42cfb9951fb0cbd07022b363efbf9", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.0.41
[INFO] [stderr]     Checking bitcoin_hashes v0.7.6
[INFO] [stderr]     Checking bech32 v0.7.2
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: 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<u64>) {
[INFO] [stdout]     |                          ----^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[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: value passed to `p_node_sib` is never read
[INFO] [stdout]    --> src/accumulator/pollard.rs:153:44
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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<u64, u8> {
[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: 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)]` (part of `#[warn(unused)]`) on by default
[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: 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] error: struct `LeafData` is never constructed
[INFO] [stdout]   --> src/accumulator/types.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct LeafData {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[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<u8>,
[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] [stderr] error: could not compile `rustreexo` (lib) due to 1 previous error; 23 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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)]` (part of `#[warn(unused)]`) 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: 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<u64>) {
[INFO] [stdout]     |                          ----^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[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: value passed to `p_node_sib` is never read
[INFO] [stdout]    --> src/accumulator/pollard.rs:153:44
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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<u64, u8> {
[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] error: struct `LeafData` is never constructed
[INFO] [stdout]   --> src/accumulator/types.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct LeafData {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[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<u8>,
[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)]` (part of `#[warn(unused)]`) 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] [stderr] error: could not compile `rustreexo` (lib test) due to 1 previous error; 32 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "61f43f9054a51adbb88836f4d97ac53402c42cfb9951fb0cbd07022b363efbf9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61f43f9054a51adbb88836f4d97ac53402c42cfb9951fb0cbd07022b363efbf9", kill_on_drop: false }`
[INFO] [stdout] 61f43f9054a51adbb88836f4d97ac53402c42cfb9951fb0cbd07022b363efbf9
