fix(aztec-nr): replace deprecated BoundedVec::from_parts_unchecked#23687
Closed
AztecBot wants to merge 1 commit into
Closed
fix(aztec-nr): replace deprecated BoundedVec::from_parts_unchecked#23687AztecBot wants to merge 1 commit into
AztecBot wants to merge 1 commit into
Conversation
PhilWindle
pushed a commit
that referenced
this pull request
May 29, 2026
) ## Problem CI on `merge-train/spartan` is failing in the `aztec-nr` step ([log](http://ci.aztec-labs.com/1780053790683323)) with `BoundedVec::from_parts_unchecked` deprecation errors under `nargo check --deny-warnings`. The train's noir submodule had diverged from `next`: | Branch | noir pin | date | `from_parts_unchecked` deprecated? | |---|---|---|---| | `next` | `f1a4575` | May 11 | no | | `merge-train/spartan` | `4d039268` | May 28 | **yes** | The newer pin (`4d039268`) was pulled onto the train by **PR #23675** ("fix(cheat-codes): warpL2TimeAtLeastBy…"), which bumped `noir/noir-repo` from the May-11 pin to a May-28 nightly. That nightly added `#[deprecated]` to `BoundedVec::from_parts_unchecked`, and since aztec-nr builds with `--deny-warnings`, the two remaining call sites became hard errors. The two noir commits are on divergent lines (neither is an ancestor of the other), so the train was simply ahead of `next` on noir. ## Fix Pin the train's noir back to exactly what `next` uses. Only two files differed from `next`: - `noir/noir-repo` → `f1a4575` (next's pin) - `avm-transpiler/Cargo.lock` → next's version (it had been re-synced to the May-28 noir by #23683; restored to match the May-11 pin) This restores parity with `next` and removes the deprecated API entirely, so no aztec-nr source change is needed. ## Verification Built `nargo` from the `f1a4575` pin and ran the failing check against the **unmodified** aztec-nr source: - `nargo check --deny-warnings` → exit 0 (the deprecation attribute is absent in `f1a4575`). ## Note This is an alternative to #23687, which fixed the same failure by patching the two aztec-nr call sites to use `from_parts` against the newer noir. Pick one: this PR keeps the train aligned with `next`'s noir; #23687 keeps the newer noir and updates the source. Closing whichever isn't chosen. --- *Created by [claudebox](https://claudebox.work/v2/sessions/2f980b2000011f91) · group: `slackbot`*
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
CI on
merge-train/spartanfails in theaztec-nrstep (log, sub-log 092552235c1aadfc):A noir submodule bump deprecated
BoundedVec::from_parts_unchecked.aztec-nrrunsnargo check --deny-warnings, so the two remaining call sites turn the deprecation into a hard error and fail the build.Fix
The new
from_partsis now identical to the oldfrom_parts_unchecked(it no longer does the extra zeroing loop — it setsstorage/lendirectly), so it is a drop-in replacement. Swapped both call sites and removed the now-obsolete comments explaining the old unchecked-vs-checked trade-off.Other
from_parts_uncheckedusages exist innoir-protocol-circuitstests andl1-contracts/lib/circuits, but those packages built successfully in the failing run (they don't deny warnings on these paths), so they are left untouched to keep the diff focused.Verification
Built
nargofrom the pinned submodule and ran the exact failing check againstaztec-nr:nargo check --deny-warnings→ 2 deprecation errors, exit 1 (matches CI).nargo check --deny-warnings→ exit 0.nargo test subbvec→ 8/8 pass (behavior unchanged).Note: verification targeted the specific failing check rather than the full heavyweight
bootstrap.sh cirun, since this is a Noir-only deprecation fix and the rest of ci-full (wasm/cross-compiles/fuzzing) is unrelated.Created by claudebox · group:
slackbot