[INFO] cloning repository https://github.com/Sladuca/berkletree [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Sladuca/berkletree" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSladuca%2Fberkletree", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSladuca%2Fberkletree'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 95125d7b875ad04ada8d105b1397b3bb77a3aea3 [INFO] testing Sladuca/berkletree against master#595316b4006932405a63862d8fe65f71a6356293 for pr-128254 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSladuca%2Fberkletree" "/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/Sladuca/berkletree on toolchain 595316b4006932405a63862d8fe65f71a6356293 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+595316b4006932405a63862d8fe65f71a6356293" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Sladuca/berkletree [INFO] finished tweaking git repo https://github.com/Sladuca/berkletree [INFO] tweaked toml for git repo https://github.com/Sladuca/berkletree written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Sladuca/berkletree 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" "+595316b4006932405a63862d8fe65f71a6356293" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded kzg v0.2.1 [INFO] [stderr] Downloaded pairing v0.21.0 [INFO] [stderr] Downloaded bls12_381 v0.6.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" "+595316b4006932405a63862d8fe65f71a6356293" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 000977dc147b09c28e91cd76d33df3c387084a9c7da7c99a78e5c98c04b912c9 [INFO] running `Command { std: "docker" "start" "-a" "000977dc147b09c28e91cd76d33df3c387084a9c7da7c99a78e5c98c04b912c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "000977dc147b09c28e91cd76d33df3c387084a9c7da7c99a78e5c98c04b912c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "000977dc147b09c28e91cd76d33df3c387084a9c7da7c99a78e5c98c04b912c9", kill_on_drop: false }` [INFO] [stdout] 000977dc147b09c28e91cd76d33df3c387084a9c7da7c99a78e5c98c04b912c9 [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" "+595316b4006932405a63862d8fe65f71a6356293" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dae0afb12fb3d7d3f234ce37237b5977359597a5cebe56d7451424767245f3d0 [INFO] running `Command { std: "docker" "start" "-a" "dae0afb12fb3d7d3f234ce37237b5977359597a5cebe56d7451424767245f3d0", kill_on_drop: false }` [INFO] [stderr] Compiling radium v0.6.2 [INFO] [stderr] Compiling tap v1.0.1 [INFO] [stderr] Compiling proc-macro2 v1.0.28 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling funty v1.2.0 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling syn v1.0.74 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Compiling wyz v0.4.0 [INFO] [stderr] Compiling typenum v1.13.0 [INFO] [stderr] Compiling subtle v2.4.1 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling cc v1.0.69 [INFO] [stderr] Compiling arrayref v0.3.6 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling constant_time_eq v0.1.5 [INFO] [stderr] Compiling arrayvec v0.7.1 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling bitvec v0.22.3 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling blake3 v1.0.0 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling ff v0.11.0 [INFO] [stderr] Compiling group v0.11.0 [INFO] [stderr] Compiling thiserror-impl v1.0.26 [INFO] [stderr] Compiling pairing v0.21.0 [INFO] [stderr] Compiling bls12_381 v0.6.0 [INFO] [stderr] Compiling thiserror v1.0.26 [INFO] [stderr] Compiling kzg v0.2.1 [INFO] [stderr] Compiling berkletree v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `bitvec::vec::BitVec` [INFO] [stdout] --> src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use bitvec::vec::BitVec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `either::Either` [INFO] [stdout] --> src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use either::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TryInto` and `process::Child` [INFO] [stdout] --> src/node.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | convert::{TryFrom, TryInto}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | process::Child, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContainsResult` and `RangeResult` [INFO] [stdout] --> src/node.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | ContainsResult, GetResult, InnerNodeProof, KVProof, MembershipProof, NonMembershipProof, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | RangeResult, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Scalar` [INFO] [stdout] --> src/proofs.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use bls12_381::{Bls12, Scalar}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `either::Either` [INFO] [stdout] --> src/proofs.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use either::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 161 | .verify::<'_, K, MAX_KEY_LEN>(key, value_hash, verifier) [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] = note: `#[warn(late_bound_lifetime_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:366:35 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 366 | left.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:370:41 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 370 | ) && right.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_ok` [INFO] [stdout] --> src/proofs.rs:144:14 [INFO] [stdout] | [INFO] [stdout] 144 | let (path_ok, prev_child_hash) = verify_path(None, &self.path, &self.commitments, verifier); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_ok` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leaf_proof` [INFO] [stdout] --> src/proofs.rs:381:17 [INFO] [stdout] | [INFO] [stdout] 381 | leaf_proof, [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `leaf_proof: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/proofs.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | key, [INFO] [stdout] | ^^^ help: try ignoring the field: `key: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/proofs.rs:383:17 [INFO] [stdout] | [INFO] [stdout] 383 | value, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/lib.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 63 | impl KeyWithCounter { [INFO] [stdout] | ---------------------------------------------------------- associated function in this implementation [INFO] [stdout] 64 | pub(crate) fn new(key: [u8; MAX_KEY_LEN], count: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_batch_witness` and `get_by_path` are never used [INFO] [stdout] --> src/node.rs:172:19 [INFO] [stdout] | [INFO] [stdout] 111 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] 112 | | Node<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stdout] | |______________________________________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 172 | pub(crate) fn get_batch_witness(&self, idxs: Range) -> KZGBatchWitness { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 660 | pub(crate) fn get_by_path( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `hash` is never used [INFO] [stdout] --> src/node.rs:709:19 [INFO] [stdout] | [INFO] [stdout] 708 | impl KeyWithCounter { [INFO] [stdout] | ---------------------------------------------------------- method in this implementation [INFO] [stdout] 709 | pub(crate) fn hash(&self) -> Blake3Hash { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `batch_witness` is never read [INFO] [stdout] --> src/node.rs:738:16 [INFO] [stdout] | [INFO] [stdout] 730 | pub struct InternalNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 738 | pub(crate) batch_witness: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InternalNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/node.rs:758:19 [INFO] [stdout] | [INFO] [stdout] 755 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] 756 | | InternalNode<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stdout] | |______________________________________________________- associated function in this implementation [INFO] [stdout] 757 | { [INFO] [stdout] 758 | pub(crate) fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `batch_witness` is never read [INFO] [stdout] --> src/node.rs:1380:16 [INFO] [stdout] | [INFO] [stdout] 1373 | pub struct LeafNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 1380 | pub(crate) batch_witness: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LeafNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/proofs.rs:481:15 [INFO] [stdout] | [INFO] [stdout] 481 | KeyExists(MembershipProof), [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 481 | KeyExists(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left_path`, `right_path`, `witnesses`, `commitments`, and `bitvecs` are never read [INFO] [stdout] --> src/proofs.rs:487:16 [INFO] [stdout] | [INFO] [stdout] 486 | pub struct RangeProof { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 487 | pub(crate) left_path: RangePath, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 488 | pub(crate) right_path: RangePath, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 489 | pub(crate) witnesses: Vec>>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 490 | pub(crate) commitments: Vec>>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 491 | pub(crate) bitvecs: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left` and `proof` are never read [INFO] [stdout] --> src/proofs.rs:511:16 [INFO] [stdout] | [INFO] [stdout] 509 | pub struct RangeResult<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 510 | { [INFO] [stdout] 511 | pub(crate) left: [u8; MAX_KEY_LEN], [INFO] [stdout] | ^^^^ [INFO] [stdout] 512 | pub(crate) right: [u8; MAX_KEY_LEN], [INFO] [stdout] 513 | pub(crate) proof: RangeProof, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.89s [INFO] running `Command { std: "docker" "inspect" "dae0afb12fb3d7d3f234ce37237b5977359597a5cebe56d7451424767245f3d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dae0afb12fb3d7d3f234ce37237b5977359597a5cebe56d7451424767245f3d0", kill_on_drop: false }` [INFO] [stdout] dae0afb12fb3d7d3f234ce37237b5977359597a5cebe56d7451424767245f3d0 [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" "+595316b4006932405a63862d8fe65f71a6356293" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bf6503cb7d7595e96b8ce537b90248557e5302361abff86ad59b3ff31c697e5a [INFO] running `Command { std: "docker" "start" "-a" "bf6503cb7d7595e96b8ce537b90248557e5302361abff86ad59b3ff31c697e5a", kill_on_drop: false }` [INFO] [stderr] Compiling fastrand v1.5.0 [INFO] [stdout] warning: unused import: `bitvec::vec::BitVec` [INFO] [stdout] --> src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use bitvec::vec::BitVec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `either::Either` [INFO] [stdout] --> src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use either::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TryInto` and `process::Child` [INFO] [stdout] --> src/node.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | convert::{TryFrom, TryInto}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | process::Child, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContainsResult` and `RangeResult` [INFO] [stdout] --> src/node.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | ContainsResult, GetResult, InnerNodeProof, KVProof, MembershipProof, NonMembershipProof, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | RangeResult, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Scalar` [INFO] [stdout] --> src/proofs.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use bls12_381::{Bls12, Scalar}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `either::Either` [INFO] [stdout] --> src/proofs.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use either::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 161 | .verify::<'_, K, MAX_KEY_LEN>(key, value_hash, verifier) [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] = note: `#[warn(late_bound_lifetime_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:366:35 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 366 | left.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:370:41 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 370 | ) && right.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_ok` [INFO] [stdout] --> src/proofs.rs:144:14 [INFO] [stdout] | [INFO] [stdout] 144 | let (path_ok, prev_child_hash) = verify_path(None, &self.path, &self.commitments, verifier); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_ok` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leaf_proof` [INFO] [stdout] --> src/proofs.rs:381:17 [INFO] [stdout] | [INFO] [stdout] 381 | leaf_proof, [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `leaf_proof: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/proofs.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | key, [INFO] [stdout] | ^^^ help: try ignoring the field: `key: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/proofs.rs:383:17 [INFO] [stdout] | [INFO] [stdout] 383 | value, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/lib.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 63 | impl KeyWithCounter { [INFO] [stdout] | ---------------------------------------------------------- associated function in this implementation [INFO] [stdout] 64 | pub(crate) fn new(key: [u8; MAX_KEY_LEN], count: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_batch_witness` and `get_by_path` are never used [INFO] [stdout] --> src/node.rs:172:19 [INFO] [stdout] | [INFO] [stdout] 111 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] 112 | | Node<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stdout] | |______________________________________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 172 | pub(crate) fn get_batch_witness(&self, idxs: Range) -> KZGBatchWitness { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 660 | pub(crate) fn get_by_path( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `hash` is never used [INFO] [stdout] --> src/node.rs:709:19 [INFO] [stdout] | [INFO] [stdout] 708 | impl KeyWithCounter { [INFO] [stdout] | ---------------------------------------------------------- method in this implementation [INFO] [stdout] 709 | pub(crate) fn hash(&self) -> Blake3Hash { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `batch_witness` is never read [INFO] [stdout] --> src/node.rs:738:16 [INFO] [stdout] | [INFO] [stdout] 730 | pub struct InternalNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 738 | pub(crate) batch_witness: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InternalNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/node.rs:758:19 [INFO] [stdout] | [INFO] [stdout] 755 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] 756 | | InternalNode<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stdout] | |______________________________________________________- associated function in this implementation [INFO] [stdout] 757 | { [INFO] [stdout] 758 | pub(crate) fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `batch_witness` is never read [INFO] [stdout] --> src/node.rs:1380:16 [INFO] [stdout] | [INFO] [stdout] 1373 | pub struct LeafNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 1380 | pub(crate) batch_witness: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LeafNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/proofs.rs:481:15 [INFO] [stdout] | [INFO] [stdout] 481 | KeyExists(MembershipProof), [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 481 | KeyExists(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left_path`, `right_path`, `witnesses`, `commitments`, and `bitvecs` are never read [INFO] [stdout] --> src/proofs.rs:487:16 [INFO] [stdout] | [INFO] [stdout] 486 | pub struct RangeProof { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 487 | pub(crate) left_path: RangePath, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 488 | pub(crate) right_path: RangePath, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 489 | pub(crate) witnesses: Vec>>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 490 | pub(crate) commitments: Vec>>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 491 | pub(crate) bitvecs: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left` and `proof` are never read [INFO] [stdout] --> src/proofs.rs:511:16 [INFO] [stdout] | [INFO] [stdout] 509 | pub struct RangeResult<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 510 | { [INFO] [stdout] 511 | pub(crate) left: [u8; MAX_KEY_LEN], [INFO] [stdout] | ^^^^ [INFO] [stdout] 512 | pub(crate) right: [u8; MAX_KEY_LEN], [INFO] [stdout] 513 | pub(crate) proof: RangeProof, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling berkletree v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `bitvec::vec::BitVec` [INFO] [stdout] --> src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use bitvec::vec::BitVec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `either::Either` [INFO] [stdout] --> src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use either::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TryInto` and `process::Child` [INFO] [stdout] --> src/node.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | convert::{TryFrom, TryInto}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | process::Child, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContainsResult` and `RangeResult` [INFO] [stdout] --> src/node.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | ContainsResult, GetResult, InnerNodeProof, KVProof, MembershipProof, NonMembershipProof, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | RangeResult, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Scalar` [INFO] [stdout] --> src/proofs.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use bls12_381::{Bls12, Scalar}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `either::Either` [INFO] [stdout] --> src/proofs.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use either::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Debug` [INFO] [stdout] --> src/test_utils.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::Debug; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 161 | .verify::<'_, K, MAX_KEY_LEN>(key, value_hash, verifier) [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] = note: `#[warn(late_bound_lifetime_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:366:35 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 366 | left.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:370:41 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 370 | ) && right.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_ok` [INFO] [stdout] --> src/proofs.rs:144:14 [INFO] [stdout] | [INFO] [stdout] 144 | let (path_ok, prev_child_hash) = verify_path(None, &self.path, &self.commitments, verifier); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_ok` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leaf_proof` [INFO] [stdout] --> src/proofs.rs:381:17 [INFO] [stdout] | [INFO] [stdout] 381 | leaf_proof, [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `leaf_proof: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/proofs.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | key, [INFO] [stdout] | ^^^ help: try ignoring the field: `key: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/proofs.rs:383:17 [INFO] [stdout] | [INFO] [stdout] 383 | value, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verifier` [INFO] [stdout] --> src/lib.rs:561:13 [INFO] [stdout] | [INFO] [stdout] 561 | let verifier = KZGVerifier::new(¶ms); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/lib.rs:585:19 [INFO] [stdout] | [INFO] [stdout] 585 | for (key, value) in keys.iter().zip(values.iter()) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verifier` [INFO] [stdout] --> src/lib.rs:605:13 [INFO] [stdout] | [INFO] [stdout] 605 | let verifier = KZGVerifier::new(¶ms); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proof` [INFO] [stdout] --> src/lib.rs:727:17 [INFO] [stdout] | [INFO] [stdout] 727 | let proof = tree [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_proof` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/lib.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 63 | impl KeyWithCounter { [INFO] [stdout] | ---------------------------------------------------------- associated function in this implementation [INFO] [stdout] 64 | pub(crate) fn new(key: [u8; MAX_KEY_LEN], count: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_batch_witness` and `get_by_path` are never used [INFO] [stdout] --> src/node.rs:172:19 [INFO] [stdout] | [INFO] [stdout] 111 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] 112 | | Node<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stdout] | |______________________________________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 172 | pub(crate) fn get_batch_witness(&self, idxs: Range) -> KZGBatchWitness { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 660 | pub(crate) fn get_by_path( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `hash` is never used [INFO] [stdout] --> src/node.rs:709:19 [INFO] [stdout] | [INFO] [stdout] 708 | impl KeyWithCounter { [INFO] [stdout] | ---------------------------------------------------------- method in this implementation [INFO] [stdout] 709 | pub(crate) fn hash(&self) -> Blake3Hash { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `batch_witness` is never read [INFO] [stdout] --> src/node.rs:738:16 [INFO] [stdout] | [INFO] [stdout] 730 | pub struct InternalNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 738 | pub(crate) batch_witness: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InternalNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/node.rs:758:19 [INFO] [stdout] | [INFO] [stdout] 755 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] 756 | | InternalNode<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stdout] | |______________________________________________________- associated function in this implementation [INFO] [stdout] 757 | { [INFO] [stdout] 758 | pub(crate) fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `batch_witness` is never read [INFO] [stdout] --> src/node.rs:1380:16 [INFO] [stdout] | [INFO] [stdout] 1373 | pub struct LeafNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 1380 | pub(crate) batch_witness: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LeafNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/proofs.rs:481:15 [INFO] [stdout] | [INFO] [stdout] 481 | KeyExists(MembershipProof), [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 481 | KeyExists(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left_path`, `right_path`, `witnesses`, `commitments`, and `bitvecs` are never read [INFO] [stdout] --> src/proofs.rs:487:16 [INFO] [stdout] | [INFO] [stdout] 486 | pub struct RangeProof { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 487 | pub(crate) left_path: RangePath, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 488 | pub(crate) right_path: RangePath, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 489 | pub(crate) witnesses: Vec>>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 490 | pub(crate) commitments: Vec>>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 491 | pub(crate) bitvecs: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left` and `proof` are never read [INFO] [stdout] --> src/proofs.rs:511:16 [INFO] [stdout] | [INFO] [stdout] 509 | pub struct RangeResult<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 510 | { [INFO] [stdout] 511 | pub(crate) left: [u8; MAX_KEY_LEN], [INFO] [stdout] | ^^^^ [INFO] [stdout] 512 | pub(crate) right: [u8; MAX_KEY_LEN], [INFO] [stdout] 513 | pub(crate) proof: RangeProof, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RAND_SEED` is never used [INFO] [stdout] --> src/lib.rs:445:11 [INFO] [stdout] | [INFO] [stdout] 445 | const RAND_SEED: u64 = 42; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.21s [INFO] running `Command { std: "docker" "inspect" "bf6503cb7d7595e96b8ce537b90248557e5302361abff86ad59b3ff31c697e5a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bf6503cb7d7595e96b8ce537b90248557e5302361abff86ad59b3ff31c697e5a", kill_on_drop: false }` [INFO] [stdout] bf6503cb7d7595e96b8ce537b90248557e5302361abff86ad59b3ff31c697e5a [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" "+595316b4006932405a63862d8fe65f71a6356293" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 478bf598b725333e58f639997eba58dc08ffd5f02601735b2fa8ad16b34de381 [INFO] running `Command { std: "docker" "start" "-a" "478bf598b725333e58f639997eba58dc08ffd5f02601735b2fa8ad16b34de381", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `bitvec::vec::BitVec` [INFO] [stderr] --> src/lib.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use bitvec::vec::BitVec; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `either::Either` [INFO] [stderr] --> src/lib.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use either::Either; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TryInto` and `process::Child` [INFO] [stderr] --> src/node.rs:6:24 [INFO] [stderr] | [INFO] [stderr] 6 | convert::{TryFrom, TryInto}, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 10 | process::Child, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ContainsResult` and `RangeResult` [INFO] [stderr] --> src/node.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | ContainsResult, GetResult, InnerNodeProof, KVProof, MembershipProof, NonMembershipProof, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 20 | RangeResult, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Scalar` [INFO] [stderr] --> src/proofs.rs:3:24 [INFO] [stderr] | [INFO] [stderr] 3 | use bls12_381::{Bls12, Scalar}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `either::Either` [INFO] [stderr] --> src/proofs.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use either::Either; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/proofs.rs:161:23 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stderr] | ------- the late bound lifetime parameter is introduced here [INFO] [stderr] ... [INFO] [stderr] 161 | .verify::<'_, K, MAX_KEY_LEN>(key, value_hash, verifier) [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] = note: `#[warn(late_bound_lifetime_arguments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/proofs.rs:366:35 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stderr] | ------- the late bound lifetime parameter is introduced here [INFO] [stderr] ... [INFO] [stderr] 366 | left.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/proofs.rs:370:41 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stderr] | ------- the late bound lifetime parameter is introduced here [INFO] [stderr] ... [INFO] [stderr] 370 | ) && right.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] [INFO] [stderr] warning: unused variable: `path_ok` [INFO] [stderr] --> src/proofs.rs:144:14 [INFO] [stderr] | [INFO] [stderr] 144 | let (path_ok, prev_child_hash) = verify_path(None, &self.path, &self.commitments, verifier); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_ok` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `leaf_proof` [INFO] [stderr] --> src/proofs.rs:381:17 [INFO] [stderr] | [INFO] [stderr] 381 | leaf_proof, [INFO] [stderr] | ^^^^^^^^^^ help: try ignoring the field: `leaf_proof: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/proofs.rs:382:17 [INFO] [stderr] | [INFO] [stderr] 382 | key, [INFO] [stderr] | ^^^ help: try ignoring the field: `key: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/proofs.rs:383:17 [INFO] [stderr] | [INFO] [stderr] 383 | value, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `value: _` [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/lib.rs:64:19 [INFO] [stderr] | [INFO] [stderr] 63 | impl KeyWithCounter { [INFO] [stderr] | ---------------------------------------------------------- associated function in this implementation [INFO] [stderr] 64 | pub(crate) fn new(key: [u8; MAX_KEY_LEN], count: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: methods `get_batch_witness` and `get_by_path` are never used [INFO] [stderr] --> src/node.rs:172:19 [INFO] [stderr] | [INFO] [stderr] 111 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stderr] 112 | | Node<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stderr] | |______________________________________________- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 172 | pub(crate) fn get_batch_witness(&self, idxs: Range) -> KZGBatchWitness { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 660 | pub(crate) fn get_by_path( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `hash` is never used [INFO] [stderr] --> src/node.rs:709:19 [INFO] [stderr] | [INFO] [stderr] 708 | impl KeyWithCounter { [INFO] [stderr] | ---------------------------------------------------------- method in this implementation [INFO] [stderr] 709 | pub(crate) fn hash(&self) -> Blake3Hash { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `batch_witness` is never read [INFO] [stderr] --> src/node.rs:738:16 [INFO] [stderr] | [INFO] [stderr] 730 | pub struct InternalNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 738 | pub(crate) batch_witness: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `InternalNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/node.rs:758:19 [INFO] [stderr] | [INFO] [stderr] 755 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stderr] 756 | | InternalNode<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stderr] | |______________________________________________________- associated function in this implementation [INFO] [stderr] 757 | { [INFO] [stderr] 758 | pub(crate) fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: field `batch_witness` is never read [INFO] [stderr] --> src/node.rs:1380:16 [INFO] [stderr] | [INFO] [stderr] 1373 | pub struct LeafNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stderr] | -------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 1380 | pub(crate) batch_witness: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `LeafNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/proofs.rs:481:15 [INFO] [stderr] | [INFO] [stderr] 481 | KeyExists(MembershipProof), [INFO] [stderr] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 481 | KeyExists(()), [INFO] [stderr] | ~~ [INFO] [stderr] [INFO] [stderr] warning: fields `left_path`, `right_path`, `witnesses`, `commitments`, and `bitvecs` are never read [INFO] [stderr] --> src/proofs.rs:487:16 [INFO] [stderr] | [INFO] [stderr] 486 | pub struct RangeProof { [INFO] [stderr] | ---------- fields in this struct [INFO] [stderr] 487 | pub(crate) left_path: RangePath, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 488 | pub(crate) right_path: RangePath, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 489 | pub(crate) witnesses: Vec>>, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 490 | pub(crate) commitments: Vec>>, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 491 | pub(crate) bitvecs: Vec, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `left` and `proof` are never read [INFO] [stderr] --> src/proofs.rs:511:16 [INFO] [stderr] | [INFO] [stderr] 509 | pub struct RangeResult<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 510 | { [INFO] [stderr] 511 | pub(crate) left: [u8; MAX_KEY_LEN], [INFO] [stderr] | ^^^^ [INFO] [stderr] 512 | pub(crate) right: [u8; MAX_KEY_LEN], [INFO] [stderr] 513 | pub(crate) proof: RangeProof, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `berkletree` (lib) generated 22 warnings (run `cargo fix --lib -p berkletree` to apply 6 suggestions) [INFO] [stderr] warning: unused import: `std::fmt::Debug` [INFO] [stderr] --> src/test_utils.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fmt::Debug; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `verifier` [INFO] [stderr] --> src/lib.rs:561:13 [INFO] [stderr] | [INFO] [stderr] 561 | let verifier = KZGVerifier::new(¶ms); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verifier` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/lib.rs:585:19 [INFO] [stderr] | [INFO] [stderr] 585 | for (key, value) in keys.iter().zip(values.iter()) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `verifier` [INFO] [stderr] --> src/lib.rs:605:13 [INFO] [stderr] | [INFO] [stderr] 605 | let verifier = KZGVerifier::new(¶ms); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verifier` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `proof` [INFO] [stderr] --> src/lib.rs:727:17 [INFO] [stderr] | [INFO] [stderr] 727 | let proof = tree [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_proof` [INFO] [stderr] [INFO] [stderr] warning: constant `RAND_SEED` is never used [INFO] [stderr] --> src/lib.rs:445:11 [INFO] [stderr] | [INFO] [stderr] 445 | const RAND_SEED: u64 = 42; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `berkletree` (lib test) generated 28 warnings (22 duplicates) (run `cargo fix --lib -p berkletree --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/berkletree-9e312543e89a51d0) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test tests::test_insert_no_dupes ... ok [INFO] [stdout] test tests::test_insert_with_dupes ... ok [INFO] [stdout] test tests::test_delete ... ok [INFO] [stdout] test tests::test_range ... ok [INFO] [stdout] test tests::test_get ... ok [INFO] [stderr] Doc-tests berkletree [INFO] [stdout] test tests::test_all_bigish ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 18.50s [INFO] [stdout] [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" "478bf598b725333e58f639997eba58dc08ffd5f02601735b2fa8ad16b34de381", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "478bf598b725333e58f639997eba58dc08ffd5f02601735b2fa8ad16b34de381", kill_on_drop: false }` [INFO] [stdout] 478bf598b725333e58f639997eba58dc08ffd5f02601735b2fa8ad16b34de381 [INFO] testing Sladuca/berkletree against try#5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b for pr-128254 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSladuca%2Fberkletree" "/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/Sladuca/berkletree on toolchain 5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Sladuca/berkletree [INFO] finished tweaking git repo https://github.com/Sladuca/berkletree [INFO] tweaked toml for git repo https://github.com/Sladuca/berkletree written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Sladuca/berkletree 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" "+5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b" "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" "+5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fde675ea4d4b80120b7b94e5497d4eac57a0721aab79fd990500d6cfa744bff8 [INFO] running `Command { std: "docker" "start" "-a" "fde675ea4d4b80120b7b94e5497d4eac57a0721aab79fd990500d6cfa744bff8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fde675ea4d4b80120b7b94e5497d4eac57a0721aab79fd990500d6cfa744bff8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fde675ea4d4b80120b7b94e5497d4eac57a0721aab79fd990500d6cfa744bff8", kill_on_drop: false }` [INFO] [stdout] fde675ea4d4b80120b7b94e5497d4eac57a0721aab79fd990500d6cfa744bff8 [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" "-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" "+5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] aed0de8ce398fc465ca326ab13ce93fac77b1010ff2e699d7cca52876b4cdf3c [INFO] running `Command { std: "docker" "start" "-a" "aed0de8ce398fc465ca326ab13ce93fac77b1010ff2e699d7cca52876b4cdf3c", kill_on_drop: false }` [INFO] [stderr] Compiling radium v0.6.2 [INFO] [stderr] Compiling proc-macro2 v1.0.28 [INFO] [stderr] Compiling tap v1.0.1 [INFO] [stderr] Compiling funty v1.2.0 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.74 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Compiling wyz v0.4.0 [INFO] [stderr] Compiling typenum v1.13.0 [INFO] [stderr] Compiling subtle v2.4.1 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling cc v1.0.69 [INFO] [stderr] Compiling arrayref v0.3.6 [INFO] [stderr] Compiling arrayvec v0.7.1 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Compiling bitvec v0.22.3 [INFO] [stderr] Compiling constant_time_eq v0.1.5 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling blake3 v1.0.0 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling thiserror-impl v1.0.26 [INFO] [stderr] Compiling ff v0.11.0 [INFO] [stderr] Compiling group v0.11.0 [INFO] [stderr] Compiling pairing v0.21.0 [INFO] [stderr] Compiling bls12_381 v0.6.0 [INFO] [stderr] Compiling thiserror v1.0.26 [INFO] [stderr] Compiling kzg v0.2.1 [INFO] [stderr] Compiling berkletree v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `bitvec::vec::BitVec` [INFO] [stdout] --> src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use bitvec::vec::BitVec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `either::Either` [INFO] [stdout] --> src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use either::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TryInto` and `process::Child` [INFO] [stdout] --> src/node.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | convert::{TryFrom, TryInto}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | process::Child, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContainsResult` and `RangeResult` [INFO] [stdout] --> src/node.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | ContainsResult, GetResult, InnerNodeProof, KVProof, MembershipProof, NonMembershipProof, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | RangeResult, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Scalar` [INFO] [stdout] --> src/proofs.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use bls12_381::{Bls12, Scalar}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `either::Either` [INFO] [stdout] --> src/proofs.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use either::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 161 | .verify::<'_, K, MAX_KEY_LEN>(key, value_hash, verifier) [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] = note: `#[warn(late_bound_lifetime_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:366:35 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 366 | left.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:370:41 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 370 | ) && right.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_ok` [INFO] [stdout] --> src/proofs.rs:144:14 [INFO] [stdout] | [INFO] [stdout] 144 | let (path_ok, prev_child_hash) = verify_path(None, &self.path, &self.commitments, verifier); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_ok` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leaf_proof` [INFO] [stdout] --> src/proofs.rs:381:17 [INFO] [stdout] | [INFO] [stdout] 381 | leaf_proof, [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `leaf_proof: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/proofs.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | key, [INFO] [stdout] | ^^^ help: try ignoring the field: `key: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/proofs.rs:383:17 [INFO] [stdout] | [INFO] [stdout] 383 | value, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/lib.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 63 | impl KeyWithCounter { [INFO] [stdout] | ---------------------------------------------------------- associated function in this implementation [INFO] [stdout] 64 | pub(crate) fn new(key: [u8; MAX_KEY_LEN], count: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_batch_witness` and `get_by_path` are never used [INFO] [stdout] --> src/node.rs:172:19 [INFO] [stdout] | [INFO] [stdout] 111 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] 112 | | Node<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stdout] | |______________________________________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 172 | pub(crate) fn get_batch_witness(&self, idxs: Range) -> KZGBatchWitness { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 660 | pub(crate) fn get_by_path( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `hash` is never used [INFO] [stdout] --> src/node.rs:709:19 [INFO] [stdout] | [INFO] [stdout] 708 | impl KeyWithCounter { [INFO] [stdout] | ---------------------------------------------------------- method in this implementation [INFO] [stdout] 709 | pub(crate) fn hash(&self) -> Blake3Hash { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `batch_witness` is never read [INFO] [stdout] --> src/node.rs:738:16 [INFO] [stdout] | [INFO] [stdout] 730 | pub struct InternalNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 738 | pub(crate) batch_witness: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InternalNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/node.rs:758:19 [INFO] [stdout] | [INFO] [stdout] 755 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] 756 | | InternalNode<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stdout] | |______________________________________________________- associated function in this implementation [INFO] [stdout] 757 | { [INFO] [stdout] 758 | pub(crate) fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `batch_witness` is never read [INFO] [stdout] --> src/node.rs:1380:16 [INFO] [stdout] | [INFO] [stdout] 1373 | pub struct LeafNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 1380 | pub(crate) batch_witness: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LeafNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/proofs.rs:481:15 [INFO] [stdout] | [INFO] [stdout] 481 | KeyExists(MembershipProof), [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 481 | KeyExists(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left_path`, `right_path`, `witnesses`, `commitments`, and `bitvecs` are never read [INFO] [stdout] --> src/proofs.rs:487:16 [INFO] [stdout] | [INFO] [stdout] 486 | pub struct RangeProof { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 487 | pub(crate) left_path: RangePath, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 488 | pub(crate) right_path: RangePath, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 489 | pub(crate) witnesses: Vec>>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 490 | pub(crate) commitments: Vec>>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 491 | pub(crate) bitvecs: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left` and `proof` are never read [INFO] [stdout] --> src/proofs.rs:511:16 [INFO] [stdout] | [INFO] [stdout] 509 | pub struct RangeResult<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 510 | { [INFO] [stdout] 511 | pub(crate) left: [u8; MAX_KEY_LEN], [INFO] [stdout] | ^^^^ [INFO] [stdout] 512 | pub(crate) right: [u8; MAX_KEY_LEN], [INFO] [stdout] 513 | pub(crate) proof: RangeProof, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.31s [INFO] running `Command { std: "docker" "inspect" "aed0de8ce398fc465ca326ab13ce93fac77b1010ff2e699d7cca52876b4cdf3c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aed0de8ce398fc465ca326ab13ce93fac77b1010ff2e699d7cca52876b4cdf3c", kill_on_drop: false }` [INFO] [stdout] aed0de8ce398fc465ca326ab13ce93fac77b1010ff2e699d7cca52876b4cdf3c [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" "-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" "+5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4b83124fe85f8fbaafe9f0f0e1515c9d317ff9198df7a3358656e3b09afe47e3 [INFO] running `Command { std: "docker" "start" "-a" "4b83124fe85f8fbaafe9f0f0e1515c9d317ff9198df7a3358656e3b09afe47e3", kill_on_drop: false }` [INFO] [stderr] Compiling fastrand v1.5.0 [INFO] [stdout] warning: unused import: `bitvec::vec::BitVec` [INFO] [stdout] --> src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use bitvec::vec::BitVec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `either::Either` [INFO] [stdout] --> src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use either::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TryInto` and `process::Child` [INFO] [stdout] --> src/node.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | convert::{TryFrom, TryInto}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | process::Child, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContainsResult` and `RangeResult` [INFO] [stdout] --> src/node.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | ContainsResult, GetResult, InnerNodeProof, KVProof, MembershipProof, NonMembershipProof, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | RangeResult, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Scalar` [INFO] [stdout] --> src/proofs.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use bls12_381::{Bls12, Scalar}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `either::Either` [INFO] [stdout] --> src/proofs.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use either::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 161 | .verify::<'_, K, MAX_KEY_LEN>(key, value_hash, verifier) [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] = note: `#[warn(late_bound_lifetime_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:366:35 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 366 | left.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:370:41 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 370 | ) && right.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_ok` [INFO] [stdout] --> src/proofs.rs:144:14 [INFO] [stdout] | [INFO] [stdout] 144 | let (path_ok, prev_child_hash) = verify_path(None, &self.path, &self.commitments, verifier); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_ok` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leaf_proof` [INFO] [stdout] --> src/proofs.rs:381:17 [INFO] [stdout] | [INFO] [stdout] 381 | leaf_proof, [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `leaf_proof: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/proofs.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | key, [INFO] [stdout] | ^^^ help: try ignoring the field: `key: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/proofs.rs:383:17 [INFO] [stdout] | [INFO] [stdout] 383 | value, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/lib.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 63 | impl KeyWithCounter { [INFO] [stdout] | ---------------------------------------------------------- associated function in this implementation [INFO] [stdout] 64 | pub(crate) fn new(key: [u8; MAX_KEY_LEN], count: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_batch_witness` and `get_by_path` are never used [INFO] [stdout] --> src/node.rs:172:19 [INFO] [stdout] | [INFO] [stdout] 111 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] 112 | | Node<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stdout] | |______________________________________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 172 | pub(crate) fn get_batch_witness(&self, idxs: Range) -> KZGBatchWitness { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 660 | pub(crate) fn get_by_path( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `hash` is never used [INFO] [stdout] --> src/node.rs:709:19 [INFO] [stdout] | [INFO] [stdout] 708 | impl KeyWithCounter { [INFO] [stdout] | ---------------------------------------------------------- method in this implementation [INFO] [stdout] 709 | pub(crate) fn hash(&self) -> Blake3Hash { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `batch_witness` is never read [INFO] [stdout] --> src/node.rs:738:16 [INFO] [stdout] | [INFO] [stdout] 730 | pub struct InternalNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 738 | pub(crate) batch_witness: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InternalNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/node.rs:758:19 [INFO] [stdout] | [INFO] [stdout] 755 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] 756 | | InternalNode<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stdout] | |______________________________________________________- associated function in this implementation [INFO] [stdout] 757 | { [INFO] [stdout] 758 | pub(crate) fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `batch_witness` is never read [INFO] [stdout] --> src/node.rs:1380:16 [INFO] [stdout] | [INFO] [stdout] 1373 | pub struct LeafNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 1380 | pub(crate) batch_witness: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LeafNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/proofs.rs:481:15 [INFO] [stdout] | [INFO] [stdout] 481 | KeyExists(MembershipProof), [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 481 | KeyExists(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left_path`, `right_path`, `witnesses`, `commitments`, and `bitvecs` are never read [INFO] [stdout] --> src/proofs.rs:487:16 [INFO] [stdout] | [INFO] [stdout] 486 | pub struct RangeProof { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 487 | pub(crate) left_path: RangePath, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 488 | pub(crate) right_path: RangePath, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 489 | pub(crate) witnesses: Vec>>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 490 | pub(crate) commitments: Vec>>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 491 | pub(crate) bitvecs: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left` and `proof` are never read [INFO] [stdout] --> src/proofs.rs:511:16 [INFO] [stdout] | [INFO] [stdout] 509 | pub struct RangeResult<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 510 | { [INFO] [stdout] 511 | pub(crate) left: [u8; MAX_KEY_LEN], [INFO] [stdout] | ^^^^ [INFO] [stdout] 512 | pub(crate) right: [u8; MAX_KEY_LEN], [INFO] [stdout] 513 | pub(crate) proof: RangeProof, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling berkletree v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `bitvec::vec::BitVec` [INFO] [stdout] --> src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use bitvec::vec::BitVec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `either::Either` [INFO] [stdout] --> src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use either::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TryInto` and `process::Child` [INFO] [stdout] --> src/node.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | convert::{TryFrom, TryInto}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | process::Child, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContainsResult` and `RangeResult` [INFO] [stdout] --> src/node.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | ContainsResult, GetResult, InnerNodeProof, KVProof, MembershipProof, NonMembershipProof, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | RangeResult, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Scalar` [INFO] [stdout] --> src/proofs.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use bls12_381::{Bls12, Scalar}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `either::Either` [INFO] [stdout] --> src/proofs.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use either::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Debug` [INFO] [stdout] --> src/test_utils.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::Debug; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 161 | .verify::<'_, K, MAX_KEY_LEN>(key, value_hash, verifier) [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] = note: `#[warn(late_bound_lifetime_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:366:35 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 366 | left.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stdout] --> src/proofs.rs:370:41 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stdout] | ------- the late bound lifetime parameter is introduced here [INFO] [stdout] ... [INFO] [stdout] 370 | ) && right.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #42868 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_ok` [INFO] [stdout] --> src/proofs.rs:144:14 [INFO] [stdout] | [INFO] [stdout] 144 | let (path_ok, prev_child_hash) = verify_path(None, &self.path, &self.commitments, verifier); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_ok` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leaf_proof` [INFO] [stdout] --> src/proofs.rs:381:17 [INFO] [stdout] | [INFO] [stdout] 381 | leaf_proof, [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `leaf_proof: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/proofs.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | key, [INFO] [stdout] | ^^^ help: try ignoring the field: `key: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/proofs.rs:383:17 [INFO] [stdout] | [INFO] [stdout] 383 | value, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verifier` [INFO] [stdout] --> src/lib.rs:561:13 [INFO] [stdout] | [INFO] [stdout] 561 | let verifier = KZGVerifier::new(¶ms); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/lib.rs:585:19 [INFO] [stdout] | [INFO] [stdout] 585 | for (key, value) in keys.iter().zip(values.iter()) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verifier` [INFO] [stdout] --> src/lib.rs:605:13 [INFO] [stdout] | [INFO] [stdout] 605 | let verifier = KZGVerifier::new(¶ms); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proof` [INFO] [stdout] --> src/lib.rs:727:17 [INFO] [stdout] | [INFO] [stdout] 727 | let proof = tree [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_proof` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/lib.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 63 | impl KeyWithCounter { [INFO] [stdout] | ---------------------------------------------------------- associated function in this implementation [INFO] [stdout] 64 | pub(crate) fn new(key: [u8; MAX_KEY_LEN], count: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_batch_witness` and `get_by_path` are never used [INFO] [stdout] --> src/node.rs:172:19 [INFO] [stdout] | [INFO] [stdout] 111 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] 112 | | Node<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stdout] | |______________________________________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 172 | pub(crate) fn get_batch_witness(&self, idxs: Range) -> KZGBatchWitness { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 660 | pub(crate) fn get_by_path( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `hash` is never used [INFO] [stdout] --> src/node.rs:709:19 [INFO] [stdout] | [INFO] [stdout] 708 | impl KeyWithCounter { [INFO] [stdout] | ---------------------------------------------------------- method in this implementation [INFO] [stdout] 709 | pub(crate) fn hash(&self) -> Blake3Hash { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `batch_witness` is never read [INFO] [stdout] --> src/node.rs:738:16 [INFO] [stdout] | [INFO] [stdout] 730 | pub struct InternalNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 738 | pub(crate) batch_witness: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InternalNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/node.rs:758:19 [INFO] [stdout] | [INFO] [stdout] 755 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] 756 | | InternalNode<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stdout] | |______________________________________________________- associated function in this implementation [INFO] [stdout] 757 | { [INFO] [stdout] 758 | pub(crate) fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `batch_witness` is never read [INFO] [stdout] --> src/node.rs:1380:16 [INFO] [stdout] | [INFO] [stdout] 1373 | pub struct LeafNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 1380 | pub(crate) batch_witness: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LeafNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/proofs.rs:481:15 [INFO] [stdout] | [INFO] [stdout] 481 | KeyExists(MembershipProof), [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 481 | KeyExists(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left_path`, `right_path`, `witnesses`, `commitments`, and `bitvecs` are never read [INFO] [stdout] --> src/proofs.rs:487:16 [INFO] [stdout] | [INFO] [stdout] 486 | pub struct RangeProof { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 487 | pub(crate) left_path: RangePath, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 488 | pub(crate) right_path: RangePath, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 489 | pub(crate) witnesses: Vec>>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 490 | pub(crate) commitments: Vec>>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 491 | pub(crate) bitvecs: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left` and `proof` are never read [INFO] [stdout] --> src/proofs.rs:511:16 [INFO] [stdout] | [INFO] [stdout] 509 | pub struct RangeResult<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 510 | { [INFO] [stdout] 511 | pub(crate) left: [u8; MAX_KEY_LEN], [INFO] [stdout] | ^^^^ [INFO] [stdout] 512 | pub(crate) right: [u8; MAX_KEY_LEN], [INFO] [stdout] 513 | pub(crate) proof: RangeProof, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RAND_SEED` is never used [INFO] [stdout] --> src/lib.rs:445:11 [INFO] [stdout] | [INFO] [stdout] 445 | const RAND_SEED: u64 = 42; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.16s [INFO] running `Command { std: "docker" "inspect" "4b83124fe85f8fbaafe9f0f0e1515c9d317ff9198df7a3358656e3b09afe47e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4b83124fe85f8fbaafe9f0f0e1515c9d317ff9198df7a3358656e3b09afe47e3", kill_on_drop: false }` [INFO] [stdout] 4b83124fe85f8fbaafe9f0f0e1515c9d317ff9198df7a3358656e3b09afe47e3 [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" "-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" "+5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8641c7c96cdfe526486f31da74755b1b06c70e607a5fe3f2cd9e9f35f970ccb1 [INFO] running `Command { std: "docker" "start" "-a" "8641c7c96cdfe526486f31da74755b1b06c70e607a5fe3f2cd9e9f35f970ccb1", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `bitvec::vec::BitVec` [INFO] [stderr] --> src/lib.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use bitvec::vec::BitVec; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `either::Either` [INFO] [stderr] --> src/lib.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use either::Either; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TryInto` and `process::Child` [INFO] [stderr] --> src/node.rs:6:24 [INFO] [stderr] | [INFO] [stderr] 6 | convert::{TryFrom, TryInto}, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 10 | process::Child, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ContainsResult` and `RangeResult` [INFO] [stderr] --> src/node.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | ContainsResult, GetResult, InnerNodeProof, KVProof, MembershipProof, NonMembershipProof, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 20 | RangeResult, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Scalar` [INFO] [stderr] --> src/proofs.rs:3:24 [INFO] [stderr] | [INFO] [stderr] 3 | use bls12_381::{Bls12, Scalar}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `either::Either` [INFO] [stderr] --> src/proofs.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use either::Either; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/proofs.rs:161:23 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stderr] | ------- the late bound lifetime parameter is introduced here [INFO] [stderr] ... [INFO] [stderr] 161 | .verify::<'_, K, MAX_KEY_LEN>(key, value_hash, verifier) [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] = note: `#[warn(late_bound_lifetime_arguments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/proofs.rs:366:35 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stderr] | ------- the late bound lifetime parameter is introduced here [INFO] [stderr] ... [INFO] [stderr] 366 | left.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] [INFO] [stderr] warning: cannot specify lifetime arguments explicitly if late bound lifetime parameters are present [INFO] [stderr] --> src/proofs.rs:370:41 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn verify<'params, K: AsRef<[u8]>, const MAX_KEY_LEN: usize>( [INFO] [stderr] | ------- the late bound lifetime parameter is introduced here [INFO] [stderr] ... [INFO] [stderr] 370 | ) && right.verify::<'params, [u8; MAX_KEY_LEN], MAX_KEY_LEN>( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #42868 [INFO] [stderr] [INFO] [stderr] warning: unused variable: `path_ok` [INFO] [stderr] --> src/proofs.rs:144:14 [INFO] [stderr] | [INFO] [stderr] 144 | let (path_ok, prev_child_hash) = verify_path(None, &self.path, &self.commitments, verifier); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_ok` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `leaf_proof` [INFO] [stderr] --> src/proofs.rs:381:17 [INFO] [stderr] | [INFO] [stderr] 381 | leaf_proof, [INFO] [stderr] | ^^^^^^^^^^ help: try ignoring the field: `leaf_proof: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/proofs.rs:382:17 [INFO] [stderr] | [INFO] [stderr] 382 | key, [INFO] [stderr] | ^^^ help: try ignoring the field: `key: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/proofs.rs:383:17 [INFO] [stderr] | [INFO] [stderr] 383 | value, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `value: _` [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/lib.rs:64:19 [INFO] [stderr] | [INFO] [stderr] 63 | impl KeyWithCounter { [INFO] [stderr] | ---------------------------------------------------------- associated function in this implementation [INFO] [stderr] 64 | pub(crate) fn new(key: [u8; MAX_KEY_LEN], count: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: methods `get_batch_witness` and `get_by_path` are never used [INFO] [stderr] --> src/node.rs:172:19 [INFO] [stderr] | [INFO] [stderr] 111 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stderr] 112 | | Node<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stderr] | |______________________________________________- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 172 | pub(crate) fn get_batch_witness(&self, idxs: Range) -> KZGBatchWitness { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 660 | pub(crate) fn get_by_path( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `hash` is never used [INFO] [stderr] --> src/node.rs:709:19 [INFO] [stderr] | [INFO] [stderr] 708 | impl KeyWithCounter { [INFO] [stderr] | ---------------------------------------------------------- method in this implementation [INFO] [stderr] 709 | pub(crate) fn hash(&self) -> Blake3Hash { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `batch_witness` is never read [INFO] [stderr] --> src/node.rs:738:16 [INFO] [stderr] | [INFO] [stderr] 730 | pub struct InternalNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 738 | pub(crate) batch_witness: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `InternalNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/node.rs:758:19 [INFO] [stderr] | [INFO] [stderr] 755 | / impl<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stderr] 756 | | InternalNode<'params, Q, MAX_KEY_LEN, MAX_VAL_LEN> [INFO] [stderr] | |______________________________________________________- associated function in this implementation [INFO] [stderr] 757 | { [INFO] [stderr] 758 | pub(crate) fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: field `batch_witness` is never read [INFO] [stderr] --> src/node.rs:1380:16 [INFO] [stderr] | [INFO] [stderr] 1373 | pub struct LeafNode<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stderr] | -------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 1380 | pub(crate) batch_witness: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `LeafNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/proofs.rs:481:15 [INFO] [stderr] | [INFO] [stderr] 481 | KeyExists(MembershipProof), [INFO] [stderr] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 481 | KeyExists(()), [INFO] [stderr] | ~~ [INFO] [stderr] [INFO] [stderr] warning: fields `left_path`, `right_path`, `witnesses`, `commitments`, and `bitvecs` are never read [INFO] [stderr] --> src/proofs.rs:487:16 [INFO] [stderr] | [INFO] [stderr] 486 | pub struct RangeProof { [INFO] [stderr] | ---------- fields in this struct [INFO] [stderr] 487 | pub(crate) left_path: RangePath, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 488 | pub(crate) right_path: RangePath, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 489 | pub(crate) witnesses: Vec>>, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 490 | pub(crate) commitments: Vec>>, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 491 | pub(crate) bitvecs: Vec, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `left` and `proof` are never read [INFO] [stderr] --> src/proofs.rs:511:16 [INFO] [stderr] | [INFO] [stderr] 509 | pub struct RangeResult<'params, const Q: usize, const MAX_KEY_LEN: usize, const MAX_VAL_LEN: usize> [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 510 | { [INFO] [stderr] 511 | pub(crate) left: [u8; MAX_KEY_LEN], [INFO] [stderr] | ^^^^ [INFO] [stderr] 512 | pub(crate) right: [u8; MAX_KEY_LEN], [INFO] [stderr] 513 | pub(crate) proof: RangeProof, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::Debug` [INFO] [stderr] --> src/test_utils.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fmt::Debug; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `verifier` [INFO] [stderr] --> src/lib.rs:561:13 [INFO] [stderr] | [INFO] [stderr] 561 | let verifier = KZGVerifier::new(¶ms); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verifier` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/lib.rs:585:19 [INFO] [stderr] | [INFO] [stderr] 585 | for (key, value) in keys.iter().zip(values.iter()) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `verifier` [INFO] [stderr] --> src/lib.rs:605:13 [INFO] [stderr] | [INFO] [stderr] 605 | let verifier = KZGVerifier::new(¶ms); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verifier` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `proof` [INFO] [stderr] --> src/lib.rs:727:17 [INFO] [stderr] | [INFO] [stderr] 727 | let proof = tree [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_proof` [INFO] [stderr] [INFO] [stderr] warning: constant `RAND_SEED` is never used [INFO] [stderr] --> src/lib.rs:445:11 [INFO] [stderr] | [INFO] [stderr] 445 | const RAND_SEED: u64 = 42; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `berkletree` (lib) generated 22 warnings (run `cargo fix --lib -p berkletree` to apply 6 suggestions) [INFO] [stderr] warning: `berkletree` (lib test) generated 28 warnings (22 duplicates) (run `cargo fix --lib -p berkletree --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/berkletree-9e312543e89a51d0) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test tests::test_insert_no_dupes ... ok [INFO] [stdout] test tests::test_delete ... ok [INFO] [stdout] test tests::test_insert_with_dupes ... ok [INFO] [stdout] test tests::test_range ... FAILED [INFO] [stdout] test tests::test_get ... ok [INFO] [stdout] test tests::test_all_bigish ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- tests::test_range stdout ---- [INFO] [stdout] (leaf) parent_key: None keys: [KeyWithCounter([1, 0, 0, 0], 0)] [INFO] [stdout] (leaf) parent_key: None keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1)] [INFO] [stdout] (leaf) parent_key: None keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: None keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2), KeyWithCounter([5, 0, 0, 0], 3)] [INFO] [stdout] (leaf) parent_key: None keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([14, 0, 0, 0], 5)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([14, 0, 0, 0], 5), KeyWithCounter([18, 0, 0, 0], 6)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([14, 0, 0, 0], 5), KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([14, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([20, 0, 0, 0], 8)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([14, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([20, 0, 0, 0], 8), KeyWithCounter([24, 0, 0, 0], 9)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([14, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([20, 0, 0, 0], 8), KeyWithCounter([24, 0, 0, 0], 9), KeyWithCounter([26, 0, 0, 0], 10)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([24, 0, 0, 0], 9)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([14, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([20, 0, 0, 0], 8)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([24, 0, 0, 0], 9)) keys: [KeyWithCounter([24, 0, 0, 0], 9), KeyWithCounter([26, 0, 0, 0], 10), KeyWithCounter([29, 0, 0, 0], 11)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([24, 0, 0, 0], 9)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([14, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([20, 0, 0, 0], 8)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([24, 0, 0, 0], 9)) keys: [KeyWithCounter([24, 0, 0, 0], 9), KeyWithCounter([26, 0, 0, 0], 10), KeyWithCounter([29, 0, 0, 0], 11), KeyWithCounter([35, 0, 0, 0], 12)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([24, 0, 0, 0], 9)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([14, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([20, 0, 0, 0], 8)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([24, 0, 0, 0], 9)) keys: [KeyWithCounter([24, 0, 0, 0], 9), KeyWithCounter([26, 0, 0, 0], 10), KeyWithCounter([29, 0, 0, 0], 11), KeyWithCounter([35, 0, 0, 0], 12), KeyWithCounter([38, 0, 0, 0], 13)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([24, 0, 0, 0], 9), KeyWithCounter([35, 0, 0, 0], 12)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([14, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([20, 0, 0, 0], 8)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([24, 0, 0, 0], 9)) keys: [KeyWithCounter([24, 0, 0, 0], 9), KeyWithCounter([26, 0, 0, 0], 10), KeyWithCounter([29, 0, 0, 0], 11)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([35, 0, 0, 0], 12)) keys: [KeyWithCounter([35, 0, 0, 0], 12), KeyWithCounter([38, 0, 0, 0], 13), KeyWithCounter([42, 0, 0, 0], 14)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([24, 0, 0, 0], 9), KeyWithCounter([35, 0, 0, 0], 12)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([14, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([20, 0, 0, 0], 8)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([24, 0, 0, 0], 9)) keys: [KeyWithCounter([24, 0, 0, 0], 9), KeyWithCounter([26, 0, 0, 0], 10), KeyWithCounter([29, 0, 0, 0], 11)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([35, 0, 0, 0], 12)) keys: [KeyWithCounter([35, 0, 0, 0], 12), KeyWithCounter([38, 0, 0, 0], 13), KeyWithCounter([42, 0, 0, 0], 14), KeyWithCounter([51, 0, 0, 0], 15)] [INFO] [stdout] outer(1, 1) [INFO] [stdout] outer(1, 1) [INFO] [stdout] (leaf) idxs: 1..2, node_size: 3 [INFO] [stdout] outer(0, 2) [INFO] [stdout] edge(1, true) [INFO] [stdout] (leaf) idxs: 1..3, node_size: 3 [INFO] [stdout] edge(1, false) [INFO] [stdout] (leaf) idxs: 0..1, node_size: 3 [INFO] [stdout] (leaf) idxs: 0..3, node_size: 3 [INFO] [stdout] (leaf) idxs: 0..3, node_size: 3 [INFO] [stdout] 0, expected [2, 0, 0, 0], got [2, 0, 0, 0] [INFO] [stdout] 1, expected [3, 0, 0, 0], got [3, 0, 0, 0] [INFO] [stdout] 2, expected [5, 0, 0, 0], got [5, 0, 0, 0] [INFO] [stdout] 3, expected [9, 0, 0, 0], got [9, 0, 0, 0] [INFO] [stdout] 4, expected [14, 0, 0, 0], got [14, 0, 0, 0] [INFO] [stdout] 5, expected [18, 0, 0, 0], got [18, 0, 0, 0] [INFO] [stdout] 6, expected [19, 0, 0, 0], got [19, 0, 0, 0] [INFO] [stdout] (leaf) parent_key: None keys: [KeyWithCounter([1, 0, 0, 0], 0)] [INFO] [stdout] (leaf) parent_key: None keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1)] [INFO] [stdout] (leaf) parent_key: None keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: None keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2), KeyWithCounter([5, 0, 0, 0], 3)] [INFO] [stdout] (leaf) parent_key: None keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([9, 0, 0, 0], 5)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([9, 0, 0, 0], 5), KeyWithCounter([18, 0, 0, 0], 6)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([9, 0, 0, 0], 5), KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([9, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([19, 0, 0, 0], 8)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([9, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([19, 0, 0, 0], 8), KeyWithCounter([19, 0, 0, 0], 9)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([9, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([19, 0, 0, 0], 8), KeyWithCounter([19, 0, 0, 0], 9), KeyWithCounter([19, 0, 0, 0], 10)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 9)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([9, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([19, 0, 0, 0], 8)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([19, 0, 0, 0], 9)) keys: [KeyWithCounter([19, 0, 0, 0], 9), KeyWithCounter([19, 0, 0, 0], 10), KeyWithCounter([20, 0, 0, 0], 11)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 9)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([9, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([19, 0, 0, 0], 8)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([19, 0, 0, 0], 9)) keys: [KeyWithCounter([19, 0, 0, 0], 9), KeyWithCounter([19, 0, 0, 0], 10), KeyWithCounter([20, 0, 0, 0], 11), KeyWithCounter([24, 0, 0, 0], 12)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 9)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([9, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([19, 0, 0, 0], 8)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([19, 0, 0, 0], 9)) keys: [KeyWithCounter([19, 0, 0, 0], 9), KeyWithCounter([19, 0, 0, 0], 10), KeyWithCounter([20, 0, 0, 0], 11), KeyWithCounter([24, 0, 0, 0], 12), KeyWithCounter([26, 0, 0, 0], 13)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 9), KeyWithCounter([24, 0, 0, 0], 12)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([9, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([19, 0, 0, 0], 8)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([19, 0, 0, 0], 9)) keys: [KeyWithCounter([19, 0, 0, 0], 9), KeyWithCounter([19, 0, 0, 0], 10), KeyWithCounter([20, 0, 0, 0], 11)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([24, 0, 0, 0], 12)) keys: [KeyWithCounter([24, 0, 0, 0], 12), KeyWithCounter([26, 0, 0, 0], 13), KeyWithCounter([29, 0, 0, 0], 14)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 9), KeyWithCounter([24, 0, 0, 0], 12)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([9, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([19, 0, 0, 0], 8)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([19, 0, 0, 0], 9)) keys: [KeyWithCounter([19, 0, 0, 0], 9), KeyWithCounter([19, 0, 0, 0], 10), KeyWithCounter([20, 0, 0, 0], 11)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([24, 0, 0, 0], 12)) keys: [KeyWithCounter([24, 0, 0, 0], 12), KeyWithCounter([26, 0, 0, 0], 13), KeyWithCounter([29, 0, 0, 0], 14), KeyWithCounter([35, 0, 0, 0], 15)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 9), KeyWithCounter([24, 0, 0, 0], 12)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([9, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([19, 0, 0, 0], 8)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([19, 0, 0, 0], 9)) keys: [KeyWithCounter([19, 0, 0, 0], 9), KeyWithCounter([19, 0, 0, 0], 10), KeyWithCounter([20, 0, 0, 0], 11)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([24, 0, 0, 0], 12)) keys: [KeyWithCounter([24, 0, 0, 0], 12), KeyWithCounter([26, 0, 0, 0], 13), KeyWithCounter([29, 0, 0, 0], 14), KeyWithCounter([35, 0, 0, 0], 15), KeyWithCounter([38, 0, 0, 0], 16)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([19, 0, 0, 0], 9)] [INFO] [stdout] (internal) parent key: Some(KeyWithCounter([0, 0, 0, 0], 0)), keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([9, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([19, 0, 0, 0], 8)] [INFO] [stdout] (internal) parent key: Some(KeyWithCounter([19, 0, 0, 0], 9)), keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([24, 0, 0, 0], 12), KeyWithCounter([35, 0, 0, 0], 15)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([19, 0, 0, 0], 9), KeyWithCounter([19, 0, 0, 0], 10), KeyWithCounter([20, 0, 0, 0], 11)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([24, 0, 0, 0], 12)) keys: [KeyWithCounter([24, 0, 0, 0], 12), KeyWithCounter([26, 0, 0, 0], 13), KeyWithCounter([29, 0, 0, 0], 14)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([35, 0, 0, 0], 15)) keys: [KeyWithCounter([35, 0, 0, 0], 15), KeyWithCounter([38, 0, 0, 0], 16), KeyWithCounter([42, 0, 0, 0], 17)] [INFO] [stdout] (internal) parent key: None, keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([19, 0, 0, 0], 9)] [INFO] [stdout] (internal) parent key: Some(KeyWithCounter([0, 0, 0, 0], 0)), keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([18, 0, 0, 0], 6)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([1, 0, 0, 0], 0), KeyWithCounter([2, 0, 0, 0], 1), KeyWithCounter([3, 0, 0, 0], 2)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([5, 0, 0, 0], 3)) keys: [KeyWithCounter([5, 0, 0, 0], 3), KeyWithCounter([9, 0, 0, 0], 4), KeyWithCounter([9, 0, 0, 0], 5)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([18, 0, 0, 0], 6)) keys: [KeyWithCounter([18, 0, 0, 0], 6), KeyWithCounter([19, 0, 0, 0], 7), KeyWithCounter([19, 0, 0, 0], 8)] [INFO] [stdout] (internal) parent key: Some(KeyWithCounter([19, 0, 0, 0], 9)), keys: [KeyWithCounter([0, 0, 0, 0], 0), KeyWithCounter([24, 0, 0, 0], 12), KeyWithCounter([35, 0, 0, 0], 15)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([0, 0, 0, 0], 0)) keys: [KeyWithCounter([19, 0, 0, 0], 9), KeyWithCounter([19, 0, 0, 0], 10), KeyWithCounter([20, 0, 0, 0], 11)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([24, 0, 0, 0], 12)) keys: [KeyWithCounter([24, 0, 0, 0], 12), KeyWithCounter([26, 0, 0, 0], 13), KeyWithCounter([29, 0, 0, 0], 14)] [INFO] [stdout] (leaf) parent_key: Some(KeyWithCounter([35, 0, 0, 0], 15)) keys: [KeyWithCounter([35, 0, 0, 0], 15), KeyWithCounter([38, 0, 0, 0], 16), KeyWithCounter([42, 0, 0, 0], 17), KeyWithCounter([51, 0, 0, 0], 18)] [INFO] [stdout] outer(0, 0) [INFO] [stdout] outer(1, 1) [INFO] [stdout] outer(2, 2) [INFO] [stdout] (leaf) idxs: 2..3, node_size: 3 [INFO] [stdout] thread 'tests::test_range' panicked at src/lib.rs:685:9: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: [6, 0, 0, 0] [INFO] [stdout] right: [5, 0, 0, 0] [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5568975bd255 - std::backtrace_rs::backtrace::libunwind::trace::h68acc96dd29bfb25 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5 [INFO] [stdout] 1: 0x5568975bd255 - std::backtrace_rs::backtrace::trace_unsynchronized::hc833f810d39d5258 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x5568975bd255 - std::sys::backtrace::_print_fmt::h5f23caa5b7652308 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5568975bd255 - ::fmt::hc81f55a2b3efffd1 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5568975e4d8b - core::fmt::rt::Argument::fmt::h731d8ba6b9c446d6 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5568975e4d8b - core::fmt::write::h6e5816e68b47f713 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/core/src/fmt/mod.rs:1178:21 [INFO] [stdout] 6: 0x5568975ba61f - std::io::Write::write_fmt::h3726facc0aa8eb67 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/io/mod.rs:1823:15 [INFO] [stdout] 7: 0x5568975bea71 - std::sys::backtrace::BacktraceLock::print::hb98272574ac3b700 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 8: 0x5568975bea71 - std::panicking::default_hook::{{closure}}::h979aa01ca70f7f8f [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/panicking.rs:266:22 [INFO] [stdout] 9: 0x5568975be618 - std::panicking::default_hook::h17e52f086133e6fd [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/panicking.rs:290:9 [INFO] [stdout] 10: 0x556897529f5a - as core::ops::function::Fn>::call::h4e1615f02d9f709a [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/alloc/src/boxed.rs:2162:9 [INFO] [stdout] 11: 0x556897529f5a - test::test_main::{{closure}}::hc8df444856fcb257 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/test/src/lib.rs:132:21 [INFO] [stdout] 12: 0x5568975bf37f - as core::ops::function::Fn>::call::hac606c4d68b970a6 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/alloc/src/boxed.rs:2162:9 [INFO] [stdout] 13: 0x5568975bf37f - std::panicking::rust_panic_with_hook::h694bfcec6451de5a [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/panicking.rs:805:13 [INFO] [stdout] 14: 0x5568975befa7 - std::panicking::begin_panic_handler::{{closure}}::hbd9f22f307951c96 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/panicking.rs:671:13 [INFO] [stdout] 15: 0x5568975bd719 - std::sys::backtrace::__rust_end_short_backtrace::h6e4502eb3c3e7834 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/sys/backtrace.rs:170:18 [INFO] [stdout] 16: 0x5568975bec34 - rust_begin_unwind [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/panicking.rs:662:5 [INFO] [stdout] 17: 0x5568975e3363 - core::panicking::panic_fmt::ha6b90685af50061f [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/core/src/panicking.rs:74:14 [INFO] [stdout] 18: 0x5568975e372e - core::panicking::assert_failed_inner::h04f590ce609aabea [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/core/src/panicking.rs:412:17 [INFO] [stdout] 19: 0x5568974c71ce - core::panicking::assert_failed::h50dc83ce62451c32 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/core/src/panicking.rs:367:5 [INFO] [stdout] 20: 0x5568974f0765 - berkletree::tests::test_range::h2085f108d3d78ca8 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:685:9 [INFO] [stdout] 21: 0x5568974ef377 - berkletree::tests::test_range::{{closure}}::h971a06e897437838 [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:603:20 [INFO] [stdout] 22: 0x5568974c3876 - core::ops::function::FnOnce::call_once::hf18925883394ca64 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x55689752eadb - core::ops::function::FnOnce::call_once::h321fab3f659b8f1c [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x55689752eadb - test::__rust_begin_short_backtrace::h7bcdd7ef45d5d11d [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/test/src/lib.rs:620:18 [INFO] [stdout] 25: 0x55689752e2f5 - test::run_test_in_process::{{closure}}::h7e5c4c77b843c962 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/test/src/lib.rs:643:60 [INFO] [stdout] 26: 0x55689752e2f5 - as core::ops::function::FnOnce<()>>::call_once::h9465365bda0c96e1 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 27: 0x55689752e2f5 - std::panicking::try::do_call::h464859d60fe36ac8 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/panicking.rs:554:40 [INFO] [stdout] 28: 0x55689752e2f5 - std::panicking::try::h10bb685f1ad0ff38 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/panicking.rs:518:19 [INFO] [stdout] 29: 0x55689752e2f5 - std::panic::catch_unwind::hf3392dbe1556c5c7 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/panic.rs:345:14 [INFO] [stdout] 30: 0x55689752e2f5 - test::run_test_in_process::hc7c0ab6dab190e49 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/test/src/lib.rs:643:27 [INFO] [stdout] 31: 0x55689752e2f5 - test::run_test::{{closure}}::hdb2183b5de946a08 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/test/src/lib.rs:564:43 [INFO] [stdout] 32: 0x5568974f3bc4 - test::run_test::{{closure}}::h8dcd9e4e5e3fbe5f [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/test/src/lib.rs:594:41 [INFO] [stdout] 33: 0x5568974f3bc4 - std::sys::backtrace::__rust_begin_short_backtrace::h41bf17e9b9ace8bc [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/sys/backtrace.rs:154:18 [INFO] [stdout] 34: 0x5568974f7392 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h63bd96fcdd52032f [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/thread/mod.rs:524:17 [INFO] [stdout] 35: 0x5568974f7392 - as core::ops::function::FnOnce<()>>::call_once::ha8ff5ca2e19c8b3f [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 36: 0x5568974f7392 - std::panicking::try::do_call::h2c72967242944c46 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/panicking.rs:554:40 [INFO] [stdout] 37: 0x5568974f7392 - std::panicking::try::h84beb938f6030c53 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/panicking.rs:518:19 [INFO] [stdout] 38: 0x5568974f7392 - std::panic::catch_unwind::hca4383a7a644e749 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/panic.rs:345:14 [INFO] [stdout] 39: 0x5568974f7392 - std::thread::Builder::spawn_unchecked_::{{closure}}::h88915884a74f8e2a [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/thread/mod.rs:523:30 [INFO] [stdout] 40: 0x5568974f7392 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4c032c9efdb7212a [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 41: 0x5568975c34db - as core::ops::function::FnOnce>::call_once::h809cb44187f4e360 [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/alloc/src/boxed.rs:2148:9 [INFO] [stdout] 42: 0x5568975c34db - as core::ops::function::FnOnce>::call_once::h670f08f0ab61db1b [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/alloc/src/boxed.rs:2148:9 [INFO] [stdout] 43: 0x5568975c34db - std::sys::pal::unix::thread::Thread::new::thread_start::hee2b0396d7ed5bcb [INFO] [stdout] at /rustc/5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b/library/std/src/sys/pal/unix/thread.rs:105:17 [INFO] [stdout] 44: 0x7f2b048e6ac3 - [INFO] [stdout] 45: 0x7f2b04977a04 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] tests::test_range [INFO] [stdout] [INFO] [stdout] test result: FAILED. 5 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 16.53s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] running `Command { std: "docker" "inspect" "8641c7c96cdfe526486f31da74755b1b06c70e607a5fe3f2cd9e9f35f970ccb1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8641c7c96cdfe526486f31da74755b1b06c70e607a5fe3f2cd9e9f35f970ccb1", kill_on_drop: false }` [INFO] [stdout] 8641c7c96cdfe526486f31da74755b1b06c70e607a5fe3f2cd9e9f35f970ccb1