[INFO] fetching crate ab-merkle-tree 0.2.0...
[INFO] checking ab-merkle-tree-0.2.0 against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6 for pr-133502-30
[INFO] extracting crate ab-merkle-tree 0.2.0 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate ab-merkle-tree 0.2.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ab-merkle-tree 0.2.0
[INFO] tweaked toml for crates.io crate ab-merkle-tree 0.2.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ab-merkle-tree 0.2.0 on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ab-merkle-tree 0.2.0 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0aba3202c583fd51ff86a7c0855c468737db31575124f465df76ee213d1c34f0
[INFO] running `Command { std: "docker" "start" "0aba3202c583fd51ff86a7c0855c468737db31575124f465df76ee213d1c34f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0aba3202c583fd51ff86a7c0855c468737db31575124f465df76ee213d1c34f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0aba3202c583fd51ff86a7c0855c468737db31575124f465df76ee213d1c34f0" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0aba3202c583fd51ff86a7c0855c468737db31575124f465df76ee213d1c34f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0aba3202c583fd51ff86a7c0855c468737db31575124f465df76ee213d1c34f0" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking either v1.17.0
[INFO] [stderr]    Compiling cc v1.4.3
[INFO] [stderr]     Checking constant_time_eq v0.4.2
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]     Checking chacha20 v0.10.1
[INFO] [stderr]    Compiling zerocopy-derive v0.8.56
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]    Compiling blake3 v1.8.6
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]     Checking zerocopy v0.8.56
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]     Checking ab-blake3 v0.2.0
[INFO] [stderr]     Checking ab-merkle-tree v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]   --> src/lib.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     generic_const_args,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]    |
[INFO] [stdout]    = note: removed in 1.100.0
[INFO] [stdout]    = note: renamed to `gca_const_items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]   --> src/lib.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     macroless_generic_const_args,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]    |
[INFO] [stdout]    = note: removed in 1.100.0
[INFO] [stdout]    = note: renamed to `gca_macroless_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]   --> src/lib.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     min_generic_const_args,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]    |
[INFO] [stdout]    = note: removed in 1.100.0
[INFO] [stdout]    = note: renamed to `gca_min_const_items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]   --> src/balanced.rs:62:54
[INFO] [stdout]    |
[INFO] [stdout] 62 |     tree: [[u8; OUT_LEN]; TREE_SIZE_WITHOUT_LEAVES::<N>],
[INFO] [stdout]    |                                                      ^ cannot perform const operation using `N`
[INFO] [stdout]    |
[INFO] [stdout]    = help: const parameters may only be used as standalone arguments here, i.e. `N`
[INFO] [stdout]    = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]    = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/balanced.rs:112:85
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     .cast::<[MaybeUninit<[u8; OUT_LEN]>; TREE_SIZE_WITHOUT_LEAVES::<N>]>()
[INFO] [stdout]     |                                                                                     ^ cannot perform const operation using `N`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `N`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/balanced.rs:143:76
[INFO] [stdout]     |
[INFO] [stdout] 143 |         tree: &mut [MaybeUninit<[u8; OUT_LEN]>; TREE_SIZE_WITHOUT_LEAVES::<N>],
[INFO] [stdout]     |                                                                            ^ cannot perform const operation using `N`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `N`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/balanced.rs:246:96
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let mut stack = [[[0u8; OUT_LEN]; BATCH_HASH_NUM_BLOCKS]; ROOT_ONLY_LARGE_STACK_SIZE::<N>];
[INFO] [stdout]     |                                                                                                ^ cannot perform const operation using `N`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `N`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/balanced.rs:316:50
[INFO] [stdout]     |
[INFO] [stdout] 316 |         proof: &[[u8; OUT_LEN]; PROOF_ELEMENTS::<N>],
[INFO] [stdout]     |                                                  ^ cannot perform const operation using `N`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `N`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/balanced.rs:345:58
[INFO] [stdout]     |
[INFO] [stdout] 345 |     tree: &'a [[u8; OUT_LEN]; TREE_SIZE_WITHOUT_LEAVES::<N>],
[INFO] [stdout]     |                                                          ^ cannot perform const operation using `N`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `N`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/balanced.rs:351:50
[INFO] [stdout]     |
[INFO] [stdout] 351 |     type Item = [[u8; OUT_LEN]; PROOF_ELEMENTS::<N>];
[INFO] [stdout]     |                                                  ^ cannot perform const operation using `N`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `N`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]   --> src/mmr.rs:61:44
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub peaks: [[u8; OUT_LEN]; NUM_PEAKS::<MAX_N>],
[INFO] [stdout]    |                                            ^^^^^ cannot perform const operation using `MAX_N`
[INFO] [stdout]    |
[INFO] [stdout]    = help: const parameters may only be used as standalone arguments here, i.e. `MAX_N`
[INFO] [stdout]    = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]    = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]   --> src/mmr.rs:79:45
[INFO] [stdout]    |
[INFO] [stdout] 79 |     [u8; MERKLE_MOUNTAIN_RANGE_BYTES_SIZE::<MAX_N>],
[INFO] [stdout]    |                                             ^^^^^ cannot perform const operation using `MAX_N`
[INFO] [stdout]    |
[INFO] [stdout]    = help: const parameters may only be used as standalone arguments here, i.e. `MAX_N`
[INFO] [stdout]    = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]    = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]   --> src/mmr.rs:89:69
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl<const MAX_N: u64> From<[u8; MERKLE_MOUNTAIN_RANGE_BYTES_SIZE::<MAX_N>]>
[INFO] [stdout]    |                                                                     ^^^^^ cannot perform const operation using `MAX_N`
[INFO] [stdout]    |
[INFO] [stdout]    = help: const parameters may only be used as standalone arguments here, i.e. `MAX_N`
[INFO] [stdout]    = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]    = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]   --> src/mmr.rs:92:60
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn from(value: [u8; MERKLE_MOUNTAIN_RANGE_BYTES_SIZE::<MAX_N>]) -> Self {
[INFO] [stdout]    |                                                            ^^^^^ cannot perform const operation using `MAX_N`
[INFO] [stdout]    |
[INFO] [stdout]    = help: const parameters may only be used as standalone arguments here, i.e. `MAX_N`
[INFO] [stdout]    = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]    = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]   --> src/mmr.rs:98:49
[INFO] [stdout]    |
[INFO] [stdout] 98 |     for [u8; MERKLE_MOUNTAIN_RANGE_BYTES_SIZE::<MAX_N>]
[INFO] [stdout]    |                                                 ^^^^^ cannot perform const operation using `MAX_N`
[INFO] [stdout]    |
[INFO] [stdout]    = help: const parameters may only be used as standalone arguments here, i.e. `MAX_N`
[INFO] [stdout]    = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]    = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/mmr.rs:106:59
[INFO] [stdout]     |
[INFO] [stdout] 106 |     type Target = [u8; MERKLE_MOUNTAIN_RANGE_BYTES_SIZE::<MAX_N>];
[INFO] [stdout]     |                                                           ^^^^^ cannot perform const operation using `MAX_N`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `MAX_N`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/mmr.rs:135:41
[INFO] [stdout]     |
[INFO] [stdout] 135 |     stack: [[u8; OUT_LEN]; STACK_SIZE::<MAX_N>],
[INFO] [stdout]     |                                         ^^^^^ cannot perform const operation using `MAX_N`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `MAX_N`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/mmr.rs:392:78
[INFO] [stdout]     |
[INFO] [stdout] 392 |         proof: &'proof mut [MaybeUninit<[u8; OUT_LEN]>; MAX_PROOF_ELEMENTS::<MAX_N>],
[INFO] [stdout]     |                                                                              ^^^^^ cannot perform const operation using `MAX_N`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `MAX_N`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/mmr.rs:407:71
[INFO] [stdout]     |
[INFO] [stdout] 407 |         proof: &mut [MaybeUninit<[u8; OUT_LEN]>; MAX_PROOF_ELEMENTS::<MAX_N>],
[INFO] [stdout]     |                                                                       ^^^^^ cannot perform const operation using `MAX_N`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `MAX_N`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]   --> src/sparse.rs:75:34
[INFO] [stdout]    |
[INFO] [stdout] 75 |     [(); ENSURE_SUPPORTED_BITS::<BITS>]:,
[INFO] [stdout]    |                                  ^^^^ cannot perform const operation using `BITS`
[INFO] [stdout]    |
[INFO] [stdout]    = help: const parameters may only be used as standalone arguments here, i.e. `BITS`
[INFO] [stdout]    = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]    = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/sparse.rs:169:50
[INFO] [stdout]     |
[INFO] [stdout] 169 |         stack: &mut [[u8; OUT_LEN]; STACK_SIZE::<BITS>],
[INFO] [stdout]     |                                                  ^^^^ cannot perform const operation using `BITS`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `BITS`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/sparse.rs:238:50
[INFO] [stdout]     |
[INFO] [stdout] 238 |         proof: &[[u8; OUT_LEN]; PROOF_ELEMENTS::<BITS>],
[INFO] [stdout]     |                                                  ^^^^ cannot perform const operation using `BITS`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `BITS`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]   --> src/unbalanced.rs:62:55
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut stack = [[0u8; OUT_LEN]; STACK_SIZE::<MAX_N>];
[INFO] [stdout]    |                                                       ^^^^^ cannot perform const operation using `MAX_N`
[INFO] [stdout]    |
[INFO] [stdout]    = help: const parameters may only be used as standalone arguments here, i.e. `MAX_N`
[INFO] [stdout]    = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]    = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/unbalanced.rs:130:44
[INFO] [stdout]     |
[INFO] [stdout] 130 |         [(); SUPPORTED_LEAVES_ARRAY_SIZE::<N>]:,
[INFO] [stdout]     |                                            ^ cannot perform const operation using `N`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `N`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/unbalanced.rs:133:56
[INFO] [stdout]     |
[INFO] [stdout] 133 |             Self::compute_root_only::<{ USIZE_TO_U64::<N> }, _, _>(leaves.iter().copied());
[INFO] [stdout]     |                                                        ^ cannot perform const operation using `N`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `N`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/unbalanced.rs:189:74
[INFO] [stdout]     |
[INFO] [stdout] 189 |         proof: &'proof mut [MaybeUninit<[u8; OUT_LEN]>; PROOF_ELEMENTS::<MAX_N>],
[INFO] [stdout]     |                                                                          ^^^^^ cannot perform const operation using `MAX_N`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `MAX_N`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/unbalanced.rs:214:50
[INFO] [stdout]     |
[INFO] [stdout] 214 |         stack: &mut [[u8; OUT_LEN]; STACK_SIZE::<MAX_N>],
[INFO] [stdout]     |                                                  ^^^^^ cannot perform const operation using `MAX_N`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `MAX_N`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: generic parameters may not be used in const operations
[INFO] [stdout]    --> src/unbalanced.rs:215:67
[INFO] [stdout]     |
[INFO] [stdout] 215 |         proof: &mut [MaybeUninit<[u8; OUT_LEN]>; PROOF_ELEMENTS::<MAX_N>],
[INFO] [stdout]     |                                                                   ^^^^^ cannot perform const operation using `MAX_N`
[INFO] [stdout]     |
[INFO] [stdout]     = help: const parameters may only be used as standalone arguments here, i.e. `MAX_N`
[INFO] [stdout]     = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions
[INFO] [stdout]     = help: alternatively, you can use `#![feature(gca_const_items)]` and extract the expression into a `type const` item
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking criterion-plot v0.8.2
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]   --> src/balanced.rs:62:27
[INFO] [stdout]    |
[INFO] [stdout] 62 |     tree: [[u8; OUT_LEN]; TREE_SIZE_WITHOUT_LEAVES::<N>],
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `N` declared on the constant `TREE_SIZE_WITHOUT_LEAVES`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a const generic parameter in `TREE_SIZE_WITHOUT_LEAVES`
[INFO] [stdout]   --> src/balanced.rs:15:32
[INFO] [stdout]    |
[INFO] [stdout] 15 | const TREE_SIZE_WITHOUT_LEAVES<const N: usize>: usize = {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^ required by this const generic parameter in `TREE_SIZE_WITHOUT_LEAVES`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/balanced.rs:345:31
[INFO] [stdout]     |
[INFO] [stdout] 345 |     tree: &'a [[u8; OUT_LEN]; TREE_SIZE_WITHOUT_LEAVES::<N>],
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `N` declared on the constant `TREE_SIZE_WITHOUT_LEAVES`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `TREE_SIZE_WITHOUT_LEAVES`
[INFO] [stdout]    --> src/balanced.rs:15:32
[INFO] [stdout]     |
[INFO] [stdout]  15 | const TREE_SIZE_WITHOUT_LEAVES<const N: usize>: usize = {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ required by this const generic parameter in `TREE_SIZE_WITHOUT_LEAVES`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/balanced.rs:351:33
[INFO] [stdout]     |
[INFO] [stdout] 351 |     type Item = [[u8; OUT_LEN]; PROOF_ELEMENTS::<N>];
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `N` declared on the constant `PROOF_ELEMENTS`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `balanced::PROOF_ELEMENTS`
[INFO] [stdout]    --> src/balanced.rs:30:26
[INFO] [stdout]     |
[INFO] [stdout]  30 | pub const PROOF_ELEMENTS<const N: usize>: usize = N.ilog2() as usize;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^ required by this const generic parameter in `PROOF_ELEMENTS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]   --> src/mmr.rs:61:32
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub peaks: [[u8; OUT_LEN]; NUM_PEAKS::<MAX_N>],
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `MAX_N` declared on the constant `NUM_PEAKS`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a const generic parameter in `NUM_PEAKS`
[INFO] [stdout]   --> src/mmr.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const NUM_PEAKS<const MAX_N: u64>: usize = MAX_N.next_power_of_two().ilog2() as usize;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^ required by this const generic parameter in `NUM_PEAKS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]   --> src/mmr.rs:79:10
[INFO] [stdout]    |
[INFO] [stdout] 79 |     [u8; MERKLE_MOUNTAIN_RANGE_BYTES_SIZE::<MAX_N>],
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `MAX_N` declared on the constant `MERKLE_MOUNTAIN_RANGE_BYTES_SIZE`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a const generic parameter in `MERKLE_MOUNTAIN_RANGE_BYTES_SIZE`
[INFO] [stdout]   --> src/mmr.rs:28:40
[INFO] [stdout]    |
[INFO] [stdout] 28 | const MERKLE_MOUNTAIN_RANGE_BYTES_SIZE<const MAX_N: u64>: usize =
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^ required by this const generic parameter in `MERKLE_MOUNTAIN_RANGE_BYTES_SIZE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/mmr.rs:135:28
[INFO] [stdout]     |
[INFO] [stdout] 135 |     stack: [[u8; OUT_LEN]; STACK_SIZE::<MAX_N>],
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `MAX_N` declared on the constant `STACK_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `mmr::STACK_SIZE`
[INFO] [stdout]    --> src/mmr.rs:16:18
[INFO] [stdout]     |
[INFO] [stdout]  16 | const STACK_SIZE<const MAX_N: u64>: usize = {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^ required by this const generic parameter in `STACK_SIZE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]   --> src/mmr.rs:92:25
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn from(value: [u8; MERKLE_MOUNTAIN_RANGE_BYTES_SIZE::<MAX_N>]) -> Self {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `MAX_N` declared on the constant `MERKLE_MOUNTAIN_RANGE_BYTES_SIZE`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a const generic parameter in `MERKLE_MOUNTAIN_RANGE_BYTES_SIZE`
[INFO] [stdout]   --> src/mmr.rs:28:40
[INFO] [stdout]    |
[INFO] [stdout] 28 | const MERKLE_MOUNTAIN_RANGE_BYTES_SIZE<const MAX_N: u64>: usize =
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^ required by this const generic parameter in `MERKLE_MOUNTAIN_RANGE_BYTES_SIZE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]   --> src/mmr.rs:89:34
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl<const MAX_N: u64> From<[u8; MERKLE_MOUNTAIN_RANGE_BYTES_SIZE::<MAX_N>]>
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `MAX_N` declared on the constant `MERKLE_MOUNTAIN_RANGE_BYTES_SIZE`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a const generic parameter in `MERKLE_MOUNTAIN_RANGE_BYTES_SIZE`
[INFO] [stdout]   --> src/mmr.rs:28:40
[INFO] [stdout]    |
[INFO] [stdout] 28 | const MERKLE_MOUNTAIN_RANGE_BYTES_SIZE<const MAX_N: u64>: usize =
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^ required by this const generic parameter in `MERKLE_MOUNTAIN_RANGE_BYTES_SIZE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]   --> src/mmr.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 |     for [u8; MERKLE_MOUNTAIN_RANGE_BYTES_SIZE::<MAX_N>]
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `MAX_N` declared on the constant `MERKLE_MOUNTAIN_RANGE_BYTES_SIZE`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a const generic parameter in `MERKLE_MOUNTAIN_RANGE_BYTES_SIZE`
[INFO] [stdout]   --> src/mmr.rs:28:40
[INFO] [stdout]    |
[INFO] [stdout] 28 | const MERKLE_MOUNTAIN_RANGE_BYTES_SIZE<const MAX_N: u64>: usize =
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^ required by this const generic parameter in `MERKLE_MOUNTAIN_RANGE_BYTES_SIZE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/mmr.rs:106:24
[INFO] [stdout]     |
[INFO] [stdout] 106 |     type Target = [u8; MERKLE_MOUNTAIN_RANGE_BYTES_SIZE::<MAX_N>];
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `MAX_N` declared on the constant `MERKLE_MOUNTAIN_RANGE_BYTES_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `MERKLE_MOUNTAIN_RANGE_BYTES_SIZE`
[INFO] [stdout]    --> src/mmr.rs:28:40
[INFO] [stdout]     |
[INFO] [stdout]  28 | const MERKLE_MOUNTAIN_RANGE_BYTES_SIZE<const MAX_N: u64>: usize =
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^ required by this const generic parameter in `MERKLE_MOUNTAIN_RANGE_BYTES_SIZE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]   --> src/sparse.rs:75:10
[INFO] [stdout]    |
[INFO] [stdout] 75 |     [(); ENSURE_SUPPORTED_BITS::<BITS>]:,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `BITS` declared on the constant `ENSURE_SUPPORTED_BITS`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a const generic parameter in `ENSURE_SUPPORTED_BITS`
[INFO] [stdout]   --> src/sparse.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 | const ENSURE_SUPPORTED_BITS<const BITS: u8>: usize = {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^ required by this const generic parameter in `ENSURE_SUPPORTED_BITS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/balanced.rs:143:49
[INFO] [stdout]     |
[INFO] [stdout] 143 |         tree: &mut [MaybeUninit<[u8; OUT_LEN]>; TREE_SIZE_WITHOUT_LEAVES::<N>],
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `N` declared on the constant `TREE_SIZE_WITHOUT_LEAVES`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `TREE_SIZE_WITHOUT_LEAVES`
[INFO] [stdout]    --> src/balanced.rs:15:32
[INFO] [stdout]     |
[INFO] [stdout]  15 | const TREE_SIZE_WITHOUT_LEAVES<const N: usize>: usize = {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ required by this const generic parameter in `TREE_SIZE_WITHOUT_LEAVES`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/balanced.rs:316:33
[INFO] [stdout]     |
[INFO] [stdout] 316 |         proof: &[[u8; OUT_LEN]; PROOF_ELEMENTS::<N>],
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `N` declared on the constant `PROOF_ELEMENTS`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `balanced::PROOF_ELEMENTS`
[INFO] [stdout]    --> src/balanced.rs:30:26
[INFO] [stdout]     |
[INFO] [stdout]  30 | pub const PROOF_ELEMENTS<const N: usize>: usize = N.ilog2() as usize;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^ required by this const generic parameter in `PROOF_ELEMENTS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/mmr.rs:392:57
[INFO] [stdout]     |
[INFO] [stdout] 392 |         proof: &'proof mut [MaybeUninit<[u8; OUT_LEN]>; MAX_PROOF_ELEMENTS::<MAX_N>],
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `MAX_N` declared on the constant `MAX_PROOF_ELEMENTS`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `MAX_PROOF_ELEMENTS`
[INFO] [stdout]    --> src/mmr.rs:15:30
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub const MAX_PROOF_ELEMENTS<const MAX_N: u64>: usize = MAX_N.next_power_of_two().ilog2() as usize;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this const generic parameter in `MAX_PROOF_ELEMENTS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/mmr.rs:407:50
[INFO] [stdout]     |
[INFO] [stdout] 407 |         proof: &mut [MaybeUninit<[u8; OUT_LEN]>; MAX_PROOF_ELEMENTS::<MAX_N>],
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `MAX_N` declared on the constant `MAX_PROOF_ELEMENTS`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `MAX_PROOF_ELEMENTS`
[INFO] [stdout]    --> src/mmr.rs:15:30
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub const MAX_PROOF_ELEMENTS<const MAX_N: u64>: usize = MAX_N.next_power_of_two().ilog2() as usize;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ required by this const generic parameter in `MAX_PROOF_ELEMENTS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/sparse.rs:169:37
[INFO] [stdout]     |
[INFO] [stdout] 169 |         stack: &mut [[u8; OUT_LEN]; STACK_SIZE::<BITS>],
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `BITS` declared on the constant `STACK_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `sparse::STACK_SIZE`
[INFO] [stdout]    --> src/sparse.rs:13:18
[INFO] [stdout]     |
[INFO] [stdout]  13 | const STACK_SIZE<const BITS: u8>: usize = usize::from(BITS) + 1;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ required by this const generic parameter in `STACK_SIZE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/sparse.rs:238:33
[INFO] [stdout]     |
[INFO] [stdout] 238 |         proof: &[[u8; OUT_LEN]; PROOF_ELEMENTS::<BITS>],
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `BITS` declared on the constant `PROOF_ELEMENTS`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `sparse::PROOF_ELEMENTS`
[INFO] [stdout]    --> src/sparse.rs:12:26
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub const PROOF_ELEMENTS<const BITS: u8>: usize = usize::from(BITS);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^ required by this const generic parameter in `PROOF_ELEMENTS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/unbalanced.rs:130:14
[INFO] [stdout]     |
[INFO] [stdout] 130 |         [(); SUPPORTED_LEAVES_ARRAY_SIZE::<N>]:,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `N` declared on the constant `SUPPORTED_LEAVES_ARRAY_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `SUPPORTED_LEAVES_ARRAY_SIZE`
[INFO] [stdout]    --> src/unbalanced.rs:12:35
[INFO] [stdout]     |
[INFO] [stdout]  12 | const SUPPORTED_LEAVES_ARRAY_SIZE<const N: usize>: usize = {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ required by this const generic parameter in `SUPPORTED_LEAVES_ARRAY_SIZE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/unbalanced.rs:189:57
[INFO] [stdout]     |
[INFO] [stdout] 189 |         proof: &'proof mut [MaybeUninit<[u8; OUT_LEN]>; PROOF_ELEMENTS::<MAX_N>],
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `MAX_N` declared on the constant `PROOF_ELEMENTS`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `unbalanced::PROOF_ELEMENTS`
[INFO] [stdout]    --> src/unbalanced.rs:10:26
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub const PROOF_ELEMENTS<const MAX_N: u64>: usize = MAX_N.next_power_of_two().ilog2() as usize;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ required by this const generic parameter in `PROOF_ELEMENTS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/unbalanced.rs:214:37
[INFO] [stdout]     |
[INFO] [stdout] 214 |         stack: &mut [[u8; OUT_LEN]; STACK_SIZE::<MAX_N>],
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `MAX_N` declared on the constant `STACK_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `unbalanced::STACK_SIZE`
[INFO] [stdout]    --> src/unbalanced.rs:11:18
[INFO] [stdout]     |
[INFO] [stdout]  11 | const STACK_SIZE<const MAX_N: u64>: usize = MAX_N.next_power_of_two().ilog2() as usize + 1;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^ required by this const generic parameter in `STACK_SIZE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/unbalanced.rs:215:50
[INFO] [stdout]     |
[INFO] [stdout] 215 |         proof: &mut [MaybeUninit<[u8; OUT_LEN]>; PROOF_ELEMENTS::<MAX_N>],
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `MAX_N` declared on the constant `PROOF_ELEMENTS`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `unbalanced::PROOF_ELEMENTS`
[INFO] [stdout]    --> src/unbalanced.rs:10:26
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub const PROOF_ELEMENTS<const MAX_N: u64>: usize = MAX_N.next_power_of_two().ilog2() as usize;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ required by this const generic parameter in `PROOF_ELEMENTS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature `str_as_str`
[INFO] [stdout]    --> src/balanced.rs:145:36
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let mut tree_hashes = tree.as_mut_slice();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #130366 <https://github.com/rust-lang/rust/issues/130366> for more information
[INFO] [stdout]     = help: add `#![feature(str_as_str)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-10-09; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/balanced.rs:246:67
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let mut stack = [[[0u8; OUT_LEN]; BATCH_HASH_NUM_BLOCKS]; ROOT_ONLY_LARGE_STACK_SIZE::<N>];
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `N` declared on the constant `ROOT_ONLY_LARGE_STACK_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `ROOT_ONLY_LARGE_STACK_SIZE`
[INFO] [stdout]    --> src/balanced.rs:31:34
[INFO] [stdout]     |
[INFO] [stdout]  31 | const ROOT_ONLY_LARGE_STACK_SIZE<const N: usize>: usize = {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ required by this const generic parameter in `ROOT_ONLY_LARGE_STACK_SIZE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature `str_as_str`
[INFO] [stdout]    --> src/balanced.rs:379:41
[INFO] [stdout]     |
[INFO] [stdout] 379 |         let mut tree_hashes = self.tree.as_slice();
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #130366 <https://github.com/rust-lang/rust/issues/130366> for more information
[INFO] [stdout]     = help: add `#![feature(str_as_str)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-10-09; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]   --> src/unbalanced.rs:62:42
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut stack = [[0u8; OUT_LEN]; STACK_SIZE::<MAX_N>];
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `MAX_N` declared on the constant `STACK_SIZE`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a const generic parameter in `unbalanced::STACK_SIZE`
[INFO] [stdout]   --> src/unbalanced.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | const STACK_SIZE<const MAX_N: u64>: usize = MAX_N.next_power_of_two().ilog2() as usize + 1;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ required by this const generic parameter in `STACK_SIZE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/unbalanced.rs:133:41
[INFO] [stdout]     |
[INFO] [stdout] 133 |             Self::compute_root_only::<{ USIZE_TO_U64::<N> }, _, _>(leaves.iter().copied());
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `N` declared on the constant `USIZE_TO_U64`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `USIZE_TO_U64`
[INFO] [stdout]    --> src/unbalanced.rs:16:20
[INFO] [stdout]     |
[INFO] [stdout]  16 | const USIZE_TO_U64<const N: usize>: u64 = N as u64;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^ required by this const generic parameter in `USIZE_TO_U64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]    --> src/balanced.rs:112:58
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     .cast::<[MaybeUninit<[u8; OUT_LEN]>; TREE_SIZE_WITHOUT_LEAVES::<N>]>()
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of const parameter `N` declared on the constant `TREE_SIZE_WITHOUT_LEAVES`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `TREE_SIZE_WITHOUT_LEAVES`
[INFO] [stdout]    --> src/balanced.rs:15:32
[INFO] [stdout]     |
[INFO] [stdout]  15 | const TREE_SIZE_WITHOUT_LEAVES<const N: usize>: usize = {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ required by this const generic parameter in `TREE_SIZE_WITHOUT_LEAVES`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0284, E0557, E0658.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0284`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ab-merkle-tree` (lib) due to 55 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "0aba3202c583fd51ff86a7c0855c468737db31575124f465df76ee213d1c34f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0aba3202c583fd51ff86a7c0855c468737db31575124f465df76ee213d1c34f0", kill_on_drop: false }`
[INFO] [stdout] 0aba3202c583fd51ff86a7c0855c468737db31575124f465df76ee213d1c34f0
