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(frontend): Error for when impl is stricter than trait #5343

Merged
merged 36 commits into from
Jul 18, 2024

Conversation

vezenovm
Copy link
Contributor

@vezenovm vezenovm commented Jun 26, 2024

Description

Problem*

Resolves #5210

Summary*

For context it is good to start with the linked issue and the discussion.

In the linked issue discussion, a non-existent trait implementation would pass type checking and fail during monomorphization. It turns out the linked issue's error was not that the compiler should error with No impl found ... but rather that the impl has stricter requirements than the trait. When we move the where clause to the trait impl we get the expected no matching impl error as expected.

But now the following code from the issue will have this error:
Screenshot 2024-06-26 at 4 30 39 PM

We will also error if the object type in a trait constraint has different generics:

trait MyTrait { }

trait Bar<T> {
    fn bar<U>() where Option<T>: MyTrait;
}

impl<A> Bar<A> for () {
    fn bar<B>() where Option<B>: MyTrait {}
}

Will return the following error:
Screenshot 2024-07-10 at 4 57 22 PM

I have also attached a test showing how we get the expected no impl found error when the where clause is accurately placed on the trait impl rather than the trait impl method.

Additional Context

The way we attach trait impl where clauses onto methods did complicate things a little. We should consider maintaining a clearer separation for where clauses on impls and where clauses on functions.

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [For Experimental Features] 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 a team June 26, 2024 20:26
@TomAFrench
Copy link
Member

Looking at the issue in more detail now but doesn't this just boil down to prohibiting any trait bounds on the impl? Would this not be simpler + clearer than allowing it in the situation where it matches up with the trait?

@jfecher
Copy link
Contributor

jfecher commented Jun 26, 2024

@TomAFrench we'd still want to allow trait bounds on an impl's method if the corresponding trait method also requires that impl. It's not the most common feature but it does match Rust's behavior.

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.

We should catch the case where the generics (or object type) on these trait constraints differ as well.

@vezenovm
Copy link
Contributor Author

vezenovm commented Jul 18, 2024

Looks like this still does not catch the case where the generics differ:

Ah yes I missed accounting for the trait generics. This case now fails with the following:
Screenshot 2024-07-18 at 2 14 07 PM

I have added a test in the frontend tests as well.

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.

LGTM

@vezenovm vezenovm enabled auto-merge July 18, 2024 18:27
@vezenovm vezenovm added this pull request to the merge queue Jul 18, 2024
Merged via the queue into master with commit ece033f Jul 18, 2024
45 of 47 checks passed
@vezenovm vezenovm deleted the mv/regression-5210 branch July 18, 2024 18:50
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jul 19, 2024
chore(docs): Docs for turbofish operator (noir-lang/noir#5555)
fix(frontend): Error for when impl is stricter than trait (noir-lang/noir#5343)
chore: filter warnings from elaborator in Aztec Macros (noir-lang/noir#5556)
fix: Don't panic when a macro fails to resolve (noir-lang/noir#5537)
fix(ssa): More robust array deduplication check (noir-lang/noir#5547)
fix: Fix occurs check (noir-lang/noir#5535)
fix: type_of for pointer types (noir-lang/noir#5536)
chore: Release Noir(0.32.0) (noir-lang/noir#5268)
fix: revert PR #5449 (noir-lang/noir#5548)
fix: never panic in LSP inlay hints (noir-lang/noir#5534)
feat: LSP document symbol (noir-lang/noir#5532)
feat: add comptime support for `modulus_*` compiler builtins (noir-lang/noir#5530)
chore: Remove unknown annotation warning (noir-lang/noir#5531)
feat: Add TraitConstraint type (noir-lang/noir#5499)
fix: Error on empty function bodies (noir-lang/noir#5519)
feat: LSP inlay hints for let and global (noir-lang/noir#5510)
chore: Remove dbg on find_func_with_name (noir-lang/noir#5526)
chore: Remove the remainder of legacy code (noir-lang/noir#5525)
chore: Remove `--use-legacy` and resolution code (noir-lang/noir#5248)
chore: switch to Noir Keccak implementation with variable size support (noir-lang/noir#5508)
chore: standardize experimental feature disclaimer across documentation (noir-lang/noir#5367)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jul 19, 2024
chore(docs): Docs for turbofish operator (noir-lang/noir#5555)
fix(frontend): Error for when impl is stricter than trait (noir-lang/noir#5343)
chore: filter warnings from elaborator in Aztec Macros (noir-lang/noir#5556)
fix: Don't panic when a macro fails to resolve (noir-lang/noir#5537)
fix(ssa): More robust array deduplication check (noir-lang/noir#5547)
fix: Fix occurs check (noir-lang/noir#5535)
fix: type_of for pointer types (noir-lang/noir#5536)
chore: Release Noir(0.32.0) (noir-lang/noir#5268)
fix: revert PR #5449 (noir-lang/noir#5548)
fix: never panic in LSP inlay hints (noir-lang/noir#5534)
feat: LSP document symbol (noir-lang/noir#5532)
feat: add comptime support for `modulus_*` compiler builtins (noir-lang/noir#5530)
chore: Remove unknown annotation warning (noir-lang/noir#5531)
feat: Add TraitConstraint type (noir-lang/noir#5499)
fix: Error on empty function bodies (noir-lang/noir#5519)
feat: LSP inlay hints for let and global (noir-lang/noir#5510)
chore: Remove dbg on find_func_with_name (noir-lang/noir#5526)
chore: Remove the remainder of legacy code (noir-lang/noir#5525)
chore: Remove `--use-legacy` and resolution code (noir-lang/noir#5248)
chore: switch to Noir Keccak implementation with variable size support (noir-lang/noir#5508)
chore: standardize experimental feature disclaimer across documentation (noir-lang/noir#5367)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jul 20, 2024
…g/noir#5572)

chore: disable aztec-packages CI checks (noir-lang/noir#5566)
feat: LSP inlay parameter hints (noir-lang/noir#5553)
feat: Add `TraitDefinition::as_trait_constraint()` (noir-lang/noir#5541)
fix: Fix `uhashmap` test name (noir-lang/noir#5563)
fix: let unary traits work at comptime (noir-lang/noir#5507)
feat: Add a compile-time hash map type (noir-lang/noir#5543)
chore(docs): Docs for turbofish operator (noir-lang/noir#5555)
fix(frontend): Error for when impl is stricter than trait (noir-lang/noir#5343)
chore: filter warnings from elaborator in Aztec Macros (noir-lang/noir#5556)
fix: Don't panic when a macro fails to resolve (noir-lang/noir#5537)
fix(ssa): More robust array deduplication check (noir-lang/noir#5547)
fix: Fix occurs check (noir-lang/noir#5535)
fix: type_of for pointer types (noir-lang/noir#5536)
chore: Release Noir(0.32.0) (noir-lang/noir#5268)
fix: revert PR #5449 (noir-lang/noir#5548)
fix: never panic in LSP inlay hints (noir-lang/noir#5534)
feat: LSP document symbol (noir-lang/noir#5532)
feat: add comptime support for `modulus_*` compiler builtins (noir-lang/noir#5530)
chore: Remove unknown annotation warning (noir-lang/noir#5531)
feat: Add TraitConstraint type (noir-lang/noir#5499)
fix: Error on empty function bodies (noir-lang/noir#5519)
feat: LSP inlay hints for let and global (noir-lang/noir#5510)
chore: Remove dbg on find_func_with_name (noir-lang/noir#5526)
chore: Remove the remainder of legacy code (noir-lang/noir#5525)
chore: Remove `--use-legacy` and resolution code (noir-lang/noir#5248)
chore: switch to Noir Keccak implementation with variable size support (noir-lang/noir#5508)
chore: standardize experimental feature disclaimer across documentation (noir-lang/noir#5367)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jul 20, 2024
chore: disable aztec-packages CI checks (noir-lang/noir#5566)
feat: LSP inlay parameter hints (noir-lang/noir#5553)
feat: Add `TraitDefinition::as_trait_constraint()` (noir-lang/noir#5541)
fix: Fix `uhashmap` test name (noir-lang/noir#5563)
fix: let unary traits work at comptime (noir-lang/noir#5507)
feat: Add a compile-time hash map type (noir-lang/noir#5543)
chore(docs): Docs for turbofish operator (noir-lang/noir#5555)
fix(frontend): Error for when impl is stricter than trait (noir-lang/noir#5343)
chore: filter warnings from elaborator in Aztec Macros (noir-lang/noir#5556)
fix: Don't panic when a macro fails to resolve (noir-lang/noir#5537)
fix(ssa): More robust array deduplication check (noir-lang/noir#5547)
fix: Fix occurs check (noir-lang/noir#5535)
fix: type_of for pointer types (noir-lang/noir#5536)
chore: Release Noir(0.32.0) (noir-lang/noir#5268)
fix: revert PR #5449 (noir-lang/noir#5548)
fix: never panic in LSP inlay hints (noir-lang/noir#5534)
feat: LSP document symbol (noir-lang/noir#5532)
feat: add comptime support for `modulus_*` compiler builtins (noir-lang/noir#5530)
chore: Remove unknown annotation warning (noir-lang/noir#5531)
feat: Add TraitConstraint type (noir-lang/noir#5499)
fix: Error on empty function bodies (noir-lang/noir#5519)
feat: LSP inlay hints for let and global (noir-lang/noir#5510)
chore: Remove dbg on find_func_with_name (noir-lang/noir#5526)
chore: Remove the remainder of legacy code (noir-lang/noir#5525)
chore: Remove `--use-legacy` and resolution code (noir-lang/noir#5248)
chore: switch to Noir Keccak implementation with variable size support (noir-lang/noir#5508)
chore: standardize experimental feature disclaimer across documentation (noir-lang/noir#5367)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jul 21, 2024
…g/noir#5572)

chore: disable aztec-packages CI checks (noir-lang/noir#5566)
feat: LSP inlay parameter hints (noir-lang/noir#5553)
feat: Add `TraitDefinition::as_trait_constraint()` (noir-lang/noir#5541)
fix: Fix `uhashmap` test name (noir-lang/noir#5563)
fix: let unary traits work at comptime (noir-lang/noir#5507)
feat: Add a compile-time hash map type (noir-lang/noir#5543)
chore(docs): Docs for turbofish operator (noir-lang/noir#5555)
fix(frontend): Error for when impl is stricter than trait (noir-lang/noir#5343)
chore: filter warnings from elaborator in Aztec Macros (noir-lang/noir#5556)
fix: Don't panic when a macro fails to resolve (noir-lang/noir#5537)
fix(ssa): More robust array deduplication check (noir-lang/noir#5547)
fix: Fix occurs check (noir-lang/noir#5535)
fix: type_of for pointer types (noir-lang/noir#5536)
chore: Release Noir(0.32.0) (noir-lang/noir#5268)
fix: revert PR #5449 (noir-lang/noir#5548)
fix: never panic in LSP inlay hints (noir-lang/noir#5534)
feat: LSP document symbol (noir-lang/noir#5532)
feat: add comptime support for `modulus_*` compiler builtins (noir-lang/noir#5530)
chore: Remove unknown annotation warning (noir-lang/noir#5531)
feat: Add TraitConstraint type (noir-lang/noir#5499)
fix: Error on empty function bodies (noir-lang/noir#5519)
feat: LSP inlay hints for let and global (noir-lang/noir#5510)
chore: Remove dbg on find_func_with_name (noir-lang/noir#5526)
chore: Remove the remainder of legacy code (noir-lang/noir#5525)
chore: Remove `--use-legacy` and resolution code (noir-lang/noir#5248)
chore: switch to Noir Keccak implementation with variable size support (noir-lang/noir#5508)
chore: standardize experimental feature disclaimer across documentation (noir-lang/noir#5367)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jul 21, 2024
chore: disable aztec-packages CI checks (noir-lang/noir#5566)
feat: LSP inlay parameter hints (noir-lang/noir#5553)
feat: Add `TraitDefinition::as_trait_constraint()` (noir-lang/noir#5541)
fix: Fix `uhashmap` test name (noir-lang/noir#5563)
fix: let unary traits work at comptime (noir-lang/noir#5507)
feat: Add a compile-time hash map type (noir-lang/noir#5543)
chore(docs): Docs for turbofish operator (noir-lang/noir#5555)
fix(frontend): Error for when impl is stricter than trait (noir-lang/noir#5343)
chore: filter warnings from elaborator in Aztec Macros (noir-lang/noir#5556)
fix: Don't panic when a macro fails to resolve (noir-lang/noir#5537)
fix(ssa): More robust array deduplication check (noir-lang/noir#5547)
fix: Fix occurs check (noir-lang/noir#5535)
fix: type_of for pointer types (noir-lang/noir#5536)
chore: Release Noir(0.32.0) (noir-lang/noir#5268)
fix: revert PR #5449 (noir-lang/noir#5548)
fix: never panic in LSP inlay hints (noir-lang/noir#5534)
feat: LSP document symbol (noir-lang/noir#5532)
feat: add comptime support for `modulus_*` compiler builtins (noir-lang/noir#5530)
chore: Remove unknown annotation warning (noir-lang/noir#5531)
feat: Add TraitConstraint type (noir-lang/noir#5499)
fix: Error on empty function bodies (noir-lang/noir#5519)
feat: LSP inlay hints for let and global (noir-lang/noir#5510)
chore: Remove dbg on find_func_with_name (noir-lang/noir#5526)
chore: Remove the remainder of legacy code (noir-lang/noir#5525)
chore: Remove `--use-legacy` and resolution code (noir-lang/noir#5248)
chore: switch to Noir Keccak implementation with variable size support (noir-lang/noir#5508)
chore: standardize experimental feature disclaimer across documentation (noir-lang/noir#5367)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jul 22, 2024
…g/noir#5572)

chore: disable aztec-packages CI checks (noir-lang/noir#5566)
feat: LSP inlay parameter hints (noir-lang/noir#5553)
feat: Add `TraitDefinition::as_trait_constraint()` (noir-lang/noir#5541)
fix: Fix `uhashmap` test name (noir-lang/noir#5563)
fix: let unary traits work at comptime (noir-lang/noir#5507)
feat: Add a compile-time hash map type (noir-lang/noir#5543)
chore(docs): Docs for turbofish operator (noir-lang/noir#5555)
fix(frontend): Error for when impl is stricter than trait (noir-lang/noir#5343)
chore: filter warnings from elaborator in Aztec Macros (noir-lang/noir#5556)
fix: Don't panic when a macro fails to resolve (noir-lang/noir#5537)
fix(ssa): More robust array deduplication check (noir-lang/noir#5547)
fix: Fix occurs check (noir-lang/noir#5535)
fix: type_of for pointer types (noir-lang/noir#5536)
chore: Release Noir(0.32.0) (noir-lang/noir#5268)
fix: revert PR #5449 (noir-lang/noir#5548)
fix: never panic in LSP inlay hints (noir-lang/noir#5534)
feat: LSP document symbol (noir-lang/noir#5532)
feat: add comptime support for `modulus_*` compiler builtins (noir-lang/noir#5530)
chore: Remove unknown annotation warning (noir-lang/noir#5531)
feat: Add TraitConstraint type (noir-lang/noir#5499)
fix: Error on empty function bodies (noir-lang/noir#5519)
feat: LSP inlay hints for let and global (noir-lang/noir#5510)
chore: Remove dbg on find_func_with_name (noir-lang/noir#5526)
chore: Remove the remainder of legacy code (noir-lang/noir#5525)
chore: Remove `--use-legacy` and resolution code (noir-lang/noir#5248)
chore: switch to Noir Keccak implementation with variable size support (noir-lang/noir#5508)
chore: standardize experimental feature disclaimer across documentation (noir-lang/noir#5367)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jul 22, 2024
chore: disable aztec-packages CI checks (noir-lang/noir#5566)
feat: LSP inlay parameter hints (noir-lang/noir#5553)
feat: Add `TraitDefinition::as_trait_constraint()` (noir-lang/noir#5541)
fix: Fix `uhashmap` test name (noir-lang/noir#5563)
fix: let unary traits work at comptime (noir-lang/noir#5507)
feat: Add a compile-time hash map type (noir-lang/noir#5543)
chore(docs): Docs for turbofish operator (noir-lang/noir#5555)
fix(frontend): Error for when impl is stricter than trait (noir-lang/noir#5343)
chore: filter warnings from elaborator in Aztec Macros (noir-lang/noir#5556)
fix: Don't panic when a macro fails to resolve (noir-lang/noir#5537)
fix(ssa): More robust array deduplication check (noir-lang/noir#5547)
fix: Fix occurs check (noir-lang/noir#5535)
fix: type_of for pointer types (noir-lang/noir#5536)
chore: Release Noir(0.32.0) (noir-lang/noir#5268)
fix: revert PR #5449 (noir-lang/noir#5548)
fix: never panic in LSP inlay hints (noir-lang/noir#5534)
feat: LSP document symbol (noir-lang/noir#5532)
feat: add comptime support for `modulus_*` compiler builtins (noir-lang/noir#5530)
chore: Remove unknown annotation warning (noir-lang/noir#5531)
feat: Add TraitConstraint type (noir-lang/noir#5499)
fix: Error on empty function bodies (noir-lang/noir#5519)
feat: LSP inlay hints for let and global (noir-lang/noir#5510)
chore: Remove dbg on find_func_with_name (noir-lang/noir#5526)
chore: Remove the remainder of legacy code (noir-lang/noir#5525)
chore: Remove `--use-legacy` and resolution code (noir-lang/noir#5248)
chore: switch to Noir Keccak implementation with variable size support (noir-lang/noir#5508)
chore: standardize experimental feature disclaimer across documentation (noir-lang/noir#5367)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jul 23, 2024
…onsist of exactly two segments (noir-lang/noir#5577)

fix: Run macros within comptime contexts (noir-lang/noir#5576)
chore: Remove comptime scanning pass (noir-lang/noir#5569)
fix(frontend): Disallow signed numeric generics (noir-lang/noir#5572)
chore: disable aztec-packages CI checks (noir-lang/noir#5566)
feat: LSP inlay parameter hints (noir-lang/noir#5553)
feat: Add `TraitDefinition::as_trait_constraint()` (noir-lang/noir#5541)
fix: Fix `uhashmap` test name (noir-lang/noir#5563)
fix: let unary traits work at comptime (noir-lang/noir#5507)
feat: Add a compile-time hash map type (noir-lang/noir#5543)
chore(docs): Docs for turbofish operator (noir-lang/noir#5555)
fix(frontend): Error for when impl is stricter than trait (noir-lang/noir#5343)
chore: filter warnings from elaborator in Aztec Macros (noir-lang/noir#5556)
fix: Don't panic when a macro fails to resolve (noir-lang/noir#5537)
fix(ssa): More robust array deduplication check (noir-lang/noir#5547)
fix: Fix occurs check (noir-lang/noir#5535)
fix: type_of for pointer types (noir-lang/noir#5536)
chore: Release Noir(0.32.0) (noir-lang/noir#5268)
fix: revert PR #5449 (noir-lang/noir#5548)
fix: never panic in LSP inlay hints (noir-lang/noir#5534)
feat: LSP document symbol (noir-lang/noir#5532)
feat: add comptime support for `modulus_*` compiler builtins (noir-lang/noir#5530)
chore: Remove unknown annotation warning (noir-lang/noir#5531)
feat: Add TraitConstraint type (noir-lang/noir#5499)
fix: Error on empty function bodies (noir-lang/noir#5519)
feat: LSP inlay hints for let and global (noir-lang/noir#5510)
chore: Remove dbg on find_func_with_name (noir-lang/noir#5526)
chore: Remove the remainder of legacy code (noir-lang/noir#5525)
chore: Remove `--use-legacy` and resolution code (noir-lang/noir#5248)
chore: switch to Noir Keccak implementation with variable size support (noir-lang/noir#5508)
chore: standardize experimental feature disclaimer across documentation (noir-lang/noir#5367)
vezenovm added a commit to AztecProtocol/aztec-packages that referenced this pull request Jul 23, 2024
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
fix: allow calling a trait method with paths that don't consist of
exactly two segments (noir-lang/noir#5577)
fix: Run macros within comptime contexts
(noir-lang/noir#5576)
chore: Remove comptime scanning pass
(noir-lang/noir#5569)
fix(frontend): Disallow signed numeric generics
(noir-lang/noir#5572)
chore: disable aztec-packages CI checks
(noir-lang/noir#5566)
feat: LSP inlay parameter hints
(noir-lang/noir#5553)
feat: Add `TraitDefinition::as_trait_constraint()`
(noir-lang/noir#5541)
fix: Fix `uhashmap` test name
(noir-lang/noir#5563)
fix: let unary traits work at comptime
(noir-lang/noir#5507)
feat: Add a compile-time hash map type
(noir-lang/noir#5543)
chore(docs): Docs for turbofish operator
(noir-lang/noir#5555)
fix(frontend): Error for when impl is stricter than trait
(noir-lang/noir#5343)
chore: filter warnings from elaborator in Aztec Macros
(noir-lang/noir#5556)
fix: Don't panic when a macro fails to resolve
(noir-lang/noir#5537)
fix(ssa): More robust array deduplication check
(noir-lang/noir#5547)
fix: Fix occurs check (noir-lang/noir#5535)
fix: type_of for pointer types
(noir-lang/noir#5536)
chore: Release Noir(0.32.0)
(noir-lang/noir#5268)
fix: revert PR #5449 (noir-lang/noir#5548)
fix: never panic in LSP inlay hints
(noir-lang/noir#5534)
feat: LSP document symbol (noir-lang/noir#5532)
feat: add comptime support for `modulus_*` compiler builtins
(noir-lang/noir#5530)
chore: Remove unknown annotation warning
(noir-lang/noir#5531)
feat: Add TraitConstraint type
(noir-lang/noir#5499)
fix: Error on empty function bodies
(noir-lang/noir#5519)
feat: LSP inlay hints for let and global
(noir-lang/noir#5510)
chore: Remove dbg on find_func_with_name
(noir-lang/noir#5526)
chore: Remove the remainder of legacy code
(noir-lang/noir#5525)
chore: Remove `--use-legacy` and resolution code
(noir-lang/noir#5248)
chore: switch to Noir Keccak implementation with variable size support
(noir-lang/noir#5508)
chore: standardize experimental feature disclaimer across documentation
(noir-lang/noir#5367)
END_COMMIT_OVERRIDE

---------

Co-authored-by: sirasistant <sirasistant@gmail.com>
Co-authored-by: Maxim Vezenov <mvezenov@gmail.com>
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jul 23, 2024
…er (noir-lang/noir#5589)

feat: Implement `poseidon2_permutation` in comptime interpreter (noir-lang/noir#5590)
fix: 'cannot eval non-comptime global' error (noir-lang/noir#5586)
fix(frontend)!: Restrict numeric generic types to unsigned ints up to `u32` (noir-lang/noir#5581)
feat: Implement `zeroed` in the interpreter (noir-lang/noir#5540)
fix: correctly track sources for open LSP documents (noir-lang/noir#5561)
fix: error on trait impl generics count mismatch (noir-lang/noir#5582)
fix: allow calling a trait method with paths that don't consist of exactly two segments (noir-lang/noir#5577)
fix: Run macros within comptime contexts (noir-lang/noir#5576)
chore: Remove comptime scanning pass (noir-lang/noir#5569)
fix(frontend): Disallow signed numeric generics (noir-lang/noir#5572)
chore: disable aztec-packages CI checks (noir-lang/noir#5566)
feat: LSP inlay parameter hints (noir-lang/noir#5553)
feat: Add `TraitDefinition::as_trait_constraint()` (noir-lang/noir#5541)
fix: Fix `uhashmap` test name (noir-lang/noir#5563)
fix: let unary traits work at comptime (noir-lang/noir#5507)
feat: Add a compile-time hash map type (noir-lang/noir#5543)
chore(docs): Docs for turbofish operator (noir-lang/noir#5555)
fix(frontend): Error for when impl is stricter than trait (noir-lang/noir#5343)
chore: filter warnings from elaborator in Aztec Macros (noir-lang/noir#5556)
fix: Don't panic when a macro fails to resolve (noir-lang/noir#5537)
fix(ssa): More robust array deduplication check (noir-lang/noir#5547)
fix: Fix occurs check (noir-lang/noir#5535)
fix: type_of for pointer types (noir-lang/noir#5536)
chore: Release Noir(0.32.0) (noir-lang/noir#5268)
fix: revert PR #5449 (noir-lang/noir#5548)
fix: never panic in LSP inlay hints (noir-lang/noir#5534)
feat: LSP document symbol (noir-lang/noir#5532)
feat: add comptime support for `modulus_*` compiler builtins (noir-lang/noir#5530)
chore: Remove unknown annotation warning (noir-lang/noir#5531)
feat: Add TraitConstraint type (noir-lang/noir#5499)
fix: Error on empty function bodies (noir-lang/noir#5519)
feat: LSP inlay hints for let and global (noir-lang/noir#5510)
chore: Remove dbg on find_func_with_name (noir-lang/noir#5526)
chore: Remove the remainder of legacy code (noir-lang/noir#5525)
chore: Remove `--use-legacy` and resolution code (noir-lang/noir#5248)
chore: switch to Noir Keccak implementation with variable size support (noir-lang/noir#5508)
chore: standardize experimental feature disclaimer across documentation (noir-lang/noir#5367)
vezenovm added a commit to AztecProtocol/aztec-packages that referenced this pull request Jul 23, 2024
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: Add a regression test for bit not on untyped integer
(noir-lang/noir#5589)
feat: Implement `poseidon2_permutation` in comptime interpreter
(noir-lang/noir#5590)
fix: 'cannot eval non-comptime global' error
(noir-lang/noir#5586)
fix(frontend)!: Restrict numeric generic types to unsigned ints up to
`u32` (noir-lang/noir#5581)
feat: Implement `zeroed` in the interpreter
(noir-lang/noir#5540)
fix: correctly track sources for open LSP documents
(noir-lang/noir#5561)
fix: error on trait impl generics count mismatch
(noir-lang/noir#5582)
fix: allow calling a trait method with paths that don't consist of
exactly two segments (noir-lang/noir#5577)
fix: Run macros within comptime contexts
(noir-lang/noir#5576)
chore: Remove comptime scanning pass
(noir-lang/noir#5569)
fix(frontend): Disallow signed numeric generics
(noir-lang/noir#5572)
chore: disable aztec-packages CI checks
(noir-lang/noir#5566)
feat: LSP inlay parameter hints
(noir-lang/noir#5553)
feat: Add `TraitDefinition::as_trait_constraint()`
(noir-lang/noir#5541)
fix: Fix `uhashmap` test name
(noir-lang/noir#5563)
fix: let unary traits work at comptime
(noir-lang/noir#5507)
feat: Add a compile-time hash map type
(noir-lang/noir#5543)
chore(docs): Docs for turbofish operator
(noir-lang/noir#5555)
fix(frontend): Error for when impl is stricter than trait
(noir-lang/noir#5343)
chore: filter warnings from elaborator in Aztec Macros
(noir-lang/noir#5556)
fix: Don't panic when a macro fails to resolve
(noir-lang/noir#5537)
fix(ssa): More robust array deduplication check
(noir-lang/noir#5547)
fix: Fix occurs check (noir-lang/noir#5535)
fix: type_of for pointer types
(noir-lang/noir#5536)
chore: Release Noir(0.32.0)
(noir-lang/noir#5268)
fix: revert PR #5449 (noir-lang/noir#5548)
fix: never panic in LSP inlay hints
(noir-lang/noir#5534)
feat: LSP document symbol (noir-lang/noir#5532)
feat: add comptime support for `modulus_*` compiler builtins
(noir-lang/noir#5530)
chore: Remove unknown annotation warning
(noir-lang/noir#5531)
feat: Add TraitConstraint type
(noir-lang/noir#5499)
fix: Error on empty function bodies
(noir-lang/noir#5519)
feat: LSP inlay hints for let and global
(noir-lang/noir#5510)
chore: Remove dbg on find_func_with_name
(noir-lang/noir#5526)
chore: Remove the remainder of legacy code
(noir-lang/noir#5525)
chore: Remove `--use-legacy` and resolution code
(noir-lang/noir#5248)
chore: switch to Noir Keccak implementation with variable size support
(noir-lang/noir#5508)
chore: standardize experimental feature disclaimer across documentation
(noir-lang/noir#5367)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Maxim Vezenov <mvezenov@gmail.com>
rahul-kothari pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Jul 24, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.47.0](aztec-package-v0.46.7...aztec-package-v0.47.0)
(2024-07-24)


### Features

* Bootstrap devnet
([#7578](#7578))
([ade373b](ade373b))
* Bootstrap devnet on CI
([#7534](#7534))
([77ce1c3](77ce1c3))
* Prover node
([#7452](#7452))
([609a68f](609a68f)),
closes
[#7346](#7346)
* TXE nr deployments, dependency cleanup for CLI
([#7548](#7548))
([92ff2fa](92ff2fa))
</details>

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

##
[0.47.0](barretenberg.js-v0.46.7...barretenberg.js-v0.47.0)
(2024-07-24)


### Miscellaneous

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

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

##
[0.47.0](aztec-packages-v0.46.7...aztec-packages-v0.47.0)
(2024-07-24)


### ⚠ BREAKING CHANGES

* **frontend:** Restrict numeric generic types to unsigned ints up to
`u32` (noir-lang/noir#5581)

### Features

* Add `TraitDefinition::as_trait_constraint()`
(noir-lang/noir#5541)
([a26419f](a26419f))
* Add `TraitDefinition::as_trait_constraint()`
(noir-lang/noir#5541)
([7799fc6](7799fc6))
* Add `TraitDefinition::as_trait_constraint()`
(noir-lang/noir#5541)
([c39bcdc](c39bcdc))
* Add a compile-time hash map type
(noir-lang/noir#5543)
([a26419f](a26419f))
* Add a compile-time hash map type
(noir-lang/noir#5543)
([7799fc6](7799fc6))
* Add a compile-time hash map type
(noir-lang/noir#5543)
([c39bcdc](c39bcdc))
* Add comptime support for `modulus_*` compiler builtins
(noir-lang/noir#5530)
([a26419f](a26419f))
* Add comptime support for `modulus_*` compiler builtins
(noir-lang/noir#5530)
([7799fc6](7799fc6))
* Add comptime support for `modulus_*` compiler builtins
(noir-lang/noir#5530)
([c39bcdc](c39bcdc))
* Add debug codelens action
(noir-lang/noir#5474)
([4ec86c0](4ec86c0))
* Add support for usage of `super` in import paths
(noir-lang/noir#5502)
([4ec86c0](4ec86c0))
* Add TraitConstraint type (noir-lang/noir#5499)
([a26419f](a26419f))
* Add TraitConstraint type (noir-lang/noir#5499)
([7799fc6](7799fc6))
* Add TraitConstraint type (noir-lang/noir#5499)
([c39bcdc](c39bcdc))
* Add unquote function (noir-lang/noir#5497)
([4ec86c0](4ec86c0))
* Allow arguments to attribute functions
(noir-lang/noir#5494)
([4ec86c0](4ec86c0))
* Allow comptime attributes on traits & functions
(noir-lang/noir#5496)
([4ec86c0](4ec86c0))
* **avm-simulator:** Keccakf1600 opcode
([#7545](#7545))
([b81c503](b81c503))
* **avm:** Concurrency improvements
([#7495](#7495))
([0d5c066](0d5c066))
* Avoid heap allocs when going to/from field
([#7547](#7547))
([086522d](086522d))
* Bootstrap devnet
([#7578](#7578))
([ade373b](ade373b))
* Bootstrap devnet on CI
([#7534](#7534))
([77ce1c3](77ce1c3))
* Bridge devcoin
([#7595](#7595))
([a316fcd](a316fcd)),
closes
[#7571](#7571)
* Bus updates
([#7522](#7522))
([bf774c2](bf774c2))
* **docs:** Update sandbox commands, add reference, fix tutorials
([#7580](#7580))
([4f07290](4f07290))
* Faucet takes mnemonic
([#7546](#7546))
([dbd054f](dbd054f))
* Handle ACIR calls in the debugger
(noir-lang/noir#5051)
([4ec86c0](4ec86c0))
* Implement `poseidon2_permutation` in comptime interpreter
(noir-lang/noir#5590)
([a26419f](a26419f))
* Implement `zeroed` in the interpreter
(noir-lang/noir#5540)
([a26419f](a26419f))
* LSP document symbol (noir-lang/noir#5532)
([a26419f](a26419f))
* LSP document symbol (noir-lang/noir#5532)
([7799fc6](7799fc6))
* LSP document symbol (noir-lang/noir#5532)
([c39bcdc](c39bcdc))
* LSP hover (noir-lang/noir#5491)
([4ec86c0](4ec86c0))
* LSP inlay hints for let and global
(noir-lang/noir#5510)
([a26419f](a26419f))
* LSP inlay hints for let and global
(noir-lang/noir#5510)
([7799fc6](7799fc6))
* LSP inlay hints for let and global
(noir-lang/noir#5510)
([c39bcdc](c39bcdc))
* LSP inlay parameter hints
(noir-lang/noir#5553)
([a26419f](a26419f))
* LSP inlay parameter hints
(noir-lang/noir#5553)
([7799fc6](7799fc6))
* LSP inlay parameter hints
(noir-lang/noir#5553)
([c39bcdc](c39bcdc))
* Make Brillig do integer arithmetic operations using u128 instead of
Bigint
([#7518](#7518))
([4a2011e](4a2011e))
* **nargo:** Default expression width field in `Nargo.toml`
(noir-lang/noir#5505)
([4ec86c0](4ec86c0))
* Populate recipient in outgoing
([#7390](#7390))
([3293244](3293244))
* Prover node
([#7452](#7452))
([609a68f](609a68f)),
closes
[#7346](#7346)
* Simple sparse commitment
([#7488](#7488))
([df08874](df08874))
* Skip reading values immediately after it being written into an array
(noir-lang/noir#5449)
([4ec86c0](4ec86c0))
* Solidity honk verifier
([#5485](#5485))
([8dfebe4](8dfebe4))
* Trimming 1 byte from compressed repr of Point
([#7505](#7505))
([9a68034](9a68034))
* TS keccakf1600
([#7542](#7542))
([55fb93d](55fb93d))
* TXE nr deployments, dependency cleanup for CLI
([#7548](#7548))
([92ff2fa](92ff2fa))


### Bug Fixes

* 'cannot eval non-comptime global' error
(noir-lang/noir#5586)
([a26419f](a26419f))
* Add yq to build image
([#7338](#7338))
([6035595](6035595))
* Allow calling a trait method with paths that don't consist of exactly
two segments (noir-lang/noir#5577)
([a26419f](a26419f))
* Allow calling a trait method with paths that don't consist of exactly
two segments (noir-lang/noir#5577)
([7799fc6](7799fc6))
* **avm:** One too many range check rows
([#7499](#7499))
([deb6918](deb6918))
* **aztec-nr:** Make impls not stricter than traits
([#7502](#7502))
([c498934](c498934))
* Cli fixes
([#7543](#7543))
([689000a](689000a))
* Correctly track sources for open LSP documents
(noir-lang/noir#5561)
([a26419f](a26419f))
* Do not load the BN254 CRS for verifying client ivc proofs
([#7556](#7556))
([e515b71](e515b71))
* Don't bind ports when running the cli
([#7596](#7596))
([5a907c6](5a907c6))
* Don't panic when a macro fails to resolve
(noir-lang/noir#5537)
([a26419f](a26419f))
* Don't panic when a macro fails to resolve
(noir-lang/noir#5537)
([7799fc6](7799fc6))
* Don't panic when a macro fails to resolve
(noir-lang/noir#5537)
([c39bcdc](c39bcdc))
* Don't type error when calling certain trait impls in the interpreter
(noir-lang/noir#5471)
([4ec86c0](4ec86c0))
* Error on empty function bodies
(noir-lang/noir#5519)
([a26419f](a26419f))
* Error on empty function bodies
(noir-lang/noir#5519)
([7799fc6](7799fc6))
* Error on empty function bodies
(noir-lang/noir#5519)
([c39bcdc](c39bcdc))
* Error on trait impl generics count mismatch
(noir-lang/noir#5582)
([a26419f](a26419f))
* Fix `uhashmap` test name (noir-lang/noir#5563)
([a26419f](a26419f))
* Fix `uhashmap` test name (noir-lang/noir#5563)
([7799fc6](7799fc6))
* Fix `uhashmap` test name (noir-lang/noir#5563)
([c39bcdc](c39bcdc))
* Fix occurs check (noir-lang/noir#5535)
([a26419f](a26419f))
* Fix occurs check (noir-lang/noir#5535)
([7799fc6](7799fc6))
* Fix occurs check (noir-lang/noir#5535)
([c39bcdc](c39bcdc))
* **frontend:** Disallow signed numeric generics
(noir-lang/noir#5572)
([a26419f](a26419f))
* **frontend:** Disallow signed numeric generics
(noir-lang/noir#5572)
([7799fc6](7799fc6))
* **frontend:** Disallow signed numeric generics
(noir-lang/noir#5572)
([c39bcdc](c39bcdc))
* **frontend:** Error for when impl is stricter than trait
(noir-lang/noir#5343)
([a26419f](a26419f))
* **frontend:** Error for when impl is stricter than trait
(noir-lang/noir#5343)
([7799fc6](7799fc6))
* **frontend:** Error for when impl is stricter than trait
(noir-lang/noir#5343)
([c39bcdc](c39bcdc))
* **frontend:** Restrict numeric generic types to unsigned ints up to
`u32` (noir-lang/noir#5581)
([a26419f](a26419f))
* Let unary traits work at comptime
(noir-lang/noir#5507)
([a26419f](a26419f))
* Let unary traits work at comptime
(noir-lang/noir#5507)
([7799fc6](7799fc6))
* Let unary traits work at comptime
(noir-lang/noir#5507)
([c39bcdc](c39bcdc))
* Lsp hover wasn't always working
(noir-lang/noir#5515)
([4ec86c0](4ec86c0))
* Mutability in the comptime interpreter
(noir-lang/noir#5517)
([4ec86c0](4ec86c0))
* Never panic in LSP inlay hints
(noir-lang/noir#5534)
([a26419f](a26419f))
* Never panic in LSP inlay hints
(noir-lang/noir#5534)
([7799fc6](7799fc6))
* Never panic in LSP inlay hints
(noir-lang/noir#5534)
([c39bcdc](c39bcdc))
* Nuke app siloed incoming viewing keys
([#7464](#7464))
([24d353a](24d353a))
* Prover JSON RPC
([#7496](#7496))
([ca584a0](ca584a0))
* Remove custom entrypoint from CLI image
([#7508](#7508))
([c892c6a](c892c6a))
* Revert "feat: Sync from noir
([#7512](#7512))"
([#7558](#7558))
([548701e](548701e))
* Revert PR
[#5449](#5449)
(noir-lang/noir#5548)
([a26419f](a26419f))
* Revert PR
[#5449](#5449)
(noir-lang/noir#5548)
([7799fc6](7799fc6))
* Revert PR
[#5449](#5449)
(noir-lang/noir#5548)
([c39bcdc](c39bcdc))
* Run macros within comptime contexts
(noir-lang/noir#5576)
([a26419f](a26419f))
* Run macros within comptime contexts
(noir-lang/noir#5576)
([7799fc6](7799fc6))
* **ssa:** More robust array deduplication check
(noir-lang/noir#5547)
([a26419f](a26419f))
* **ssa:** More robust array deduplication check
(noir-lang/noir#5547)
([7799fc6](7799fc6))
* **ssa:** More robust array deduplication check
(noir-lang/noir#5547)
([c39bcdc](c39bcdc))
* Type_of for pointer types
(noir-lang/noir#5536)
([a26419f](a26419f))
* Type_of for pointer types
(noir-lang/noir#5536)
([7799fc6](7799fc6))
* Type_of for pointer types
(noir-lang/noir#5536)
([c39bcdc](c39bcdc))


### Miscellaneous

* Add a regression test for bit not on untyped integer
(noir-lang/noir#5589)
([a26419f](a26419f))
* Add benchmark for ecdsa (noir-lang/noir#5113)
([4ec86c0](4ec86c0))
* Added regression test for check_for_underconstrained_values resolve
bug (noir-lang/noir#5490)
([4ec86c0](4ec86c0))
* **avm:** Bump SRS to 1 &lt;< 20
([#7575](#7575))
([fad37a7](fad37a7))
* **avm:** Count non-zero elems and others
([#7498](#7498))
([7d97c0f](7d97c0f))
* **avm:** Nuke declare_views
([#7507](#7507))
([7e07ba9](7e07ba9))
* **avm:** Use commit_sparse
([#7581](#7581))
([6812f2b](6812f2b))
* Bump hardhat version to `2.22.6`
(noir-lang/noir#5514)
([4ec86c0](4ec86c0))
* **ci:** Add workflow to run `nargo check` on external repos
(noir-lang/noir#5355)
([4ec86c0](4ec86c0))
* **ci:** Remove bad colon in yaml file
(noir-lang/noir#5520)
([4ec86c0](4ec86c0))
* Disable aztec-packages CI checks
(noir-lang/noir#5566)
([a26419f](a26419f))
* Disable aztec-packages CI checks
(noir-lang/noir#5566)
([7799fc6](7799fc6))
* Disable aztec-packages CI checks
(noir-lang/noir#5566)
([c39bcdc](c39bcdc))
* **docs:** Docs for turbofish operator
(noir-lang/noir#5555)
([a26419f](a26419f))
* **docs:** Docs for turbofish operator
(noir-lang/noir#5555)
([7799fc6](7799fc6))
* **docs:** Docs for turbofish operator
(noir-lang/noir#5555)
([c39bcdc](c39bcdc))
* **docs:** Fix migration notes
([#7599](#7599))
([ba90e2c](ba90e2c))
* Filter warnings from elaborator in Aztec Macros
(noir-lang/noir#5556)
([a26419f](a26419f))
* Filter warnings from elaborator in Aztec Macros
(noir-lang/noir#5556)
([7799fc6](7799fc6))
* Filter warnings from elaborator in Aztec Macros
(noir-lang/noir#5556)
([c39bcdc](c39bcdc))
* Fix benchmark summary credentials
([#7549](#7549))
([817dd10](817dd10))
* Introduce execution oracle
([#7521](#7521))
([645aec1](645aec1))
* Moving pub_key_to_bytes to aztec-nr
([#7506](#7506))
([5b323a7](5b323a7))
* Noir version for Pedersen commitment and hash
(noir-lang/noir#5431)
([4ec86c0](4ec86c0))
* Optimizing DA cost with new point compression
([#7473](#7473))
([2a5ee4f](2a5ee4f))
* Persist initial header in local store
([#7555](#7555))
([d65c692](d65c692))
* Release Noir(0.32.0) (noir-lang/noir#5268)
([a26419f](a26419f))
* Release Noir(0.32.0) (noir-lang/noir#5268)
([7799fc6](7799fc6))
* Release Noir(0.32.0) (noir-lang/noir#5268)
([c39bcdc](c39bcdc))
* Remove `--use-legacy` and resolution code
(noir-lang/noir#5248)
([a26419f](a26419f))
* Remove `--use-legacy` and resolution code
(noir-lang/noir#5248)
([7799fc6](7799fc6))
* Remove `--use-legacy` and resolution code
(noir-lang/noir#5248)
([c39bcdc](c39bcdc))
* Remove comptime scanning pass
(noir-lang/noir#5569)
([a26419f](a26419f))
* Remove comptime scanning pass
(noir-lang/noir#5569)
([7799fc6](7799fc6))
* Remove dbg on find_func_with_name
(noir-lang/noir#5526)
([a26419f](a26419f))
* Remove dbg on find_func_with_name
(noir-lang/noir#5526)
([7799fc6](7799fc6))
* Remove dbg on find_func_with_name
(noir-lang/noir#5526)
([c39bcdc](c39bcdc))
* Remove dummy arrays
([#7246](#7246))
([a4acd12](a4acd12))
* Remove more aztec-nr warnings (numerics and unused variables)
([#7519](#7519))
([3da86cb](3da86cb))
* Remove the remainder of legacy code
(noir-lang/noir#5525)
([a26419f](a26419f))
* Remove the remainder of legacy code
(noir-lang/noir#5525)
([7799fc6](7799fc6))
* Remove the remainder of legacy code
(noir-lang/noir#5525)
([c39bcdc](c39bcdc))
* Remove unknown annotation warning
(noir-lang/noir#5531)
([a26419f](a26419f))
* Remove unknown annotation warning
(noir-lang/noir#5531)
([7799fc6](7799fc6))
* Remove unknown annotation warning
(noir-lang/noir#5531)
([c39bcdc](c39bcdc))
* Replace relative paths to noir-protocol-circuits
([301b34f](301b34f))
* Replace relative paths to noir-protocol-circuits
([0977dec](0977dec))
* Replace relative paths to noir-protocol-circuits
([da071bf](da071bf))
* Replace relative paths to noir-protocol-circuits
([954bcd7](954bcd7))
* Standardize experimental feature disclaimer across documentation
(noir-lang/noir#5367)
([a26419f](a26419f))
* Standardize experimental feature disclaimer across documentation
(noir-lang/noir#5367)
([7799fc6](7799fc6))
* Standardize experimental feature disclaimer across documentation
(noir-lang/noir#5367)
([c39bcdc](c39bcdc))
* Switch to Noir Keccak implementation with variable size support
(noir-lang/noir#5508)
([a26419f](a26419f))
* Switch to Noir Keccak implementation with variable size support
(noir-lang/noir#5508)
([7799fc6](7799fc6))
* Switch to Noir Keccak implementation with variable size support
(noir-lang/noir#5508)
([c39bcdc](c39bcdc))
* Update typo PR script (noir-lang/noir#5488)
([4ec86c0](4ec86c0))
* Use new let syntax for generic numerics
([#7503](#7503))
([25e6684](25e6684))
</details>

<details><summary>barretenberg: 0.47.0</summary>

##
[0.47.0](barretenberg-v0.46.7...barretenberg-v0.47.0)
(2024-07-24)


### Features

* **avm:** Concurrency improvements
([#7495](#7495))
([0d5c066](0d5c066))
* Bus updates
([#7522](#7522))
([bf774c2](bf774c2))
* Make Brillig do integer arithmetic operations using u128 instead of
Bigint
([#7518](#7518))
([4a2011e](4a2011e))
* Simple sparse commitment
([#7488](#7488))
([df08874](df08874))
* Solidity honk verifier
([#5485](#5485))
([8dfebe4](8dfebe4))


### Bug Fixes

* **avm:** One too many range check rows
([#7499](#7499))
([deb6918](deb6918))
* Do not load the BN254 CRS for verifying client ivc proofs
([#7556](#7556))
([e515b71](e515b71))


### Miscellaneous

* **avm:** Bump SRS to 1 &lt;< 20
([#7575](#7575))
([fad37a7](fad37a7))
* **avm:** Count non-zero elems and others
([#7498](#7498))
([7d97c0f](7d97c0f))
* **avm:** Nuke declare_views
([#7507](#7507))
([7e07ba9](7e07ba9))
* **avm:** Use commit_sparse
([#7581](#7581))
([6812f2b](6812f2b))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request Jul 25, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.47.0](AztecProtocol/aztec-packages@aztec-package-v0.46.7...aztec-package-v0.47.0)
(2024-07-24)


### Features

* Bootstrap devnet
([#7578](AztecProtocol/aztec-packages#7578))
([ade373b](AztecProtocol/aztec-packages@ade373b))
* Bootstrap devnet on CI
([#7534](AztecProtocol/aztec-packages#7534))
([77ce1c3](AztecProtocol/aztec-packages@77ce1c3))
* Prover node
([#7452](AztecProtocol/aztec-packages#7452))
([609a68f](AztecProtocol/aztec-packages@609a68f)),
closes
[#7346](AztecProtocol/aztec-packages#7346)
* TXE nr deployments, dependency cleanup for CLI
([#7548](AztecProtocol/aztec-packages#7548))
([92ff2fa](AztecProtocol/aztec-packages@92ff2fa))
</details>

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

##
[0.47.0](AztecProtocol/aztec-packages@barretenberg.js-v0.46.7...barretenberg.js-v0.47.0)
(2024-07-24)


### Miscellaneous

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

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

##
[0.47.0](AztecProtocol/aztec-packages@aztec-packages-v0.46.7...aztec-packages-v0.47.0)
(2024-07-24)


### ⚠ BREAKING CHANGES

* **frontend:** Restrict numeric generic types to unsigned ints up to
`u32` (noir-lang/noir#5581)

### Features

* Add `TraitDefinition::as_trait_constraint()`
(noir-lang/noir#5541)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Add `TraitDefinition::as_trait_constraint()`
(noir-lang/noir#5541)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Add `TraitDefinition::as_trait_constraint()`
(noir-lang/noir#5541)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Add a compile-time hash map type
(noir-lang/noir#5543)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Add a compile-time hash map type
(noir-lang/noir#5543)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Add a compile-time hash map type
(noir-lang/noir#5543)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Add comptime support for `modulus_*` compiler builtins
(noir-lang/noir#5530)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Add comptime support for `modulus_*` compiler builtins
(noir-lang/noir#5530)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Add comptime support for `modulus_*` compiler builtins
(noir-lang/noir#5530)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Add debug codelens action
(noir-lang/noir#5474)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Add support for usage of `super` in import paths
(noir-lang/noir#5502)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Add TraitConstraint type (noir-lang/noir#5499)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Add TraitConstraint type (noir-lang/noir#5499)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Add TraitConstraint type (noir-lang/noir#5499)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Add unquote function (noir-lang/noir#5497)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Allow arguments to attribute functions
(noir-lang/noir#5494)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Allow comptime attributes on traits & functions
(noir-lang/noir#5496)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* **avm-simulator:** Keccakf1600 opcode
([#7545](AztecProtocol/aztec-packages#7545))
([b81c503](AztecProtocol/aztec-packages@b81c503))
* **avm:** Concurrency improvements
([#7495](AztecProtocol/aztec-packages#7495))
([0d5c066](AztecProtocol/aztec-packages@0d5c066))
* Avoid heap allocs when going to/from field
([#7547](AztecProtocol/aztec-packages#7547))
([086522d](AztecProtocol/aztec-packages@086522d))
* Bootstrap devnet
([#7578](AztecProtocol/aztec-packages#7578))
([ade373b](AztecProtocol/aztec-packages@ade373b))
* Bootstrap devnet on CI
([#7534](AztecProtocol/aztec-packages#7534))
([77ce1c3](AztecProtocol/aztec-packages@77ce1c3))
* Bridge devcoin
([#7595](AztecProtocol/aztec-packages#7595))
([a316fcd](AztecProtocol/aztec-packages@a316fcd)),
closes
[#7571](AztecProtocol/aztec-packages#7571)
* Bus updates
([#7522](AztecProtocol/aztec-packages#7522))
([bf774c2](AztecProtocol/aztec-packages@bf774c2))
* **docs:** Update sandbox commands, add reference, fix tutorials
([#7580](AztecProtocol/aztec-packages#7580))
([4f07290](AztecProtocol/aztec-packages@4f07290))
* Faucet takes mnemonic
([#7546](AztecProtocol/aztec-packages#7546))
([dbd054f](AztecProtocol/aztec-packages@dbd054f))
* Handle ACIR calls in the debugger
(noir-lang/noir#5051)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Implement `poseidon2_permutation` in comptime interpreter
(noir-lang/noir#5590)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Implement `zeroed` in the interpreter
(noir-lang/noir#5540)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* LSP document symbol (noir-lang/noir#5532)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* LSP document symbol (noir-lang/noir#5532)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* LSP document symbol (noir-lang/noir#5532)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* LSP hover (noir-lang/noir#5491)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* LSP inlay hints for let and global
(noir-lang/noir#5510)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* LSP inlay hints for let and global
(noir-lang/noir#5510)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* LSP inlay hints for let and global
(noir-lang/noir#5510)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* LSP inlay parameter hints
(noir-lang/noir#5553)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* LSP inlay parameter hints
(noir-lang/noir#5553)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* LSP inlay parameter hints
(noir-lang/noir#5553)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Make Brillig do integer arithmetic operations using u128 instead of
Bigint
([#7518](AztecProtocol/aztec-packages#7518))
([4a2011e](AztecProtocol/aztec-packages@4a2011e))
* **nargo:** Default expression width field in `Nargo.toml`
(noir-lang/noir#5505)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Populate recipient in outgoing
([#7390](AztecProtocol/aztec-packages#7390))
([3293244](AztecProtocol/aztec-packages@3293244))
* Prover node
([#7452](AztecProtocol/aztec-packages#7452))
([609a68f](AztecProtocol/aztec-packages@609a68f)),
closes
[#7346](AztecProtocol/aztec-packages#7346)
* Simple sparse commitment
([#7488](AztecProtocol/aztec-packages#7488))
([df08874](AztecProtocol/aztec-packages@df08874))
* Skip reading values immediately after it being written into an array
(noir-lang/noir#5449)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Solidity honk verifier
([#5485](AztecProtocol/aztec-packages#5485))
([8dfebe4](AztecProtocol/aztec-packages@8dfebe4))
* Trimming 1 byte from compressed repr of Point
([#7505](AztecProtocol/aztec-packages#7505))
([9a68034](AztecProtocol/aztec-packages@9a68034))
* TS keccakf1600
([#7542](AztecProtocol/aztec-packages#7542))
([55fb93d](AztecProtocol/aztec-packages@55fb93d))
* TXE nr deployments, dependency cleanup for CLI
([#7548](AztecProtocol/aztec-packages#7548))
([92ff2fa](AztecProtocol/aztec-packages@92ff2fa))


### Bug Fixes

* 'cannot eval non-comptime global' error
(noir-lang/noir#5586)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Add yq to build image
([#7338](AztecProtocol/aztec-packages#7338))
([6035595](AztecProtocol/aztec-packages@6035595))
* Allow calling a trait method with paths that don't consist of exactly
two segments (noir-lang/noir#5577)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Allow calling a trait method with paths that don't consist of exactly
two segments (noir-lang/noir#5577)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* **avm:** One too many range check rows
([#7499](AztecProtocol/aztec-packages#7499))
([deb6918](AztecProtocol/aztec-packages@deb6918))
* **aztec-nr:** Make impls not stricter than traits
([#7502](AztecProtocol/aztec-packages#7502))
([c498934](AztecProtocol/aztec-packages@c498934))
* Cli fixes
([#7543](AztecProtocol/aztec-packages#7543))
([689000a](AztecProtocol/aztec-packages@689000a))
* Correctly track sources for open LSP documents
(noir-lang/noir#5561)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Do not load the BN254 CRS for verifying client ivc proofs
([#7556](AztecProtocol/aztec-packages#7556))
([e515b71](AztecProtocol/aztec-packages@e515b71))
* Don't bind ports when running the cli
([#7596](AztecProtocol/aztec-packages#7596))
([5a907c6](AztecProtocol/aztec-packages@5a907c6))
* Don't panic when a macro fails to resolve
(noir-lang/noir#5537)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Don't panic when a macro fails to resolve
(noir-lang/noir#5537)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Don't panic when a macro fails to resolve
(noir-lang/noir#5537)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Don't type error when calling certain trait impls in the interpreter
(noir-lang/noir#5471)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Error on empty function bodies
(noir-lang/noir#5519)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Error on empty function bodies
(noir-lang/noir#5519)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Error on empty function bodies
(noir-lang/noir#5519)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Error on trait impl generics count mismatch
(noir-lang/noir#5582)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Fix `uhashmap` test name (noir-lang/noir#5563)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Fix `uhashmap` test name (noir-lang/noir#5563)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Fix `uhashmap` test name (noir-lang/noir#5563)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Fix occurs check (noir-lang/noir#5535)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Fix occurs check (noir-lang/noir#5535)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Fix occurs check (noir-lang/noir#5535)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* **frontend:** Disallow signed numeric generics
(noir-lang/noir#5572)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* **frontend:** Disallow signed numeric generics
(noir-lang/noir#5572)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* **frontend:** Disallow signed numeric generics
(noir-lang/noir#5572)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* **frontend:** Error for when impl is stricter than trait
(noir-lang/noir#5343)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* **frontend:** Error for when impl is stricter than trait
(noir-lang/noir#5343)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* **frontend:** Error for when impl is stricter than trait
(noir-lang/noir#5343)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* **frontend:** Restrict numeric generic types to unsigned ints up to
`u32` (noir-lang/noir#5581)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Let unary traits work at comptime
(noir-lang/noir#5507)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Let unary traits work at comptime
(noir-lang/noir#5507)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Let unary traits work at comptime
(noir-lang/noir#5507)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Lsp hover wasn't always working
(noir-lang/noir#5515)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Mutability in the comptime interpreter
(noir-lang/noir#5517)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Never panic in LSP inlay hints
(noir-lang/noir#5534)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Never panic in LSP inlay hints
(noir-lang/noir#5534)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Never panic in LSP inlay hints
(noir-lang/noir#5534)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Nuke app siloed incoming viewing keys
([#7464](AztecProtocol/aztec-packages#7464))
([24d353a](AztecProtocol/aztec-packages@24d353a))
* Prover JSON RPC
([#7496](AztecProtocol/aztec-packages#7496))
([ca584a0](AztecProtocol/aztec-packages@ca584a0))
* Remove custom entrypoint from CLI image
([#7508](AztecProtocol/aztec-packages#7508))
([c892c6a](AztecProtocol/aztec-packages@c892c6a))
* Revert "feat: Sync from noir
([#7512](AztecProtocol/aztec-packages#7512))"
([#7558](AztecProtocol/aztec-packages#7558))
([548701e](AztecProtocol/aztec-packages@548701e))
* Revert PR
[#5449](AztecProtocol/aztec-packages#5449)
(noir-lang/noir#5548)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Revert PR
[#5449](AztecProtocol/aztec-packages#5449)
(noir-lang/noir#5548)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Revert PR
[#5449](AztecProtocol/aztec-packages#5449)
(noir-lang/noir#5548)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Run macros within comptime contexts
(noir-lang/noir#5576)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Run macros within comptime contexts
(noir-lang/noir#5576)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* **ssa:** More robust array deduplication check
(noir-lang/noir#5547)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* **ssa:** More robust array deduplication check
(noir-lang/noir#5547)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* **ssa:** More robust array deduplication check
(noir-lang/noir#5547)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Type_of for pointer types
(noir-lang/noir#5536)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Type_of for pointer types
(noir-lang/noir#5536)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Type_of for pointer types
(noir-lang/noir#5536)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))


### Miscellaneous

* Add a regression test for bit not on untyped integer
(noir-lang/noir#5589)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Add benchmark for ecdsa (noir-lang/noir#5113)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Added regression test for check_for_underconstrained_values resolve
bug (noir-lang/noir#5490)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* **avm:** Bump SRS to 1 &lt;< 20
([#7575](AztecProtocol/aztec-packages#7575))
([fad37a7](AztecProtocol/aztec-packages@fad37a7))
* **avm:** Count non-zero elems and others
([#7498](AztecProtocol/aztec-packages#7498))
([7d97c0f](AztecProtocol/aztec-packages@7d97c0f))
* **avm:** Nuke declare_views
([#7507](AztecProtocol/aztec-packages#7507))
([7e07ba9](AztecProtocol/aztec-packages@7e07ba9))
* **avm:** Use commit_sparse
([#7581](AztecProtocol/aztec-packages#7581))
([6812f2b](AztecProtocol/aztec-packages@6812f2b))
* Bump hardhat version to `2.22.6`
(noir-lang/noir#5514)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* **ci:** Add workflow to run `nargo check` on external repos
(noir-lang/noir#5355)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* **ci:** Remove bad colon in yaml file
(noir-lang/noir#5520)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Disable aztec-packages CI checks
(noir-lang/noir#5566)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Disable aztec-packages CI checks
(noir-lang/noir#5566)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Disable aztec-packages CI checks
(noir-lang/noir#5566)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* **docs:** Docs for turbofish operator
(noir-lang/noir#5555)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* **docs:** Docs for turbofish operator
(noir-lang/noir#5555)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* **docs:** Docs for turbofish operator
(noir-lang/noir#5555)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* **docs:** Fix migration notes
([#7599](AztecProtocol/aztec-packages#7599))
([ba90e2c](AztecProtocol/aztec-packages@ba90e2c))
* Filter warnings from elaborator in Aztec Macros
(noir-lang/noir#5556)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Filter warnings from elaborator in Aztec Macros
(noir-lang/noir#5556)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Filter warnings from elaborator in Aztec Macros
(noir-lang/noir#5556)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Fix benchmark summary credentials
([#7549](AztecProtocol/aztec-packages#7549))
([817dd10](AztecProtocol/aztec-packages@817dd10))
* Introduce execution oracle
([#7521](AztecProtocol/aztec-packages#7521))
([645aec1](AztecProtocol/aztec-packages@645aec1))
* Moving pub_key_to_bytes to aztec-nr
([#7506](AztecProtocol/aztec-packages#7506))
([5b323a7](AztecProtocol/aztec-packages@5b323a7))
* Noir version for Pedersen commitment and hash
(noir-lang/noir#5431)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Optimizing DA cost with new point compression
([#7473](AztecProtocol/aztec-packages#7473))
([2a5ee4f](AztecProtocol/aztec-packages@2a5ee4f))
* Persist initial header in local store
([#7555](AztecProtocol/aztec-packages#7555))
([d65c692](AztecProtocol/aztec-packages@d65c692))
* Release Noir(0.32.0) (noir-lang/noir#5268)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Release Noir(0.32.0) (noir-lang/noir#5268)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Release Noir(0.32.0) (noir-lang/noir#5268)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Remove `--use-legacy` and resolution code
(noir-lang/noir#5248)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Remove `--use-legacy` and resolution code
(noir-lang/noir#5248)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Remove `--use-legacy` and resolution code
(noir-lang/noir#5248)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Remove comptime scanning pass
(noir-lang/noir#5569)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Remove comptime scanning pass
(noir-lang/noir#5569)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Remove dbg on find_func_with_name
(noir-lang/noir#5526)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Remove dbg on find_func_with_name
(noir-lang/noir#5526)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Remove dbg on find_func_with_name
(noir-lang/noir#5526)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Remove dummy arrays
([#7246](AztecProtocol/aztec-packages#7246))
([a4acd12](AztecProtocol/aztec-packages@a4acd12))
* Remove more aztec-nr warnings (numerics and unused variables)
([#7519](AztecProtocol/aztec-packages#7519))
([3da86cb](AztecProtocol/aztec-packages@3da86cb))
* Remove the remainder of legacy code
(noir-lang/noir#5525)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Remove the remainder of legacy code
(noir-lang/noir#5525)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Remove the remainder of legacy code
(noir-lang/noir#5525)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Remove unknown annotation warning
(noir-lang/noir#5531)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Remove unknown annotation warning
(noir-lang/noir#5531)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Remove unknown annotation warning
(noir-lang/noir#5531)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Replace relative paths to noir-protocol-circuits
([301b34f](AztecProtocol/aztec-packages@301b34f))
* Replace relative paths to noir-protocol-circuits
([0977dec](AztecProtocol/aztec-packages@0977dec))
* Replace relative paths to noir-protocol-circuits
([da071bf](AztecProtocol/aztec-packages@da071bf))
* Replace relative paths to noir-protocol-circuits
([954bcd7](AztecProtocol/aztec-packages@954bcd7))
* Standardize experimental feature disclaimer across documentation
(noir-lang/noir#5367)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Standardize experimental feature disclaimer across documentation
(noir-lang/noir#5367)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Standardize experimental feature disclaimer across documentation
(noir-lang/noir#5367)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Switch to Noir Keccak implementation with variable size support
(noir-lang/noir#5508)
([a26419f](AztecProtocol/aztec-packages@a26419f))
* Switch to Noir Keccak implementation with variable size support
(noir-lang/noir#5508)
([7799fc6](AztecProtocol/aztec-packages@7799fc6))
* Switch to Noir Keccak implementation with variable size support
(noir-lang/noir#5508)
([c39bcdc](AztecProtocol/aztec-packages@c39bcdc))
* Update typo PR script (noir-lang/noir#5488)
([4ec86c0](AztecProtocol/aztec-packages@4ec86c0))
* Use new let syntax for generic numerics
([#7503](AztecProtocol/aztec-packages#7503))
([25e6684](AztecProtocol/aztec-packages@25e6684))
</details>

<details><summary>barretenberg: 0.47.0</summary>

##
[0.47.0](AztecProtocol/aztec-packages@barretenberg-v0.46.7...barretenberg-v0.47.0)
(2024-07-24)


### Features

* **avm:** Concurrency improvements
([#7495](AztecProtocol/aztec-packages#7495))
([0d5c066](AztecProtocol/aztec-packages@0d5c066))
* Bus updates
([#7522](AztecProtocol/aztec-packages#7522))
([bf774c2](AztecProtocol/aztec-packages@bf774c2))
* Make Brillig do integer arithmetic operations using u128 instead of
Bigint
([#7518](AztecProtocol/aztec-packages#7518))
([4a2011e](AztecProtocol/aztec-packages@4a2011e))
* Simple sparse commitment
([#7488](AztecProtocol/aztec-packages#7488))
([df08874](AztecProtocol/aztec-packages@df08874))
* Solidity honk verifier
([#5485](AztecProtocol/aztec-packages#5485))
([8dfebe4](AztecProtocol/aztec-packages@8dfebe4))


### Bug Fixes

* **avm:** One too many range check rows
([#7499](AztecProtocol/aztec-packages#7499))
([deb6918](AztecProtocol/aztec-packages@deb6918))
* Do not load the BN254 CRS for verifying client ivc proofs
([#7556](AztecProtocol/aztec-packages#7556))
([e515b71](AztecProtocol/aztec-packages@e515b71))


### Miscellaneous

* **avm:** Bump SRS to 1 &lt;< 20
([#7575](AztecProtocol/aztec-packages#7575))
([fad37a7](AztecProtocol/aztec-packages@fad37a7))
* **avm:** Count non-zero elems and others
([#7498](AztecProtocol/aztec-packages#7498))
([7d97c0f](AztecProtocol/aztec-packages@7d97c0f))
* **avm:** Nuke declare_views
([#7507](AztecProtocol/aztec-packages#7507))
([7e07ba9](AztecProtocol/aztec-packages@7e07ba9))
* **avm:** Use commit_sparse
([#7581](AztecProtocol/aztec-packages#7581))
([6812f2b](AztecProtocol/aztec-packages@6812f2b))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
github-merge-queue bot pushed a commit that referenced this pull request Aug 6, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>0.33.0</summary>

## [0.33.0](v0.32.0...v0.33.0)
(2024-08-06)


### ⚠ BREAKING CHANGES

* parse block and if statements independently of expressions in
statements ([#5634](#5634))
* **frontend:** Restrict numeric generic types to unsigned ints up to
`u32` ([#5581](#5581))

### Features

* **acir_gen:** Width aware ACIR gen addition
([#5493](#5493))
([85fa592](85fa592))
* Add `FunctionDefinition::parameters`,
`FunctionDefinition::return_type` and `impl Eq for Quoted`
([#5681](#5681))
([d52fc05](d52fc05))
* Add `std::meta::type_of` and `impl Eq for Type`
([#5669](#5669))
([0503956](0503956))
* Add `TraitDefinition::as_trait_constraint()`
([#5541](#5541))
([0943223](0943223))
* Add `Type::as_struct`
([#5680](#5680))
([ade69a9](ade69a9))
* Add `Type::is_field` and `Type::as_integer`
([#5670](#5670))
([939357a](939357a))
* Add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`,
`is_bool` ([#5678](#5678))
([604fa0d](604fa0d))
* Add a compile-time hash map type
([#5543](#5543))
([c6e5c4b](c6e5c4b))
* Add a limited form of arithmetic on generics
([#5625](#5625))
([0afb680](0afb680))
* Add parameter to call_data attribute
([#5599](#5599))
([e8bb341](e8bb341))
* Allow inserting LSP inlay type hints
([#5620](#5620))
([b33495d](b33495d))
* Avoid heap allocs when going to/from field
(AztecProtocol/aztec-packages#7547)
([daad75c](daad75c))
* Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl`
helper ([#5683](#5683))
([38397d3](38397d3))
* Don't eagerly error on cast expressions
([#5635](#5635))
([0ca5d9d](0ca5d9d))
* Implement `poseidon2_permutation` in comptime interpreter
([#5590](#5590))
([89dfbbf](89dfbbf))
* Implement `Value::Type` in comptime interpreter
([#5593](#5593))
([4c3bf97](4c3bf97))
* Implement `zeroed` in the interpreter
([#5540](#5540))
([ff8ca91](ff8ca91))
* Implement closures in the comptime interpreter
([#5682](#5682))
([9e2a323](9e2a323))
* Implement format strings in the comptime interpreter
([#5596](#5596))
([fd7002c](fd7002c))
* Integrate new proving systems in e2e
(AztecProtocol/aztec-packages#6971)
([daad75c](daad75c))
* Let filenames in errors be relative to the current dir if possible
([#5642](#5642))
([f656681](f656681))
* Let LSP work will with code generated by macros
([#5665](#5665))
([8122624](8122624))
* LSP closing brace hints
([#5686](#5686))
([2b18151](2b18151))
* LSP hover now includes "Go to" links
([#5677](#5677))
([d466d49](d466d49))
* LSP inlay parameter hints
([#5553](#5553))
([822fe2c](822fe2c))
* LSP inlay type hints on lambda parameters
([#5639](#5639))
([80128ff](80128ff))
* Make Brillig do integer arithmetic operations using u128 instead of
Bigint (AztecProtocol/aztec-packages#7518)
([daad75c](daad75c))
* **noir_js:** Expose UltraHonk and integration tests
([#5656](#5656))
([4552b4f](4552b4f))
* Remove 'comptime or separate crate' restriction on comptime code
([#5609](#5609))
([1cddf42](1cddf42))
* Resolve arguments to attributes
([#5649](#5649))
([e139002](e139002))
* **ssa:** Simple serialization of unoptimized SSA to file
([#5679](#5679))
([07ea107](07ea107))
* Sync from noir
(AztecProtocol/aztec-packages#7432)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7444)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7454)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7512)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7577)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7583)
([daad75c](daad75c))
* Turbofish in struct pattern
([#5616](#5616))
([b3c408b](b3c408b))
* Turbofish operator in struct constructor
([#5607](#5607))
([106abd7](106abd7))
* Turbofish operator on path segments
([#5603](#5603))
([0bb8372](0bb8372))
* Typing return values of embedded_curve_ops
(AztecProtocol/aztec-packages#7413)
([daad75c](daad75c))


### Bug Fixes

* 'cannot eval non-comptime global' error
([#5586](#5586))
([0a987c7](0a987c7))
* `NoMatchingImplFound` in comptime code only
([#5617](#5617))
([28211a3](28211a3))
* Add trailing extra arguments for backend in gates_flamegraph
(AztecProtocol/aztec-packages#7472)
([daad75c](daad75c))
* Allow calling a trait method with paths that don't consist of exactly
two segments ([#5577](#5577))
([88c0a40](88c0a40))
* Allow trailing comma when parsing where clauses
([#5594](#5594))
([75bfe13](75bfe13))
* Allow using Self for function calls
([#5629](#5629))
([b7e4f42](b7e4f42))
* Correct span for prefix operator
([#5624](#5624))
([5824785](5824785))
* Correctly track sources for open LSP documents
([#5561](#5561))
([9e61e97](9e61e97))
* Derive generic types
([#5674](#5674))
([19e58a9](19e58a9))
* Don't panic when a macro fails to resolve
([#5537](#5537))
([6109ddc](6109ddc))
* Elaborate struct & trait annotations in the correct module
([#5643](#5643))
([d0a957b](d0a957b))
* Error on duplicate struct field
([#5585](#5585))
([3aed671](3aed671))
* Error on incorrect generic count for impl and type alias
([#5623](#5623))
([1f5d000](1f5d000))
* Error on trait impl generics count mismatch
([#5582](#5582))
([da3d607](da3d607))
* Error on unbound generics in structs
([#5619](#5619))
([efef6b4](efef6b4))
* Filter comptime globals
([#5538](#5538))
([2adc6ac](2adc6ac))
* Fix `uhashmap` test name
([#5563](#5563))
([d5de83f](d5de83f))
* Fix occurs check
([#5535](#5535))
([51dd529](51dd529))
* Fix where clause issue in items generated from attributes
([#5673](#5673))
([9a8cfc9](9a8cfc9))
* **frontend:** Disallow signed numeric generics
([#5572](#5572))
([2b4853e](2b4853e))
* **frontend:** Error for when impl is stricter than trait
([#5343](#5343))
([ece033f](ece033f))
* **frontend:** Restrict numeric generic types to unsigned ints up to
`u32` ([#5581](#5581))
([b85e764](b85e764))
* Let a trait impl that relies on another trait work
([#5646](#5646))
([e00c370](e00c370))
* Let std::unsafe::zeroed() work for slices
([#5592](#5592))
([7daee20](7daee20))
* Let trait calls work in globals
([#5602](#5602))
([c02a6f6](c02a6f6))
* Let unary traits work at comptime
([#5507](#5507))
([aa62d8a](aa62d8a))
* Lookup trait constraints methods in composite types
([#5595](#5595))
([cec6390](cec6390))
* Parse block and if statements independently of expressions in
statements ([#5634](#5634))
([9341113](9341113))
* Revert "feat: Sync from noir
(AztecProtocol/aztec-packages#7512)"
(AztecProtocol/aztec-packages#7558)
([daad75c](daad75c))
* Run macros within comptime contexts
([#5576](#5576))
([df44919](df44919))
* Speed up LSP ([#5650](#5650))
([e5f1b36](e5f1b36))
* **ssa:** More robust array deduplication check
([#5547](#5547))
([dd89b90](dd89b90))
* Switch verify proof to arrays
([#5664](#5664))
([c1ed9fb](c1ed9fb))
* Type_of for pointer types
([#5536](#5536))
([edb3810](edb3810))
* Workaround from_slice with nested slices
([#5648](#5648))
([6310a55](6310a55))
</details>

<details><summary>0.49.0</summary>

## [0.49.0](v0.48.0...v0.49.0)
(2024-08-06)


### ⚠ BREAKING CHANGES

* constant inputs for blackbox
(AztecProtocol/aztec-packages#7222)
* add session id to foreign call RPC requests
([#5205](#5205))
* restrict noir word size to u32
([#5180](#5180))
* switch `bb` over to read ACIR from nargo artifacts
(AztecProtocol/aztec-packages#6283)
* specify databus arrays for BB
(AztecProtocol/aztec-packages#6239)
* remove `Opcode::Brillig` from ACIR
(AztecProtocol/aztec-packages#5995)
* AES blackbox
(AztecProtocol/aztec-packages#6016)
* Bit shift is restricted to u8 right operand
([#4907](#4907))
* contract interfaces and better function calls
(AztecProtocol/aztec-packages#5687)
* change backend width to 4
(AztecProtocol/aztec-packages#5374)
* Use fixed size arrays in black box functions where sizes are known
(AztecProtocol/aztec-packages#5620)
* trap with revert data
(AztecProtocol/aztec-packages#5732)
* **acir:** BrilligCall opcode
(AztecProtocol/aztec-packages#5709)
* remove fixed-length keccak256
(AztecProtocol/aztec-packages#5617)
* storage_layout and `#[aztec(storage)]`
(AztecProtocol/aztec-packages#5387)
* **acir:** Add predicate to call opcode
(AztecProtocol/aztec-packages#5616)
* contract_abi-exports
(AztecProtocol/aztec-packages#5386)
* Brillig typed memory
(AztecProtocol/aztec-packages#5395)

### Features

* `multi_scalar_mul` blackbox func
(AztecProtocol/aztec-packages#6097)
([73a635e](73a635e))
* `variable_base_scalar_mul` blackbox func
(AztecProtocol/aztec-packages#6039)
([73a635e](73a635e))
* **acir_gen:** Brillig stdlib
([#4848](#4848))
([0c8175c](0c8175c))
* **acir_gen:** Fold attribute at compile-time and initial non inlined
ACIR (AztecProtocol/aztec-packages#5341)
([a0f7474](a0f7474))
* **acir_gen:** Width aware ACIR gen addition
([#5493](#5493))
([85fa592](85fa592))
* **acir:** Add predicate to call opcode
(AztecProtocol/aztec-packages#5616)
([2bd006a](2bd006a))
* **acir:** BrilligCall opcode
(AztecProtocol/aztec-packages#5709)
([0f9ae0a](0f9ae0a))
* Activate return_data in ACIR opcodes
([#5080](#5080))
([c9fda3c](c9fda3c))
* **acvm_js:** Execute program
([#4694](#4694))
([386f6d0](386f6d0))
* **acvm:** Execute multiple circuits
(AztecProtocol/aztec-packages#5380)
([a0f7474](a0f7474))
* Add native rust implementation of schnorr signature verification
([#5053](#5053))
([fab1c35](fab1c35))
* Add native rust implementations of pedersen functions
([#4871](#4871))
([fb039f7](fb039f7))
* Add return values to aztec fns
(AztecProtocol/aztec-packages#5389)
([2bd006a](2bd006a))
* Add session id to foreign call RPC requests
([#5205](#5205))
([14adafc](14adafc))
* AES blackbox
(AztecProtocol/aztec-packages#6016)
([73a635e](73a635e))
* **avm:** Integrate AVM with initializers
(AztecProtocol/aztec-packages#5469)
([2bd006a](2bd006a))
* Avoid heap allocs when going to/from field
(AztecProtocol/aztec-packages#7547)
([daad75c](daad75c))
* Bit shift is restricted to u8 right operand
([#4907](#4907))
([c4b0369](c4b0369))
* Brillig heterogeneous memory cells
(AztecProtocol/aztec-packages#5608)
([305bcdc](305bcdc))
* Brillig pointer codegen and execution
(AztecProtocol/aztec-packages#5737)
([0f9ae0a](0f9ae0a))
* Brillig typed memory
(AztecProtocol/aztec-packages#5395)
([0bc18c4](0bc18c4))
* Change backend width to 4
(AztecProtocol/aztec-packages#5374)
([0f9ae0a](0f9ae0a))
* Constant inputs for blackbox
(AztecProtocol/aztec-packages#7222)
([fb97bb9](fb97bb9))
* Contract interfaces and better function calls
(AztecProtocol/aztec-packages#5687)
([0f9ae0a](0f9ae0a))
* Contract_abi-exports
(AztecProtocol/aztec-packages#5386)
([2bd006a](2bd006a))
* Dynamic assertion payloads v2
(AztecProtocol/aztec-packages#5949)
([73a635e](73a635e))
* Handle `BrilligCall` opcodes in the debugger
([#4897](#4897))
([b380dc4](b380dc4))
* Impl of missing functionality in new key store
(AztecProtocol/aztec-packages#5750)
([0f9ae0a](0f9ae0a))
* Increase default expression width to 4
([#4995](#4995))
([f01d309](f01d309))
* Integrate new proving systems in e2e
(AztecProtocol/aztec-packages#6971)
([daad75c](daad75c))
* Make ACVM generic across fields
([#5114](#5114))
([70f374c](70f374c))
* Make Brillig do integer arithmetic operations using u128 instead of
Bigint (AztecProtocol/aztec-packages#7518)
([daad75c](daad75c))
* Move abi demonomorphizer to noir_codegen and use noir_codegen in
protocol types
(AztecProtocol/aztec-packages#6302)
([436bbda](436bbda))
* Move to_radix to a blackbox
(AztecProtocol/aztec-packages#6294)
([436bbda](436bbda))
* **nargo:** Handle call stacks for multiple Acir calls
([#4711](#4711))
([5b23171](5b23171))
* **nargo:** Hidden option to show contract artifact paths written by
`nargo compile`
(AztecProtocol/aztec-packages#6131)
([ff67e14](ff67e14))
* Parsing non-string assertion payloads in noir js
(AztecProtocol/aztec-packages#6079)
([73a635e](73a635e))
* Private Kernel Recursion
(AztecProtocol/aztec-packages#6278)
([436bbda](436bbda))
* Proper padding in ts AES and constrained AES in body and header
computations (AztecProtocol/aztec-packages#6269)
([436bbda](436bbda))
* Remove conditional compilation of `bn254_blackbox_solver`
([#5058](#5058))
([9420d7c](9420d7c))
* Remove external blackbox solver from acir simulator
(AztecProtocol/aztec-packages#6586)
([a40a9a5](a40a9a5))
* Restore hashing args via slice for performance
(AztecProtocol/aztec-packages#5539)
([2bd006a](2bd006a))
* Restrict noir word size to u32
([#5180](#5180))
([bdb2bc6](bdb2bc6))
* Separate runtimes of SSA functions before inlining
([#5121](#5121))
([69eca9b](69eca9b))
* Set aztec private functions to be recursive
(AztecProtocol/aztec-packages#6192)
([73a635e](73a635e))
* **simulator:** Fetch return values at circuit execution
(AztecProtocol/aztec-packages#5642)
([305bcdc](305bcdc))
* Specify databus arrays for BB
(AztecProtocol/aztec-packages#6239)
([436bbda](436bbda))
* Storage_layout and `#[aztec(storage)]`
(AztecProtocol/aztec-packages#5387)
([2bd006a](2bd006a))
* Switch `bb` over to read ACIR from nargo artifacts
(AztecProtocol/aztec-packages#6283)
([436bbda](436bbda))
* Sync from noir
(AztecProtocol/aztec-packages#5572)
([2bd006a](2bd006a))
* Sync from noir
(AztecProtocol/aztec-packages#5619)
([2bd006a](2bd006a))
* Sync from noir
(AztecProtocol/aztec-packages#5697)
([305bcdc](305bcdc))
* Sync from noir
(AztecProtocol/aztec-packages#5794)
([0f9ae0a](0f9ae0a))
* Sync from noir
(AztecProtocol/aztec-packages#5814)
([0f9ae0a](0f9ae0a))
* Sync from noir
(AztecProtocol/aztec-packages#5935)
([1b867b1](1b867b1))
* Sync from noir
(AztecProtocol/aztec-packages#5955)
([1b867b1](1b867b1))
* Sync from noir
(AztecProtocol/aztec-packages#5999)
([1b867b1](1b867b1))
* Sync from noir
(AztecProtocol/aztec-packages#6280)
([436bbda](436bbda))
* Sync from noir
(AztecProtocol/aztec-packages#6332)
([436bbda](436bbda))
* Sync from noir
(AztecProtocol/aztec-packages#6573)
([436bbda](436bbda))
* Sync from noir
(AztecProtocol/aztec-packages#7392)
([fb97bb9](fb97bb9))
* Sync from noir
(AztecProtocol/aztec-packages#7400)
([fb97bb9](fb97bb9))
* Sync from noir
(AztecProtocol/aztec-packages#7432)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7444)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7454)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7512)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7577)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7583)
([daad75c](daad75c))
* ToRadix BB + avm transpiler support
(AztecProtocol/aztec-packages#6330)
([436bbda](436bbda))
* Trap with revert data
(AztecProtocol/aztec-packages#5732)
([0f9ae0a](0f9ae0a))
* Typing return values of embedded_curve_ops
(AztecProtocol/aztec-packages#7413)
([daad75c](daad75c))
* Use fixed size arrays in black box functions where sizes are known
(AztecProtocol/aztec-packages#5620)
([0f9ae0a](0f9ae0a))
* Variable length returns
(AztecProtocol/aztec-packages#5633)
([305bcdc](305bcdc))


### Bug Fixes

* **acvm:** Mark outputs of Opcode::Call solvable
([#4708](#4708))
([8fea405](8fea405))
* Add support for nested arrays returned by oracles
([#5132](#5132))
([f846879](f846879))
* Add trailing extra arguments for backend in gates_flamegraph
(AztecProtocol/aztec-packages#7472)
([daad75c](daad75c))
* Avoid huge unrolling in hash_args
(AztecProtocol/aztec-packages#5703)
([305bcdc](305bcdc))
* Avoid unnecessarily splitting expressions with multiplication terms
with a shared term
([#5291](#5291))
([19884f1](19884f1))
* Catch panics from EC point creation (e.g. the point is at infinity)
([#4790](#4790))
([645dba1](645dba1))
* Check for public args in aztec functions
(AztecProtocol/aztec-packages#6355)
([436bbda](436bbda))
* Don't reuse brillig with slice arguments
(AztecProtocol/aztec-packages#5800)
([0f9ae0a](0f9ae0a))
* Handle struct with nested arrays in oracle return values
([#5244](#5244))
([a30814f](a30814f))
* Issue 4682 and add solver for unconstrained bigintegers
([#4729](#4729))
([e4d33c1](e4d33c1))
* Move BigInt modulus checks to runtime in brillig
([#5374](#5374))
([741d339](741d339))
* Proper field inversion for bigints
([#4802](#4802))
([b46d0e3](b46d0e3))
* Revert "feat: Sync from noir
(AztecProtocol/aztec-packages#7512)"
(AztecProtocol/aztec-packages#7558)
([daad75c](daad75c))
* Runtime brillig bigint id assignment
([#5369](#5369))
([a8928dd](a8928dd))
* Temporarily revert to_radix blackbox
(AztecProtocol/aztec-packages#6304)
([436bbda](436bbda))


### Miscellaneous Chores

* Remove `Opcode::Brillig` from ACIR
(AztecProtocol/aztec-packages#5995)
([73a635e](73a635e))
* Remove fixed-length keccak256
(AztecProtocol/aztec-packages#5617)
([305bcdc](305bcdc))
</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: kevaundray <kevtheappdev@gmail.com>
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.

Nargo fails to detect missing trait bounds
4 participants