Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(ssa): Handle mergers of slices returned from calls #4496

Merged
merged 7 commits into from
Mar 8, 2024

Conversation

vezenovm
Copy link
Contributor

@vezenovm vezenovm commented Mar 6, 2024

Description

Problem*

Resolves #4418

Summary*

We need to add handling for slices returned from ToRadix and ToBits.

This PR does two fixes.
EDIT: After moving to the iterative flattening appraoch w are now accurately tracking slice capacities when they are the parameters of blocks.

Additional Context

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [Exceptional Case] Documentation to be submitted in a separate PR.

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

@vezenovm vezenovm requested a review from jfecher March 6, 2024 21:38
Copy link
Contributor

github-actions bot commented Mar 6, 2024

Changes to circuit sizes

Generated at commit: db3c1e6d1b290bfe669730e7d21ac76734c69697, compared to commit: 9cee413b73298df98a5650bf3d05121213e982e2

🧾 Summary (10% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
slices +196 ❌ +32.34% +431 ❌ +10.03%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
slices 802 (+196) +32.34% 4,730 (+431) +10.03%

Copy link
Contributor

@jfecher jfecher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@jfecher jfecher added this pull request to the merge queue Mar 8, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 8, 2024
@vezenovm vezenovm added this pull request to the merge queue Mar 8, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 8, 2024
@vezenovm vezenovm added this pull request to the merge queue Mar 8, 2024
Merged via the queue into master with commit f988d02 Mar 8, 2024
43 checks passed
@vezenovm vezenovm deleted the mv/issue-4418 branch March 8, 2024 20:13
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Mar 11, 2024
…oir-lang/noir#4472)

chore: Move `check_method_signatures` to type checking phase (noir-lang/noir#4516)
chore(ci): fix JS publishing workflow checking out inconsistent commits (noir-lang/noir#4493)
fix(ssa): Handle mergers of slices returned from calls (noir-lang/noir#4496)
chore: Add HashMap docs (noir-lang/noir#4457)
chore: custom hash for eddsa (noir-lang/noir#4440)
chore: update various dependencies (noir-lang/noir#4513)
fix: Allow type aliases in main (noir-lang/noir#4505)
chore: add `ModuleDeclaration` struct (noir-lang/noir#4512)
fix: Force src impl for == on slices (noir-lang/noir#4507)
chore: pass `import_directive` by reference (noir-lang/noir#4511)
feat: Track stack frames and their variables in the debugger (noir-lang/noir#4188)
chore: add regression test for issue 4449 (noir-lang/noir#4503)
chore: pass macro processors by reference (noir-lang/noir#4501)
chore: bump bb to 0.26.3 (noir-lang/noir#4488)
fix: handling of gh deps in noir_wasm (noir-lang/noir#4499)
fix: iterative flattening pass (noir-lang/noir#4492)
chore: Move templated code for assert_message into the stdlib (noir-lang/noir#4475)
chore: pull out separate function for compiling and running a test
chore: update cargo deny config (noir-lang/noir#4486)
feat: run tests in parallel in `nargo test`  (noir-lang/noir#4484)
github-merge-queue bot pushed a commit that referenced this pull request Mar 11, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>0.25.0</summary>

## [0.25.0](v0.24.0...v0.25.0)
(2024-03-11)


### ⚠ BREAKING CHANGES

* Internal as a macro
(AztecProtocol/aztec-packages#4898)
* reserve `unchecked` keyword
([#4432](#4432))
* Remove empty value from bounded vec
([#4431](#4431))
* Ban Fields in for loop indices and bitwise ops
([#4376](#4376))
* bump msrv to 1.73.0
([#4406](#4406))
* **ci:** Bump MSRV to 1.72.1 and enforce that ACVM can be published
using updated lockfile
([#4385](#4385))
* Restrict bit sizes
([#4235](#4235))
* move noir out of yarn-project
(AztecProtocol/aztec-packages#4479)
* note type ids
(AztecProtocol/aztec-packages#4500)

### Features

* Add eddsa_poseidon_to_pub function to stdlib with test + docs
([#4473](#4473))
([00d2c32](00d2c32))
* Add HashMap to the stdlib
([#4242](#4242))
([650ffc5](650ffc5))
* Add option to set max memory for bb.js
([#4227](#4227))
([8a6b131](8a6b131))
* Add overflow and underflow checks for unsigned integers in brillig
([#4445](#4445))
([21fc4b8](21fc4b8))
* Add poseidon2 opcode implementation for acvm/brillig, and Noir
([#4398](#4398))
([10e8292](10e8292))
* Added cast opcode and cast calldata
(AztecProtocol/aztec-packages#4423)
([78ef013](78ef013))
* Allow type aliases to reference other aliases
([#4353](#4353))
([c44ef14](c44ef14))
* Backpropagate constants in ACIR during optimization
([#3926](#3926))
([aad0da0](aad0da0))
* **ci:** Use wasm-opt when compiling wasm packages
([#4334](#4334))
([e382921](e382921))
* DAP Preflight and debugger compilation options
([#4185](#4185))
([e0ad0b2](e0ad0b2))
* Expose separate functions to compile programs vs contracts in
`noir_wasm` ([#4413](#4413))
([7cd5fdb](7cd5fdb))
* Internal as a macro
(AztecProtocol/aztec-packages#4898)
([5f57ebb](5f57ebb))
* Note type ids
(AztecProtocol/aztec-packages#4500)
([78ef013](78ef013))
* Restrict bit sizes
([#4235](#4235))
([1048f81](1048f81))
* Run tests in parallel in `nargo test`
([#4484](#4484))
([761734e](761734e))
* Skip redundant range checks in brillig
([#4460](#4460))
([cb4c1c5](cb4c1c5))
* Sync from aztec-packages
([#4483](#4483))
([fe8f277](fe8f277))
* Track stack frames and their variables in the debugger
([#4188](#4188))
([ae1a9d9](ae1a9d9))
* TypeVariableKind for just Integers
([#4118](#4118))
([c956be8](c956be8))
* Update error message when trying to load workspace as dependency
([#4393](#4393))
([d2585e7](d2585e7))


### Bug Fixes

* **acir:** Array dynamic flatten
([#4351](#4351))
([b2aaeab](b2aaeab))
* **acir:** Use types on dynamic arrays
([#4364](#4364))
([ba2c541](ba2c541))
* Add `follow_bindings` to follow `Type::Alias` links
([#4521](#4521))
([b94adb9](b94adb9))
* Add handling to `noir_wasm` for projects without dependencies
([#4344](#4344))
([4982251](4982251))
* Allow type aliases in main
([#4505](#4505))
([8a5359c](8a5359c))
* Ban Fields in for loop indices and bitwise ops
([#4376](#4376))
([601fd9a](601fd9a))
* Brillig range check with consistent bit size
([#4357](#4357))
([ea47d4a](ea47d4a))
* Build noir_codegen when publishing
([#4448](#4448))
([cb1ceee](cb1ceee))
* Consistent bit size for truncate
([#4370](#4370))
([dcd7a1e](dcd7a1e))
* Correct formatting for databus visibility types
([#4423](#4423))
([cd796de](cd796de))
* Correct invalid brillig codegen for `EmbeddedCurvePoint.add`
([#4382](#4382))
([5051ec4](5051ec4))
* **docs:** Update install versions
([#4396](#4396))
([b283637](b283637))
* **docs:** Update noirjs_app for 0.23
([#4378](#4378))
([f77f702](f77f702))
* Enforce matching types of binary ops in SSA
([#4391](#4391))
([70866ae](70866ae))
* Fix brillig slowdown when assigning arrays in loops
([#4472](#4472))
([2a53545](2a53545))
* **flake:** Stop flake.nix removing ignored-tests.txt
([#4455](#4455))
([ebaf05a](ebaf05a))
* Force src impl for == on slices
([#4507](#4507))
([1691274](1691274))
* Handling of gh deps in noir_wasm
([#4499](#4499))
([1d65370](1d65370))
* Iterative flattening pass
([#4492](#4492))
([33c1ef7](33c1ef7))
* Noir test incorrect reporting
(AztecProtocol/aztec-packages#4925)
([5f57ebb](5f57ebb))
* Only add `.nr` files to file manager
([#4380](#4380))
([8536c7c](8536c7c))
* Remove panic when generic array length is not resolvable
([#4408](#4408))
([00ab3db](00ab3db))
* Remove print from monomorphization pass
([#4417](#4417))
([27c66b3](27c66b3))
* **ssa:** Handle mergers of slices returned from calls
([#4496](#4496))
([f988d02](f988d02))
* Use correct type for numeric generics
([#4386](#4386))
([0a1d109](0a1d109))
* Variables from trait constraints being permanently bound over when
used within a trait impl
([#4450](#4450))
([ac60ef5](ac60ef5))


### Miscellaneous Chores

* Bump msrv to 1.73.0
([#4406](#4406))
([b5e5c30](b5e5c30))
* **ci:** Bump MSRV to 1.72.1 and enforce that ACVM can be published
using updated lockfile
([#4385](#4385))
([2fc95d2](2fc95d2))
* Move noir out of yarn-project
(AztecProtocol/aztec-packages#4479)
([78ef013](78ef013))
* Remove empty value from bounded vec
([#4431](#4431))
([b9384fb](b9384fb))
* Reserve `unchecked` keyword
([#4432](#4432))
([9544813](9544813))
</details>

<details><summary>0.41.0</summary>

## [0.41.0](v0.40.0...v0.41.0)
(2024-03-11)


### ⚠ BREAKING CHANGES

* Internal as a macro
(AztecProtocol/aztec-packages#4898)
* move noir out of yarn-project
(AztecProtocol/aztec-packages#4479)
* note type ids
(AztecProtocol/aztec-packages#4500)
* rename bigint_neg into bigint_sub
(AztecProtocol/aztec-packages#4420)
* Add expression width into acir
(AztecProtocol/aztec-packages#4014)
* init storage macro
(AztecProtocol/aztec-packages#4200)
* **acir:** Move `is_recursive` flag to be part of the circuit
definition (AztecProtocol/aztec-packages#4221)
* Sync commits from `aztec-packages`
([#4144](#4144))
* Breaking changes from aztec-packages
([#3955](#3955))
* Rename Arithmetic opcode to AssertZero
([#3840](#3840))
* Remove unused methods on ACIR opcodes
([#3841](#3841))
* Remove partial backend feature
([#3805](#3805))

### Features

* Add bit size to const opcode
(AztecProtocol/aztec-packages#4385)
([158c8ce](158c8ce))
* Add expression width into acir
(AztecProtocol/aztec-packages#4014)
([158c8ce](158c8ce))
* Add instrumentation for tracking variables in debugging
([#4122](#4122))
([c58d691](c58d691))
* Add poseidon2 opcode implementation for acvm/brillig, and Noir
([#4398](#4398))
([10e8292](10e8292))
* Add support for overriding expression width
([#4117](#4117))
([c8026d5](c8026d5))
* Added cast opcode and cast calldata
(AztecProtocol/aztec-packages#4423)
([78ef013](78ef013))
* Allow brillig to read arrays directly from memory
(AztecProtocol/aztec-packages#4460)
([158c8ce](158c8ce))
* Allow nested arrays and vectors in Brillig foreign calls
(AztecProtocol/aztec-packages#4478)
([158c8ce](158c8ce))
* Allow variables and stack trace inspection in the debugger
([#4184](#4184))
([bf263fc](bf263fc))
* **avm:** Back in avm context with macro - refactor context
(AztecProtocol/aztec-packages#4438)
([158c8ce](158c8ce))
* **aztec-nr:** Initial work for aztec public vm macro
(AztecProtocol/aztec-packages#4400)
([158c8ce](158c8ce))
* Aztec-packages
([#3754](#3754))
([c043265](c043265))
* Backpropagate constants in ACIR during optimization
([#3926](#3926))
([aad0da0](aad0da0))
* Breaking changes from aztec-packages
([#3955](#3955))
([5be049e](5be049e))
* Evaluation of dynamic assert messages
([#4101](#4101))
([c284e01](c284e01))
* Init storage macro
(AztecProtocol/aztec-packages#4200)
([158c8ce](158c8ce))
* Internal as a macro
(AztecProtocol/aztec-packages#4898)
([5f57ebb](5f57ebb))
* Note type ids
(AztecProtocol/aztec-packages#4500)
([78ef013](78ef013))
* Remove range constraints from witnesses which are constrained to be
constants ([#3928](#3928))
([afe9c7a](afe9c7a))
* Remove replacement of boolean range opcodes with `AssertZero` opcodes
([#4107](#4107))
([dac0e87](dac0e87))
* Speed up transformation of debug messages
([#3815](#3815))
([2a8af1e](2a8af1e))
* Sync `aztec-packages`
([#4011](#4011))
([fee2452](fee2452))
* Sync commits from `aztec-packages`
([#4068](#4068))
([7a8f3a3](7a8f3a3))
* Sync commits from `aztec-packages`
([#4144](#4144))
([0205d3b](0205d3b))
* Sync from aztec-packages
([#4483](#4483))
([fe8f277](fe8f277))


### Bug Fixes

* Deserialize odd length hex literals
([#3747](#3747))
([4000fb2](4000fb2))
* Noir test incorrect reporting
(AztecProtocol/aztec-packages#4925)
([5f57ebb](5f57ebb))
* Remove panic from `init_log_level` in `acvm_js`
([#4195](#4195))
([2e26530](2e26530))
* Return error rather instead of panicking on invalid circuit
([#3976](#3976))
([67201bf](67201bf))


### Miscellaneous Chores

* **acir:** Move `is_recursive` flag to be part of the circuit
definition (AztecProtocol/aztec-packages#4221)
([158c8ce](158c8ce))
* Move noir out of yarn-project
(AztecProtocol/aztec-packages#4479)
([78ef013](78ef013))
* Remove partial backend feature
([#3805](#3805))
([0383100](0383100))
* Remove unused methods on ACIR opcodes
([#3841](#3841))
([9e5d0e8](9e5d0e8))
* Rename Arithmetic opcode to AssertZero
([#3840](#3840))
([836f171](836f171))
* Rename bigint_neg into bigint_sub
(AztecProtocol/aztec-packages#4420)
([158c8ce](158c8ce))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: Savio <72797635+Savio-Sou@users.noreply.github.com>
TomAFrench added a commit that referenced this pull request Mar 12, 2024
* master:
  chore: generalise `FunctionVisibility` to `ItemVisibility` (#4495)
  fix: Dynamic assert messages in brillig (#4531)
  chore: organize the `blackbox_solver` crate (#4519)
  fix(acir_gen): More granular element sizes array check (#4528)
  chore: Release Noir(0.25.0) (#4352)
  chore: document big integers (#4487)
  fix: Add `follow_bindings` to follow `Type::Alias` links (#4521)
  fix: Fix brillig slowdown when assigning arrays in loops (#4472)
  chore: Move `check_method_signatures` to type checking phase (#4516)
  chore(ci): fix JS publishing workflow checking out inconsistent commits (#4493)
  fix(ssa): Handle mergers of slices returned from calls (#4496)
  chore: Add HashMap docs (#4457)
  chore: custom hash for eddsa (#4440)
  chore: update various dependencies (#4513)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Mar 12, 2024
noir-lang/noir#4495)

fix: Dynamic assert messages in brillig (noir-lang/noir#4531)
chore: organize the `blackbox_solver` crate (noir-lang/noir#4519)
fix(acir_gen): More granular element sizes array check (noir-lang/noir#4528)
chore: Release Noir(0.25.0) (noir-lang/noir#4352)
chore: document big integers (noir-lang/noir#4487)
fix: Add `follow_bindings` to follow `Type::Alias` links (noir-lang/noir#4521)
fix: Fix brillig slowdown when assigning arrays in loops (noir-lang/noir#4472)
chore: Move `check_method_signatures` to type checking phase (noir-lang/noir#4516)
chore(ci): fix JS publishing workflow checking out inconsistent commits (noir-lang/noir#4493)
fix(ssa): Handle mergers of slices returned from calls (noir-lang/noir#4496)
chore: Add HashMap docs (noir-lang/noir#4457)
chore: custom hash for eddsa (noir-lang/noir#4440)
chore: update various dependencies (noir-lang/noir#4513)
fix: Allow type aliases in main (noir-lang/noir#4505)
chore: add `ModuleDeclaration` struct (noir-lang/noir#4512)
fix: Force src impl for == on slices (noir-lang/noir#4507)
chore: pass `import_directive` by reference (noir-lang/noir#4511)
feat: Track stack frames and their variables in the debugger (noir-lang/noir#4188)
chore: add regression test for issue 4449 (noir-lang/noir#4503)
chore: pass macro processors by reference (noir-lang/noir#4501)
chore: bump bb to 0.26.3 (noir-lang/noir#4488)
fix: handling of gh deps in noir_wasm (noir-lang/noir#4499)
fix: iterative flattening pass (noir-lang/noir#4492)
chore: Move templated code for assert_message into the stdlib (noir-lang/noir#4475)
chore: pull out separate function for compiling and running a test
chore: update cargo deny config (noir-lang/noir#4486)
feat: run tests in parallel in `nargo test`  (noir-lang/noir#4484)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Mar 12, 2024
…/noir#4495)

fix: Dynamic assert messages in brillig (noir-lang/noir#4531)
chore: organize the `blackbox_solver` crate (noir-lang/noir#4519)
fix(acir_gen): More granular element sizes array check (noir-lang/noir#4528)
chore: Release Noir(0.25.0) (noir-lang/noir#4352)
chore: document big integers (noir-lang/noir#4487)
fix: Add `follow_bindings` to follow `Type::Alias` links (noir-lang/noir#4521)
fix: Fix brillig slowdown when assigning arrays in loops (noir-lang/noir#4472)
chore: Move `check_method_signatures` to type checking phase (noir-lang/noir#4516)
chore(ci): fix JS publishing workflow checking out inconsistent commits (noir-lang/noir#4493)
fix(ssa): Handle mergers of slices returned from calls (noir-lang/noir#4496)
chore: Add HashMap docs (noir-lang/noir#4457)
chore: custom hash for eddsa (noir-lang/noir#4440)
chore: update various dependencies (noir-lang/noir#4513)
fix: Allow type aliases in main (noir-lang/noir#4505)
chore: add `ModuleDeclaration` struct (noir-lang/noir#4512)
fix: Force src impl for == on slices (noir-lang/noir#4507)
chore: pass `import_directive` by reference (noir-lang/noir#4511)
feat: Track stack frames and their variables in the debugger (noir-lang/noir#4188)
chore: add regression test for issue 4449 (noir-lang/noir#4503)
chore: pass macro processors by reference (noir-lang/noir#4501)
chore: bump bb to 0.26.3 (noir-lang/noir#4488)
fix: handling of gh deps in noir_wasm (noir-lang/noir#4499)
fix: iterative flattening pass (noir-lang/noir#4492)
chore: Move templated code for assert_message into the stdlib (noir-lang/noir#4475)
chore: pull out separate function for compiling and running a test
chore: update cargo deny config (noir-lang/noir#4486)
feat: run tests in parallel in `nargo test`  (noir-lang/noir#4484)
sirasistant pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Mar 12, 2024
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: generalise `FunctionVisibility` to `ItemVisibility`
(noir-lang/noir#4495)
fix: Dynamic assert messages in brillig
(noir-lang/noir#4531)
chore: organize the `blackbox_solver` crate
(noir-lang/noir#4519)
fix(acir_gen): More granular element sizes array check
(noir-lang/noir#4528)
chore: Release Noir(0.25.0)
(noir-lang/noir#4352)
chore: document big integers
(noir-lang/noir#4487)
fix: Add `follow_bindings` to follow `Type::Alias` links
(noir-lang/noir#4521)
fix: Fix brillig slowdown when assigning arrays in loops
(noir-lang/noir#4472)
chore: Move `check_method_signatures` to type checking phase
(noir-lang/noir#4516)
chore(ci): fix JS publishing workflow checking out inconsistent commits
(noir-lang/noir#4493)
fix(ssa): Handle mergers of slices returned from calls
(noir-lang/noir#4496)
chore: Add HashMap docs (noir-lang/noir#4457)
chore: custom hash for eddsa
(noir-lang/noir#4440)
chore: update various dependencies
(noir-lang/noir#4513)
fix: Allow type aliases in main
(noir-lang/noir#4505)
chore: add `ModuleDeclaration` struct
(noir-lang/noir#4512)
fix: Force src impl for == on slices
(noir-lang/noir#4507)
chore: pass `import_directive` by reference
(noir-lang/noir#4511)
feat: Track stack frames and their variables in the debugger
(noir-lang/noir#4188)
chore: add regression test for issue 4449
(noir-lang/noir#4503)
chore: pass macro processors by reference
(noir-lang/noir#4501)
chore: bump bb to 0.26.3 (noir-lang/noir#4488)
fix: handling of gh deps in noir_wasm
(noir-lang/noir#4499)
fix: iterative flattening pass
(noir-lang/noir#4492)
chore: Move templated code for assert_message into the stdlib
(noir-lang/noir#4475)
chore: pull out separate function for compiling and running a test
chore: update cargo deny config
(noir-lang/noir#4486)
feat: run tests in parallel in `nargo test`
(noir-lang/noir#4484)
END_COMMIT_OVERRIDE

---------

Co-authored-by: TomAFrench <tom@tomfren.ch>
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
AztecBot added a commit that referenced this pull request Mar 12, 2024
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: generalise `FunctionVisibility` to `ItemVisibility`
(#4495)
fix: Dynamic assert messages in brillig
(#4531)
chore: organize the `blackbox_solver` crate
(#4519)
fix(acir_gen): More granular element sizes array check
(#4528)
chore: Release Noir(0.25.0)
(#4352)
chore: document big integers
(#4487)
fix: Add `follow_bindings` to follow `Type::Alias` links
(#4521)
fix: Fix brillig slowdown when assigning arrays in loops
(#4472)
chore: Move `check_method_signatures` to type checking phase
(#4516)
chore(ci): fix JS publishing workflow checking out inconsistent commits
(#4493)
fix(ssa): Handle mergers of slices returned from calls
(#4496)
chore: Add HashMap docs (#4457)
chore: custom hash for eddsa
(#4440)
chore: update various dependencies
(#4513)
fix: Allow type aliases in main
(#4505)
chore: add `ModuleDeclaration` struct
(#4512)
fix: Force src impl for == on slices
(#4507)
chore: pass `import_directive` by reference
(#4511)
feat: Track stack frames and their variables in the debugger
(#4188)
chore: add regression test for issue 4449
(#4503)
chore: pass macro processors by reference
(#4501)
chore: bump bb to 0.26.3 (#4488)
fix: handling of gh deps in noir_wasm
(#4499)
fix: iterative flattening pass
(#4492)
chore: Move templated code for assert_message into the stdlib
(#4475)
chore: pull out separate function for compiling and running a test
chore: update cargo deny config
(#4486)
feat: run tests in parallel in `nargo test`
(#4484)
END_COMMIT_OVERRIDE

---------

Co-authored-by: TomAFrench <tom@tomfren.ch>
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
AztecBot added a commit that referenced this pull request Mar 12, 2024
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: generalise `FunctionVisibility` to `ItemVisibility`
(#4495)
fix: Dynamic assert messages in brillig
(#4531)
chore: organize the `blackbox_solver` crate
(#4519)
fix(acir_gen): More granular element sizes array check
(#4528)
chore: Release Noir(0.25.0)
(#4352)
chore: document big integers
(#4487)
fix: Add `follow_bindings` to follow `Type::Alias` links
(#4521)
fix: Fix brillig slowdown when assigning arrays in loops
(#4472)
chore: Move `check_method_signatures` to type checking phase
(#4516)
chore(ci): fix JS publishing workflow checking out inconsistent commits
(#4493)
fix(ssa): Handle mergers of slices returned from calls
(#4496)
chore: Add HashMap docs (#4457)
chore: custom hash for eddsa
(#4440)
chore: update various dependencies
(#4513)
fix: Allow type aliases in main
(#4505)
chore: add `ModuleDeclaration` struct
(#4512)
fix: Force src impl for == on slices
(#4507)
chore: pass `import_directive` by reference
(#4511)
feat: Track stack frames and their variables in the debugger
(#4188)
chore: add regression test for issue 4449
(#4503)
chore: pass macro processors by reference
(#4501)
chore: bump bb to 0.26.3 (#4488)
fix: handling of gh deps in noir_wasm
(#4499)
fix: iterative flattening pass
(#4492)
chore: Move templated code for assert_message into the stdlib
(#4475)
chore: pull out separate function for compiling and running a test
chore: update cargo deny config
(#4486)
feat: run tests in parallel in `nargo test`
(#4484)
END_COMMIT_OVERRIDE

---------

Co-authored-by: TomAFrench <tom@tomfren.ch>
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
critesjosh pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Mar 13, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.27.2</summary>

##
[0.27.2](aztec-package-v0.27.1...aztec-package-v0.27.2)
(2024-03-13)


### Miscellaneous

* **aztec-package:** Synchronize aztec-packages versions
</details>

<details><summary>barretenberg.js: 0.27.2</summary>

##
[0.27.2](barretenberg.js-v0.27.1...barretenberg.js-v0.27.2)
(2024-03-13)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>aztec-cli: 0.27.2</summary>

##
[0.27.2](aztec-cli-v0.27.1...aztec-cli-v0.27.2)
(2024-03-13)


### Miscellaneous

* **aztec-cli:** Synchronize aztec-packages versions
</details>

<details><summary>aztec-packages: 0.27.2</summary>

##
[0.27.2](aztec-packages-v0.27.1...aztec-packages-v0.27.2)
(2024-03-13)


### Features

* Check initialization arguments in constructors
([#5144](#5144))
([d003bd6](d003bd6))
* Multithreaded prover folding
([#5147](#5147))
([94922fc](94922fc))
* Run tests in parallel in `nargo test`
(noir-lang/noir#4484)
([58e15ed](58e15ed))
* Track stack frames and their variables in the debugger
(noir-lang/noir#4188)
([58e15ed](58e15ed))


### Bug Fixes

* **acir_gen:** More granular element sizes array check
(noir-lang/noir#4528)
([58e15ed](58e15ed))
* Add `follow_bindings` to follow `Type::Alias` links
(noir-lang/noir#4521)
([58e15ed](58e15ed))
* Allow type aliases in main
(noir-lang/noir#4505)
([58e15ed](58e15ed))
* Constant gen
([#5172](#5172))
([394a0e0](394a0e0))
* **docs:** Update quickstart.md
([#5021](#5021))
([be9f8a1](be9f8a1))
* Dynamic assert messages in brillig
(noir-lang/noir#4531)
([58e15ed](58e15ed))
* Fix brillig slowdown when assigning arrays in loops
(noir-lang/noir#4472)
([58e15ed](58e15ed))
* Fix deployments
([#5183](#5183))
([596253b](596253b))
* Force src impl for == on slices
(noir-lang/noir#4507)
([58e15ed](58e15ed))
* Handling of gh deps in noir_wasm
(noir-lang/noir#4499)
([58e15ed](58e15ed))
* Intermittent invert 0 in Goblin
([#5174](#5174))
([3e68b49](3e68b49))
* Iterative flattening pass
(noir-lang/noir#4492)
([58e15ed](58e15ed))
* Noir mirror merge strat
([#5166](#5166))
([74fa8d6](74fa8d6))
* **ssa:** Handle mergers of slices returned from calls
(noir-lang/noir#4496)
([58e15ed](58e15ed))


### Miscellaneous

* Add `ModuleDeclaration` struct
(noir-lang/noir#4512)
([58e15ed](58e15ed))
* Add HashMap docs (noir-lang/noir#4457)
([58e15ed](58e15ed))
* Add regression test for issue 4449
(noir-lang/noir#4503)
([58e15ed](58e15ed))
* Better output in ci_deploy_contracts.sh
([#5171](#5171))
([8d73f8a](8d73f8a))
* Bump bb to 0.26.3 (noir-lang/noir#4488)
([58e15ed](58e15ed))
* **ci:** Fix JS publishing workflow checking out inconsistent commits
(noir-lang/noir#4493)
([58e15ed](58e15ed))
* Custom hash for eddsa (noir-lang/noir#4440)
([58e15ed](58e15ed))
* Deterministic mode
([#5155](#5155))
([e68b56a](e68b56a))
* Document big integers (noir-lang/noir#4487)
([58e15ed](58e15ed))
* Generalise `FunctionVisibility` to `ItemVisibility`
(noir-lang/noir#4495)
([58e15ed](58e15ed))
* Interaction for a mock first circuit handled inside the `EccOpQueue`
([#4854](#4854))
([d9cbdc8](d9cbdc8))
* Move `check_method_signatures` to type checking phase
(noir-lang/noir#4516)
([58e15ed](58e15ed))
* Move templated code for assert_message into the stdlib
(noir-lang/noir#4475)
([58e15ed](58e15ed))
* Organize the `blackbox_solver` crate
(noir-lang/noir#4519)
([58e15ed](58e15ed))
* Pass `import_directive` by reference
(noir-lang/noir#4511)
([58e15ed](58e15ed))
* Pass macro processors by reference
(noir-lang/noir#4501)
([58e15ed](58e15ed))
* Pull out separate function for compiling and running a test
([58e15ed](58e15ed))
* Release Noir(0.25.0) (noir-lang/noir#4352)
([58e15ed](58e15ed))
* Update cargo deny config (noir-lang/noir#4486)
([58e15ed](58e15ed))
* Update various dependencies
(noir-lang/noir#4513)
([58e15ed](58e15ed))
</details>

<details><summary>barretenberg: 0.27.2</summary>

##
[0.27.2](barretenberg-v0.27.1...barretenberg-v0.27.2)
(2024-03-13)


### Features

* Multithreaded prover folding
([#5147](#5147))
([94922fc](94922fc))


### Bug Fixes

* Intermittent invert 0 in Goblin
([#5174](#5174))
([3e68b49](3e68b49))


### Miscellaneous

* Interaction for a mock first circuit handled inside the `EccOpQueue`
([#4854](#4854))
([d9cbdc8](d9cbdc8))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
TomAFrench added a commit that referenced this pull request Mar 13, 2024
* master: (48 commits)
  feat: Visible aliases for nargo commands (#4453)
  feat: Sync from aztec-packages (#4494)
  feat: Add checks for bit size consistency on brillig gen (#4542)
  fix: Allow non-integer globals to reference struct methods (#4490)
  chore: generalise `FunctionVisibility` to `ItemVisibility` (#4495)
  fix: Dynamic assert messages in brillig (#4531)
  chore: organize the `blackbox_solver` crate (#4519)
  fix(acir_gen): More granular element sizes array check (#4528)
  chore: Release Noir(0.25.0) (#4352)
  chore: document big integers (#4487)
  fix: Add `follow_bindings` to follow `Type::Alias` links (#4521)
  fix: Fix brillig slowdown when assigning arrays in loops (#4472)
  chore: Move `check_method_signatures` to type checking phase (#4516)
  chore(ci): fix JS publishing workflow checking out inconsistent commits (#4493)
  fix(ssa): Handle mergers of slices returned from calls (#4496)
  chore: Add HashMap docs (#4457)
  chore: custom hash for eddsa (#4440)
  chore: update various dependencies (#4513)
  fix: Allow type aliases in main (#4505)
  chore: add `ModuleDeclaration` struct (#4512)
  ...
TomAFrench added a commit that referenced this pull request Mar 13, 2024
* master: (36 commits)
  fix: Substitute generics when checking the field count of a type (#4547)
  feat: optimize sha2 implementation (#4441)
  chore: allow setting namespace visibility on functions (#4510)
  feat: Visible aliases for nargo commands (#4453)
  feat: Sync from aztec-packages (#4494)
  feat: Add checks for bit size consistency on brillig gen (#4542)
  fix: Allow non-integer globals to reference struct methods (#4490)
  chore: generalise `FunctionVisibility` to `ItemVisibility` (#4495)
  fix: Dynamic assert messages in brillig (#4531)
  chore: organize the `blackbox_solver` crate (#4519)
  fix(acir_gen): More granular element sizes array check (#4528)
  chore: Release Noir(0.25.0) (#4352)
  chore: document big integers (#4487)
  fix: Add `follow_bindings` to follow `Type::Alias` links (#4521)
  fix: Fix brillig slowdown when assigning arrays in loops (#4472)
  chore: Move `check_method_signatures` to type checking phase (#4516)
  chore(ci): fix JS publishing workflow checking out inconsistent commits (#4493)
  fix(ssa): Handle mergers of slices returned from calls (#4496)
  chore: Add HashMap docs (#4457)
  chore: custom hash for eddsa (#4440)
  ...
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request Mar 14, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.27.2</summary>

##
[0.27.2](AztecProtocol/aztec-packages@aztec-package-v0.27.1...aztec-package-v0.27.2)
(2024-03-13)


### Miscellaneous

* **aztec-package:** Synchronize aztec-packages versions
</details>

<details><summary>barretenberg.js: 0.27.2</summary>

##
[0.27.2](AztecProtocol/aztec-packages@barretenberg.js-v0.27.1...barretenberg.js-v0.27.2)
(2024-03-13)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>aztec-cli: 0.27.2</summary>

##
[0.27.2](AztecProtocol/aztec-packages@aztec-cli-v0.27.1...aztec-cli-v0.27.2)
(2024-03-13)


### Miscellaneous

* **aztec-cli:** Synchronize aztec-packages versions
</details>

<details><summary>aztec-packages: 0.27.2</summary>

##
[0.27.2](AztecProtocol/aztec-packages@aztec-packages-v0.27.1...aztec-packages-v0.27.2)
(2024-03-13)


### Features

* Check initialization arguments in constructors
([#5144](AztecProtocol/aztec-packages#5144))
([d003bd6](AztecProtocol/aztec-packages@d003bd6))
* Multithreaded prover folding
([#5147](AztecProtocol/aztec-packages#5147))
([94922fc](AztecProtocol/aztec-packages@94922fc))
* Run tests in parallel in `nargo test`
(noir-lang/noir#4484)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Track stack frames and their variables in the debugger
(noir-lang/noir#4188)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))


### Bug Fixes

* **acir_gen:** More granular element sizes array check
(noir-lang/noir#4528)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Add `follow_bindings` to follow `Type::Alias` links
(noir-lang/noir#4521)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Allow type aliases in main
(noir-lang/noir#4505)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Constant gen
([#5172](AztecProtocol/aztec-packages#5172))
([394a0e0](AztecProtocol/aztec-packages@394a0e0))
* **docs:** Update quickstart.md
([#5021](AztecProtocol/aztec-packages#5021))
([be9f8a1](AztecProtocol/aztec-packages@be9f8a1))
* Dynamic assert messages in brillig
(noir-lang/noir#4531)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Fix brillig slowdown when assigning arrays in loops
(noir-lang/noir#4472)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Fix deployments
([#5183](AztecProtocol/aztec-packages#5183))
([596253b](AztecProtocol/aztec-packages@596253b))
* Force src impl for == on slices
(noir-lang/noir#4507)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Handling of gh deps in noir_wasm
(noir-lang/noir#4499)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Intermittent invert 0 in Goblin
([#5174](AztecProtocol/aztec-packages#5174))
([3e68b49](AztecProtocol/aztec-packages@3e68b49))
* Iterative flattening pass
(noir-lang/noir#4492)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Noir mirror merge strat
([#5166](AztecProtocol/aztec-packages#5166))
([74fa8d6](AztecProtocol/aztec-packages@74fa8d6))
* **ssa:** Handle mergers of slices returned from calls
(noir-lang/noir#4496)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))


### Miscellaneous

* Add `ModuleDeclaration` struct
(noir-lang/noir#4512)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Add HashMap docs (noir-lang/noir#4457)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Add regression test for issue 4449
(noir-lang/noir#4503)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Better output in ci_deploy_contracts.sh
([#5171](AztecProtocol/aztec-packages#5171))
([8d73f8a](AztecProtocol/aztec-packages@8d73f8a))
* Bump bb to 0.26.3 (noir-lang/noir#4488)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* **ci:** Fix JS publishing workflow checking out inconsistent commits
(noir-lang/noir#4493)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Custom hash for eddsa (noir-lang/noir#4440)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Deterministic mode
([#5155](AztecProtocol/aztec-packages#5155))
([e68b56a](AztecProtocol/aztec-packages@e68b56a))
* Document big integers (noir-lang/noir#4487)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Generalise `FunctionVisibility` to `ItemVisibility`
(noir-lang/noir#4495)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Interaction for a mock first circuit handled inside the `EccOpQueue`
([#4854](AztecProtocol/aztec-packages#4854))
([d9cbdc8](AztecProtocol/aztec-packages@d9cbdc8))
* Move `check_method_signatures` to type checking phase
(noir-lang/noir#4516)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Move templated code for assert_message into the stdlib
(noir-lang/noir#4475)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Organize the `blackbox_solver` crate
(noir-lang/noir#4519)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Pass `import_directive` by reference
(noir-lang/noir#4511)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Pass macro processors by reference
(noir-lang/noir#4501)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Pull out separate function for compiling and running a test
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Release Noir(0.25.0) (noir-lang/noir#4352)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Update cargo deny config (noir-lang/noir#4486)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
* Update various dependencies
(noir-lang/noir#4513)
([58e15ed](AztecProtocol/aztec-packages@58e15ed))
</details>

<details><summary>barretenberg: 0.27.2</summary>

##
[0.27.2](AztecProtocol/aztec-packages@barretenberg-v0.27.1...barretenberg-v0.27.2)
(2024-03-13)


### Features

* Multithreaded prover folding
([#5147](AztecProtocol/aztec-packages#5147))
([94922fc](AztecProtocol/aztec-packages@94922fc))


### Bug Fixes

* Intermittent invert 0 in Goblin
([#5174](AztecProtocol/aztec-packages#5174))
([3e68b49](AztecProtocol/aztec-packages@3e68b49))


### Miscellaneous

* Interaction for a mock first circuit handled inside the `EccOpQueue`
([#4854](AztecProtocol/aztec-packages#4854))
([d9cbdc8](AztecProtocol/aztec-packages@d9cbdc8))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

to_be_bytes broken with Message: ICE: should have slice capacity set for value vXX being stored at vXX+2
2 participants