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: let a trait impl that relies on another trait work #5646

Merged
merged 4 commits into from
Aug 2, 2024

Conversation

asterite
Copy link
Collaborator

@asterite asterite commented Jul 31, 2024

Description

Problem

Resolves #5195

Summary

If I'm understanding the code correctly, when you have code like this:

trait Trait {
  fn trait_func(self);
}

fn foo<T>(t: T) {
  Trait::trait_func(t);
}

the compiler will search in all impls of Trait for a matching one. Then:

  • if it only finds one, it succeeds
  • otherwise it's an error (no matching impl found, or too many found)

If an impl has a where clause, the compiler checks if that where clause matches. For example:

trait One {
}

impl Trait for T where T: One {
  // ...
}

So here there's an impl for Trait, it has a where clause, so the compiler checks if that T is One. And here's the thing: if there's no match, it would immediately error. I think that was the bug.

In this PR, we capture that error but continue seeing if we can find a matching impl. If we can't find any impl, we use the error of the first non-matching where clause to help users.

But... let me know if I got this wrong. I think I understood the code, but I'm not sure.

Additional Context

When trying out different codes with traits and impls I noticed that we don't error if two trait impls are conflicting. For example Rust gives an error in this case:

trait One {}

impl One for i32 {}

trait Three {}

impl Three for i32 {}

trait Two {}

impl<T> Two for T where T: One {}

impl<T> Two for T where T: Three {}

The error:

error[E0119]: conflicting implementations of trait `Two`
  --> src/main.rs:13:1
   |
11 | impl<T> Two for T where T: One {}
   | ------------------------------ first implementation here
12 |
13 | impl<T> Two for T where T: Three {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation

I don't know if it's a requirement to do this before merging this PR. Even if there are conflicting impls in Noir, the compiler does the right thing. For example this code:

trait One {
}

impl One for i32 {
}

trait Two {

}

impl Two for i32 {

}

trait Three {
    fn three(self);
}

impl<T> Three for T where T: One {
    fn three(self) {
        println("One");
    }
}

impl<T> Three for T where T: Two {
    fn three(self) {
        println("Two");
    }
}

fn use_one<T>(t: T) where T: One {
    Three::three(t);
}

fn use_two<T>(t: T) where T: Two {
    Three::three(t);
}

fn main() {
    let x: i32 = 0;
    use_one(x);
    use_two(x);
}

prints:

One
Two

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.

@asterite asterite requested a review from a team July 31, 2024 11:28
@asterite asterite marked this pull request as ready for review July 31, 2024 12:41
@jfecher
Copy link
Contributor

jfecher commented Jul 31, 2024

I don't know if it's a requirement to do this before merging this PR. Even if there are conflicting impls in Noir, the compiler does the right thing. For example this code:

The issue rust is pointing out is what if the same type implemented both traits One and Two? The traits themselves aren't overlapping so we can't error when defining them. So what should we do when calling Three::three(3) without a where clause which forces one impl?

@asterite
Copy link
Collaborator Author

@jfecher Oooh, I see. That makes sense. In this case in Noir we say "Expression type is ambigous". I guess Rust errors earlier but we still error on usage so that's good enough for now.

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.

I'm not 100% sure we should allow this when Rust doesn't but the implementation is simple enough I'm willing to try it out until we run into problems later. For now it is a useful feature to have.

@asterite
Copy link
Collaborator Author

asterite commented Aug 2, 2024

I think Rust does allow it. That is, it allows impl Trait for T where T: SomeOtherTrait, it's just that it also errors if two of those exists for any T. So maybe all we'd need is for Noir to also detect that case... but this is just a guess, I don't know Rust that much yet.

@asterite asterite added this pull request to the merge queue Aug 2, 2024
Merged via the queue into master with commit e00c370 Aug 2, 2024
45 checks passed
@asterite asterite deleted the ab/trait-impl-where-t-requires-another-trait branch August 2, 2024 11:12
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 3, 2024
…r#5677)

feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 4, 2024
…r#5677)

feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 4, 2024
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 5, 2024
…r#5677)

feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 5, 2024
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 6, 2024
…r-lang/noir#5682)

feat: add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` (noir-lang/noir#5681)
feat: add `Type::as_struct` (noir-lang/noir#5680)
feat: LSP hover now includes "Go to" links (noir-lang/noir#5677)
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 6, 2024
…5682)

feat: add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` (noir-lang/noir#5681)
feat: add `Type::as_struct` (noir-lang/noir#5680)
feat: LSP hover now includes "Go to" links (noir-lang/noir#5677)
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
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 <[email protected]>
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 7, 2024
feat: Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl` helper (noir-lang/noir#5683)
feat(ssa): Simple serialization of unoptimized SSA to file (noir-lang/noir#5679)
feat: LSP closing brace hints (noir-lang/noir#5686)
feat: Implement closures in the comptime interpreter (noir-lang/noir#5682)
feat: add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` (noir-lang/noir#5681)
feat: add `Type::as_struct` (noir-lang/noir#5680)
feat: LSP hover now includes "Go to" links (noir-lang/noir#5677)
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 8, 2024
…r#5684)

chore: Release Noir(0.33.0) (noir-lang/noir#5550)
feat: Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl` helper (noir-lang/noir#5683)
feat(ssa): Simple serialization of unoptimized SSA to file (noir-lang/noir#5679)
feat: LSP closing brace hints (noir-lang/noir#5686)
feat: Implement closures in the comptime interpreter (noir-lang/noir#5682)
feat: add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` (noir-lang/noir#5681)
feat: add `Type::as_struct` (noir-lang/noir#5680)
feat: LSP hover now includes "Go to" links (noir-lang/noir#5677)
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 8, 2024
…oir-lang/noir#5696)

feat: add mutating FunctionDefinition functions (noir-lang/noir#5685)
chore: Add docs tip about filenames between commands (noir-lang/noir#5695)
fix: Add locations to most SSA instructions (noir-lang/noir#5697)
feat: Add array_to_str_lossy (noir-lang/noir#5613)
chore: Add parser support for `<MyType as Trait>::ident` (noir-lang/noir#5688)
feat: add some `Module` comptime functions (noir-lang/noir#5684)
chore: Release Noir(0.33.0) (noir-lang/noir#5550)
feat: Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl` helper (noir-lang/noir#5683)
feat(ssa): Simple serialization of unoptimized SSA to file (noir-lang/noir#5679)
feat: LSP closing brace hints (noir-lang/noir#5686)
feat: Implement closures in the comptime interpreter (noir-lang/noir#5682)
feat: add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` (noir-lang/noir#5681)
feat: add `Type::as_struct` (noir-lang/noir#5680)
feat: LSP hover now includes "Go to" links (noir-lang/noir#5677)
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 8, 2024
…oir-lang/noir#5696)

feat: add mutating FunctionDefinition functions (noir-lang/noir#5685)
chore: Add docs tip about filenames between commands (noir-lang/noir#5695)
fix: Add locations to most SSA instructions (noir-lang/noir#5697)
feat: Add array_to_str_lossy (noir-lang/noir#5613)
chore: Add parser support for `<MyType as Trait>::ident` (noir-lang/noir#5688)
feat: add some `Module` comptime functions (noir-lang/noir#5684)
chore: Release Noir(0.33.0) (noir-lang/noir#5550)
feat: Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl` helper (noir-lang/noir#5683)
feat(ssa): Simple serialization of unoptimized SSA to file (noir-lang/noir#5679)
feat: LSP closing brace hints (noir-lang/noir#5686)
feat: Implement closures in the comptime interpreter (noir-lang/noir#5682)
feat: add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` (noir-lang/noir#5681)
feat: add `Type::as_struct` (noir-lang/noir#5680)
feat: LSP hover now includes "Go to" links (noir-lang/noir#5677)
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 9, 2024
…oir-lang/noir#5696)

feat: add mutating FunctionDefinition functions (noir-lang/noir#5685)
chore: Add docs tip about filenames between commands (noir-lang/noir#5695)
fix: Add locations to most SSA instructions (noir-lang/noir#5697)
feat: Add array_to_str_lossy (noir-lang/noir#5613)
chore: Add parser support for `<MyType as Trait>::ident` (noir-lang/noir#5688)
feat: add some `Module` comptime functions (noir-lang/noir#5684)
chore: Release Noir(0.33.0) (noir-lang/noir#5550)
feat: Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl` helper (noir-lang/noir#5683)
feat(ssa): Simple serialization of unoptimized SSA to file (noir-lang/noir#5679)
feat: LSP closing brace hints (noir-lang/noir#5686)
feat: Implement closures in the comptime interpreter (noir-lang/noir#5682)
feat: add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` (noir-lang/noir#5681)
feat: add `Type::as_struct` (noir-lang/noir#5680)
feat: LSP hover now includes "Go to" links (noir-lang/noir#5677)
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 9, 2024
…r#5696)

feat: add mutating FunctionDefinition functions (noir-lang/noir#5685)
chore: Add docs tip about filenames between commands (noir-lang/noir#5695)
fix: Add locations to most SSA instructions (noir-lang/noir#5697)
feat: Add array_to_str_lossy (noir-lang/noir#5613)
chore: Add parser support for `<MyType as Trait>::ident` (noir-lang/noir#5688)
feat: add some `Module` comptime functions (noir-lang/noir#5684)
chore: Release Noir(0.33.0) (noir-lang/noir#5550)
feat: Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl` helper (noir-lang/noir#5683)
feat(ssa): Simple serialization of unoptimized SSA to file (noir-lang/noir#5679)
feat: LSP closing brace hints (noir-lang/noir#5686)
feat: Implement closures in the comptime interpreter (noir-lang/noir#5682)
feat: add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` (noir-lang/noir#5681)
feat: add `Type::as_struct` (noir-lang/noir#5680)
feat: LSP hover now includes "Go to" links (noir-lang/noir#5677)
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 10, 2024
…r#5704)

feat: add `Type::implements` (noir-lang/noir#5701)
fix: Do not duplicate redundant Brillig debug metadata (noir-lang/noir#5696)
feat: add mutating FunctionDefinition functions (noir-lang/noir#5685)
chore: Add docs tip about filenames between commands (noir-lang/noir#5695)
fix: Add locations to most SSA instructions (noir-lang/noir#5697)
feat: Add array_to_str_lossy (noir-lang/noir#5613)
chore: Add parser support for `<MyType as Trait>::ident` (noir-lang/noir#5688)
feat: add some `Module` comptime functions (noir-lang/noir#5684)
chore: Release Noir(0.33.0) (noir-lang/noir#5550)
feat: Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl` helper (noir-lang/noir#5683)
feat(ssa): Simple serialization of unoptimized SSA to file (noir-lang/noir#5679)
feat: LSP closing brace hints (noir-lang/noir#5686)
feat: Implement closures in the comptime interpreter (noir-lang/noir#5682)
feat: add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` (noir-lang/noir#5681)
feat: add `Type::as_struct` (noir-lang/noir#5680)
feat: LSP hover now includes "Go to" links (noir-lang/noir#5677)
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 11, 2024
…r#5704)

feat: add `Type::implements` (noir-lang/noir#5701)
fix: Do not duplicate redundant Brillig debug metadata (noir-lang/noir#5696)
feat: add mutating FunctionDefinition functions (noir-lang/noir#5685)
chore: Add docs tip about filenames between commands (noir-lang/noir#5695)
fix: Add locations to most SSA instructions (noir-lang/noir#5697)
feat: Add array_to_str_lossy (noir-lang/noir#5613)
chore: Add parser support for `<MyType as Trait>::ident` (noir-lang/noir#5688)
feat: add some `Module` comptime functions (noir-lang/noir#5684)
chore: Release Noir(0.33.0) (noir-lang/noir#5550)
feat: Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl` helper (noir-lang/noir#5683)
feat(ssa): Simple serialization of unoptimized SSA to file (noir-lang/noir#5679)
feat: LSP closing brace hints (noir-lang/noir#5686)
feat: Implement closures in the comptime interpreter (noir-lang/noir#5682)
feat: add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` (noir-lang/noir#5681)
feat: add `Type::as_struct` (noir-lang/noir#5680)
feat: LSP hover now includes "Go to" links (noir-lang/noir#5677)
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 12, 2024
…r#5704)

feat: add `Type::implements` (noir-lang/noir#5701)
fix: Do not duplicate redundant Brillig debug metadata (noir-lang/noir#5696)
feat: add mutating FunctionDefinition functions (noir-lang/noir#5685)
chore: Add docs tip about filenames between commands (noir-lang/noir#5695)
fix: Add locations to most SSA instructions (noir-lang/noir#5697)
feat: Add array_to_str_lossy (noir-lang/noir#5613)
chore: Add parser support for `<MyType as Trait>::ident` (noir-lang/noir#5688)
feat: add some `Module` comptime functions (noir-lang/noir#5684)
chore: Release Noir(0.33.0) (noir-lang/noir#5550)
feat: Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl` helper (noir-lang/noir#5683)
feat(ssa): Simple serialization of unoptimized SSA to file (noir-lang/noir#5679)
feat: LSP closing brace hints (noir-lang/noir#5686)
feat: Implement closures in the comptime interpreter (noir-lang/noir#5682)
feat: add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` (noir-lang/noir#5681)
feat: add `Type::as_struct` (noir-lang/noir#5680)
feat: LSP hover now includes "Go to" links (noir-lang/noir#5677)
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 12, 2024
fix(debugger): Update the debugger to handle the new Brillig debug metadata format (noir-lang/noir#5706)
feat: add `Quoted::as_expr` and `Expr::as_function_call` (noir-lang/noir#5708)
feat: LSP autocompletion for use statement (noir-lang/noir#5704)
feat: add `Type::implements` (noir-lang/noir#5701)
fix: Do not duplicate redundant Brillig debug metadata (noir-lang/noir#5696)
feat: add mutating FunctionDefinition functions (noir-lang/noir#5685)
chore: Add docs tip about filenames between commands (noir-lang/noir#5695)
fix: Add locations to most SSA instructions (noir-lang/noir#5697)
feat: Add array_to_str_lossy (noir-lang/noir#5613)
chore: Add parser support for `<MyType as Trait>::ident` (noir-lang/noir#5688)
feat: add some `Module` comptime functions (noir-lang/noir#5684)
chore: Release Noir(0.33.0) (noir-lang/noir#5550)
feat: Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl` helper (noir-lang/noir#5683)
feat(ssa): Simple serialization of unoptimized SSA to file (noir-lang/noir#5679)
feat: LSP closing brace hints (noir-lang/noir#5686)
feat: Implement closures in the comptime interpreter (noir-lang/noir#5682)
feat: add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` (noir-lang/noir#5681)
feat: add `Type::as_struct` (noir-lang/noir#5680)
feat: LSP hover now includes "Go to" links (noir-lang/noir#5677)
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 13, 2024
…g/noir#5710)

feat: LSP path completion (noir-lang/noir#5712)
fix(debugger): Update the debugger to handle the new Brillig debug metadata format (noir-lang/noir#5706)
feat: add `Quoted::as_expr` and `Expr::as_function_call` (noir-lang/noir#5708)
feat: LSP autocompletion for use statement (noir-lang/noir#5704)
feat: add `Type::implements` (noir-lang/noir#5701)
fix: Do not duplicate redundant Brillig debug metadata (noir-lang/noir#5696)
feat: add mutating FunctionDefinition functions (noir-lang/noir#5685)
chore: Add docs tip about filenames between commands (noir-lang/noir#5695)
fix: Add locations to most SSA instructions (noir-lang/noir#5697)
feat: Add array_to_str_lossy (noir-lang/noir#5613)
chore: Add parser support for `<MyType as Trait>::ident` (noir-lang/noir#5688)
feat: add some `Module` comptime functions (noir-lang/noir#5684)
chore: Release Noir(0.33.0) (noir-lang/noir#5550)
feat: Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl` helper (noir-lang/noir#5683)
feat(ssa): Simple serialization of unoptimized SSA to file (noir-lang/noir#5679)
feat: LSP closing brace hints (noir-lang/noir#5686)
feat: Implement closures in the comptime interpreter (noir-lang/noir#5682)
feat: add `FunctionDefinition::parameters`, `FunctionDefinition::return_type` and `impl Eq for Quoted` (noir-lang/noir#5681)
feat: add `Type::as_struct` (noir-lang/noir#5680)
feat: LSP hover now includes "Go to" links (noir-lang/noir#5677)
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics (noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer` (noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes (noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests (noir-lang/noir#5656)
fix: workaround from_slice with nested slices (noir-lang/noir#5648)
fix: Switch verify proof to arrays (noir-lang/noir#5664)
feat: Resolve arguments to attributes (noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module (noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work (noir-lang/noir#5646)
vezenovm added a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 13, 2024
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
fix: Do not duplicate redundant Brillig debug metadata
(noir-lang/noir#5696)
feat: add mutating FunctionDefinition functions
(noir-lang/noir#5685)
chore: Add docs tip about filenames between commands
(noir-lang/noir#5695)
fix: Add locations to most SSA instructions
(noir-lang/noir#5697)
feat: Add array_to_str_lossy
(noir-lang/noir#5613)
chore: Add parser support for `<MyType as Trait>::ident`
(noir-lang/noir#5688)
feat: add some `Module` comptime functions
(noir-lang/noir#5684)
chore: Release Noir(0.33.0)
(noir-lang/noir#5550)
feat: Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl`
helper (noir-lang/noir#5683)
feat(ssa): Simple serialization of unoptimized SSA to file
(noir-lang/noir#5679)
feat: LSP closing brace hints
(noir-lang/noir#5686)
feat: Implement closures in the comptime interpreter
(noir-lang/noir#5682)
feat: add `FunctionDefinition::parameters`,
`FunctionDefinition::return_type` and `impl Eq for Quoted`
(noir-lang/noir#5681)
feat: add `Type::as_struct`
(noir-lang/noir#5680)
feat: LSP hover now includes "Go to" links
(noir-lang/noir#5677)
feat: add `Type` methods: `as_tuple`, `as_slice`, `as_array`,
`as_constant`, `is_bool` (noir-lang/noir#5678)
fix: Derive generic types (noir-lang/noir#5674)
feat: Add a limited form of arithmetic on generics
(noir-lang/noir#5625)
feat: add `Type::is_field` and `Type::as_integer`
(noir-lang/noir#5670)
fix: Fix where clause issue in items generated from attributes
(noir-lang/noir#5673)
feat(noir_js): Expose UltraHonk and integration tests
(noir-lang/noir#5656)
fix: workaround from_slice with nested slices
(noir-lang/noir#5648)
fix: Switch verify proof to arrays
(noir-lang/noir#5664)
feat: Resolve arguments to attributes
(noir-lang/noir#5649)
fix: Elaborate struct & trait annotations in the correct module
(noir-lang/noir#5643)
fix: let a trait impl that relies on another trait work
(noir-lang/noir#5646)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Maxim Vezenov <[email protected]>
rahul-kothari pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Aug 15, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.49.0](aztec-package-v0.48.0...aztec-package-v0.49.0)
(2024-08-15)


### ⚠ BREAKING CHANGES

* Sequencer no longer proves
([#7860](#7860))

### Miscellaneous

* Enable execute command on aws ecs services
([#7975](#7975))
([4331bc6](4331bc6))
* Sequencer no longer proves
([#7860](#7860))
([7168290](7168290))
* Terraform template for prover-node
([#7846](#7846))
([546f946](546f946))
</details>

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

##
[0.49.0](barretenberg.js-v0.48.0...barretenberg.js-v0.49.0)
(2024-08-15)


### Miscellaneous

* Pin yarn versions in noir-projects and bb/ts
([#7988](#7988))
([83f33a1](83f33a1))
</details>

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

##
[0.49.0](aztec-packages-v0.48.0...aztec-packages-v0.49.0)
(2024-08-15)


### ⚠ BREAKING CHANGES

* alternative key registry contract
([#7523](#7523))
* Sequencer no longer proves
([#7860](#7860))

### Features

* Add `FunctionDefinition::parameters`,
`FunctionDefinition::return_type` and `impl Eq for Quoted`
(noir-lang/noir#5681)
([b1c7374](b1c7374))
* Add `Quoted::as_expr` and `Expr::as_function_call`
(noir-lang/noir#5708)
([91042c7](91042c7))
* Add `Type::as_struct` (noir-lang/noir#5680)
([b1c7374](b1c7374))
* Add `Type::get_trait_impl`
(noir-lang/noir#5716)
([ccbef55](ccbef55))
* Add `Type::implements` (noir-lang/noir#5701)
([91042c7](91042c7))
* Add `Type::is_field` and `Type::as_integer`
(noir-lang/noir#5670)
([b1c7374](b1c7374))
* Add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`,
`is_bool` (noir-lang/noir#5678)
([b1c7374](b1c7374))
* Add a limited form of arithmetic on generics
(noir-lang/noir#5625)
([b1c7374](b1c7374))
* Add array_to_str_lossy (noir-lang/noir#5613)
([b1c7374](b1c7374))
* Add generate-secret-and-hash to cli
([#7977](#7977))
([cdf62a0](cdf62a0))
* Add mutating FunctionDefinition functions
(noir-lang/noir#5685)
([b1c7374](b1c7374))
* Add proven flag to sent tx wait opts
([#7950](#7950))
([e80e7d2](e80e7d2))
* Add some `Module` comptime functions
(noir-lang/noir#5684)
([b1c7374](b1c7374))
* Alternative key registry contract
([#7523](#7523))
([3e6a20f](3e6a20f))
* **avm:** More no fake rows + virtual dyn gas (part 1)
([#7942](#7942))
([9e8ba96](9e8ba96))
* Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl`
helper (noir-lang/noir#5683)
([b1c7374](b1c7374))
* Destroy_note_unsafe
([#7891](#7891))
([5cda7ba](5cda7ba))
* **docs:** Nits
([#7838](#7838))
([a76c999](a76c999))
* Enable UltraHonk verifier
([#7923](#7923))
([5e8b4a8](5e8b4a8)),
closes
[#7373](#7373)
* Implement closures in the comptime interpreter
(noir-lang/noir#5682)
([b1c7374](b1c7374))
* IVC integration tests using new accumulate model
([#7946](#7946))
([c527ae9](c527ae9))
* LSP autocompletion for use statement
(noir-lang/noir#5704)
([91042c7](91042c7))
* LSP closing brace hints (noir-lang/noir#5686)
([b1c7374](b1c7374))
* LSP fields, functions and methods completion after "." and "::"
(noir-lang/noir#5714)
([ccbef55](ccbef55))
* LSP hover now includes "Go to" links
(noir-lang/noir#5677)
([b1c7374](b1c7374))
* LSP path completion (noir-lang/noir#5712)
([91042c7](91042c7))
* **noir_js:** Expose UltraHonk and integration tests
(noir-lang/noir#5656)
([b1c7374](b1c7374))
* Optimizing PrivateFPC
([#7980](#7980))
([d018335](d018335))
* Private refunds optimizations
([#7968](#7968))
([cea8295](cea8295))
* Resolve arguments to attributes
(noir-lang/noir#5649)
([b1c7374](b1c7374))
* **ssa:** Simple serialization of unoptimized SSA to file
(noir-lang/noir#5679)
([b1c7374](b1c7374))
* Sync from aztec-packages (noir-lang/noir#5718)
([ccbef55](ccbef55))
* Update honk ultra_recursive_verifier to do aggregation
([#7582](#7582))
([a96a5ad](a96a5ad))


### Bug Fixes

* Add locations to most SSA instructions
(noir-lang/noir#5697)
([b1c7374](b1c7374))
* Allow txs on block zero
([#7928](#7928))
([5e25cd6](5e25cd6))
* Build error in e2e_block_building
([0d0646d](0d0646d))
* **debugger:** Update the debugger to handle the new Brillig debug
metadata format (noir-lang/noir#5706)
([91042c7](91042c7))
* Delete forks after proving job has finished
([#7972](#7972))
([2b4a842](2b4a842))
* Deploy verifier cmd
([#7983](#7983))
([f4fa797](f4fa797))
* Derive generic types (noir-lang/noir#5674)
([b1c7374](b1c7374))
* Do not duplicate redundant Brillig debug metadata
(noir-lang/noir#5696)
([b1c7374](b1c7374))
* Do not mount ssh agent on OSX
([#7991](#7991))
([950db8e](950db8e))
* **docs:** Add redirects for website links
([#7979](#7979))
([e890814](e890814))
* Elaborate struct & trait annotations in the correct module
(noir-lang/noir#5643)
([b1c7374](b1c7374))
* Fix where clause issue in items generated from attributes
(noir-lang/noir#5673)
([b1c7374](b1c7374))
* Lay plumbing for having simulations throw an error if they cannot be
added in a block
([#7839](#7839))
([eedbc11](eedbc11))
* Let a trait impl that relies on another trait work
(noir-lang/noir#5646)
([b1c7374](b1c7374))
* Only record bytecode if &gt;0
([#7932](#7932))
([3f145b3](3f145b3))
* Remove missing file
([#7941](#7941))
([4d9290f](4d9290f))
* Replace unused ArrayGet/Set with constrain if possibly out of bounds
(noir-lang/noir#5691)
([ccbef55](ccbef55))
* Switch verify proof to arrays
(noir-lang/noir#5664)
([b1c7374](b1c7374))
* Track L1 block for last L2 block body retrieved
([#7927](#7927))
([cd36be4](cd36be4)),
closes
[#7918](#7918)
* Unexpose get note nonces on pxe
([#7889](#7889))
([163c3a6](163c3a6))
* Use data dir for lmdb forks
([#7973](#7973))
([5b53d43](5b53d43))
* Workaround from_slice with nested slices
(noir-lang/noir#5648)
([b1c7374](b1c7374))


### Miscellaneous

* Add docs tip about filenames between commands
(noir-lang/noir#5695)
([b1c7374](b1c7374))
* Add env var to disable bb cleanup
([#7936](#7936))
([806a370](806a370))
* Add parser support for `&lt;MyType as Trait&gt;::ident`
(noir-lang/noir#5688)
([b1c7374](b1c7374))
* Add tests for noir&lt;&gt;ivc integration testing
([#7931](#7931))
([7cc47a6](7cc47a6))
* Allow passing custom executors to fuzzer
(noir-lang/noir#5710)
([91042c7](91042c7))
* **avm:** Fewer errors unless testing
([#7943](#7943))
([33b65a9](33b65a9))
* **bb:** Constexpr simplifications
([#7906](#7906))
([65d3b7f](65d3b7f))
* **bb:** Prereq work for polynomial mem optimization
([#7949](#7949))
([5ca5138](5ca5138))
* **ci:** Print detailed target timings
([#7934](#7934))
([fb574aa](fb574aa))
* Do not clean up bb files on err
([#7985](#7985))
([75c6768](75c6768))
* Enable execute command on aws ecs services
([#7975](#7975))
([4331bc6](4331bc6))
* Ensure bootstrapped networks have no pending blocks when proving
starts
([#7986](#7986))
([fb471b3](fb471b3))
* Fork logs and prover job catch
([#7982](#7982))
([69bde53](69bde53))
* Move siloing to reset
([#7871](#7871))
([014b5f0](014b5f0))
* Pin yarn versions in noir-projects and bb/ts
([#7988](#7988))
([83f33a1](83f33a1))
* Release Noir(0.33.0) (noir-lang/noir#5550)
([b1c7374](b1c7374))
* Replace relative paths to noir-protocol-circuits
([cd5f138](cd5f138))
* Replace relative paths to noir-protocol-circuits
([6f3cef9](6f3cef9))
* Replace relative paths to noir-protocol-circuits
([54c4441](54c4441))
* Replace VERSION with IMAGE on provernet template
([d5e48aa](d5e48aa))
* Sequencer no longer proves
([#7860](#7860))
([7168290](7168290))
* Simplify registry
([#7939](#7939))
([8e0418f](8e0418f))
* Terraform template for prover-node
([#7846](#7846))
([546f946](546f946))
* Update provernet docker compose template
([#7929](#7929))
([33d47d2](33d47d2))
* Updating token with refunds
([#7969](#7969))
([504deba](504deba))
</details>

<details><summary>barretenberg: 0.49.0</summary>

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


### Features

* **avm:** More no fake rows + virtual dyn gas (part 1)
([#7942](#7942))
([9e8ba96](9e8ba96))
* IVC integration tests using new accumulate model
([#7946](#7946))
([c527ae9](c527ae9))
* Update honk ultra_recursive_verifier to do aggregation
([#7582](#7582))
([a96a5ad](a96a5ad))


### Miscellaneous

* **avm:** Fewer errors unless testing
([#7943](#7943))
([33b65a9](33b65a9))
* **bb:** Constexpr simplifications
([#7906](#7906))
([65d3b7f](65d3b7f))
* **bb:** Prereq work for polynomial mem optimization
([#7949](#7949))
([5ca5138](5ca5138))
</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 Aug 16, 2024
🤖 I have created a release *beep* *boop*
---


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

##
[0.49.0](AztecProtocol/aztec-packages@aztec-package-v0.48.0...aztec-package-v0.49.0)
(2024-08-15)


### ⚠ BREAKING CHANGES

* Sequencer no longer proves
([#7860](AztecProtocol/aztec-packages#7860))

### Miscellaneous

* Enable execute command on aws ecs services
([#7975](AztecProtocol/aztec-packages#7975))
([4331bc6](AztecProtocol/aztec-packages@4331bc6))
* Sequencer no longer proves
([#7860](AztecProtocol/aztec-packages#7860))
([7168290](AztecProtocol/aztec-packages@7168290))
* Terraform template for prover-node
([#7846](AztecProtocol/aztec-packages#7846))
([546f946](AztecProtocol/aztec-packages@546f946))
</details>

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

##
[0.49.0](AztecProtocol/aztec-packages@barretenberg.js-v0.48.0...barretenberg.js-v0.49.0)
(2024-08-15)


### Miscellaneous

* Pin yarn versions in noir-projects and bb/ts
([#7988](AztecProtocol/aztec-packages#7988))
([83f33a1](AztecProtocol/aztec-packages@83f33a1))
</details>

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

##
[0.49.0](AztecProtocol/aztec-packages@aztec-packages-v0.48.0...aztec-packages-v0.49.0)
(2024-08-15)


### ⚠ BREAKING CHANGES

* alternative key registry contract
([#7523](AztecProtocol/aztec-packages#7523))
* Sequencer no longer proves
([#7860](AztecProtocol/aztec-packages#7860))

### Features

* Add `FunctionDefinition::parameters`,
`FunctionDefinition::return_type` and `impl Eq for Quoted`
(noir-lang/noir#5681)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Add `Quoted::as_expr` and `Expr::as_function_call`
(noir-lang/noir#5708)
([91042c7](AztecProtocol/aztec-packages@91042c7))
* Add `Type::as_struct` (noir-lang/noir#5680)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Add `Type::get_trait_impl`
(noir-lang/noir#5716)
([ccbef55](AztecProtocol/aztec-packages@ccbef55))
* Add `Type::implements` (noir-lang/noir#5701)
([91042c7](AztecProtocol/aztec-packages@91042c7))
* Add `Type::is_field` and `Type::as_integer`
(noir-lang/noir#5670)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Add `Type` methods: `as_tuple`, `as_slice`, `as_array`, `as_constant`,
`is_bool` (noir-lang/noir#5678)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Add a limited form of arithmetic on generics
(noir-lang/noir#5625)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Add array_to_str_lossy (noir-lang/noir#5613)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Add generate-secret-and-hash to cli
([#7977](AztecProtocol/aztec-packages#7977))
([cdf62a0](AztecProtocol/aztec-packages@cdf62a0))
* Add mutating FunctionDefinition functions
(noir-lang/noir#5685)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Add proven flag to sent tx wait opts
([#7950](AztecProtocol/aztec-packages#7950))
([e80e7d2](AztecProtocol/aztec-packages@e80e7d2))
* Add some `Module` comptime functions
(noir-lang/noir#5684)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Alternative key registry contract
([#7523](AztecProtocol/aztec-packages#7523))
([3e6a20f](AztecProtocol/aztec-packages@3e6a20f))
* **avm:** More no fake rows + virtual dyn gas (part 1)
([#7942](AztecProtocol/aztec-packages#7942))
([9e8ba96](AztecProtocol/aztec-packages@9e8ba96))
* Derive `Ord` and `Hash` in the stdlib; add `std::meta::make_impl`
helper (noir-lang/noir#5683)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Destroy_note_unsafe
([#7891](AztecProtocol/aztec-packages#7891))
([5cda7ba](AztecProtocol/aztec-packages@5cda7ba))
* **docs:** Nits
([#7838](AztecProtocol/aztec-packages#7838))
([a76c999](AztecProtocol/aztec-packages@a76c999))
* Enable UltraHonk verifier
([#7923](AztecProtocol/aztec-packages#7923))
([5e8b4a8](AztecProtocol/aztec-packages@5e8b4a8)),
closes
[#7373](AztecProtocol/aztec-packages#7373)
* Implement closures in the comptime interpreter
(noir-lang/noir#5682)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* IVC integration tests using new accumulate model
([#7946](AztecProtocol/aztec-packages#7946))
([c527ae9](AztecProtocol/aztec-packages@c527ae9))
* LSP autocompletion for use statement
(noir-lang/noir#5704)
([91042c7](AztecProtocol/aztec-packages@91042c7))
* LSP closing brace hints (noir-lang/noir#5686)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* LSP fields, functions and methods completion after "." and "::"
(noir-lang/noir#5714)
([ccbef55](AztecProtocol/aztec-packages@ccbef55))
* LSP hover now includes "Go to" links
(noir-lang/noir#5677)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* LSP path completion (noir-lang/noir#5712)
([91042c7](AztecProtocol/aztec-packages@91042c7))
* **noir_js:** Expose UltraHonk and integration tests
(noir-lang/noir#5656)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Optimizing PrivateFPC
([#7980](AztecProtocol/aztec-packages#7980))
([d018335](AztecProtocol/aztec-packages@d018335))
* Private refunds optimizations
([#7968](AztecProtocol/aztec-packages#7968))
([cea8295](AztecProtocol/aztec-packages@cea8295))
* Resolve arguments to attributes
(noir-lang/noir#5649)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* **ssa:** Simple serialization of unoptimized SSA to file
(noir-lang/noir#5679)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Sync from aztec-packages (noir-lang/noir#5718)
([ccbef55](AztecProtocol/aztec-packages@ccbef55))
* Update honk ultra_recursive_verifier to do aggregation
([#7582](AztecProtocol/aztec-packages#7582))
([a96a5ad](AztecProtocol/aztec-packages@a96a5ad))


### Bug Fixes

* Add locations to most SSA instructions
(noir-lang/noir#5697)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Allow txs on block zero
([#7928](AztecProtocol/aztec-packages#7928))
([5e25cd6](AztecProtocol/aztec-packages@5e25cd6))
* Build error in e2e_block_building
([0d0646d](AztecProtocol/aztec-packages@0d0646d))
* **debugger:** Update the debugger to handle the new Brillig debug
metadata format (noir-lang/noir#5706)
([91042c7](AztecProtocol/aztec-packages@91042c7))
* Delete forks after proving job has finished
([#7972](AztecProtocol/aztec-packages#7972))
([2b4a842](AztecProtocol/aztec-packages@2b4a842))
* Deploy verifier cmd
([#7983](AztecProtocol/aztec-packages#7983))
([f4fa797](AztecProtocol/aztec-packages@f4fa797))
* Derive generic types (noir-lang/noir#5674)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Do not duplicate redundant Brillig debug metadata
(noir-lang/noir#5696)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Do not mount ssh agent on OSX
([#7991](AztecProtocol/aztec-packages#7991))
([950db8e](AztecProtocol/aztec-packages@950db8e))
* **docs:** Add redirects for website links
([#7979](AztecProtocol/aztec-packages#7979))
([e890814](AztecProtocol/aztec-packages@e890814))
* Elaborate struct & trait annotations in the correct module
(noir-lang/noir#5643)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Fix where clause issue in items generated from attributes
(noir-lang/noir#5673)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Lay plumbing for having simulations throw an error if they cannot be
added in a block
([#7839](AztecProtocol/aztec-packages#7839))
([eedbc11](AztecProtocol/aztec-packages@eedbc11))
* Let a trait impl that relies on another trait work
(noir-lang/noir#5646)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Only record bytecode if &gt;0
([#7932](AztecProtocol/aztec-packages#7932))
([3f145b3](AztecProtocol/aztec-packages@3f145b3))
* Remove missing file
([#7941](AztecProtocol/aztec-packages#7941))
([4d9290f](AztecProtocol/aztec-packages@4d9290f))
* Replace unused ArrayGet/Set with constrain if possibly out of bounds
(noir-lang/noir#5691)
([ccbef55](AztecProtocol/aztec-packages@ccbef55))
* Switch verify proof to arrays
(noir-lang/noir#5664)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Track L1 block for last L2 block body retrieved
([#7927](AztecProtocol/aztec-packages#7927))
([cd36be4](AztecProtocol/aztec-packages@cd36be4)),
closes
[#7918](AztecProtocol/aztec-packages#7918)
* Unexpose get note nonces on pxe
([#7889](AztecProtocol/aztec-packages#7889))
([163c3a6](AztecProtocol/aztec-packages@163c3a6))
* Use data dir for lmdb forks
([#7973](AztecProtocol/aztec-packages#7973))
([5b53d43](AztecProtocol/aztec-packages@5b53d43))
* Workaround from_slice with nested slices
(noir-lang/noir#5648)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))


### Miscellaneous

* Add docs tip about filenames between commands
(noir-lang/noir#5695)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Add env var to disable bb cleanup
([#7936](AztecProtocol/aztec-packages#7936))
([806a370](AztecProtocol/aztec-packages@806a370))
* Add parser support for `&lt;MyType as Trait&gt;::ident`
(noir-lang/noir#5688)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Add tests for noir&lt;&gt;ivc integration testing
([#7931](AztecProtocol/aztec-packages#7931))
([7cc47a6](AztecProtocol/aztec-packages@7cc47a6))
* Allow passing custom executors to fuzzer
(noir-lang/noir#5710)
([91042c7](AztecProtocol/aztec-packages@91042c7))
* **avm:** Fewer errors unless testing
([#7943](AztecProtocol/aztec-packages#7943))
([33b65a9](AztecProtocol/aztec-packages@33b65a9))
* **bb:** Constexpr simplifications
([#7906](AztecProtocol/aztec-packages#7906))
([65d3b7f](AztecProtocol/aztec-packages@65d3b7f))
* **bb:** Prereq work for polynomial mem optimization
([#7949](AztecProtocol/aztec-packages#7949))
([5ca5138](AztecProtocol/aztec-packages@5ca5138))
* **ci:** Print detailed target timings
([#7934](AztecProtocol/aztec-packages#7934))
([fb574aa](AztecProtocol/aztec-packages@fb574aa))
* Do not clean up bb files on err
([#7985](AztecProtocol/aztec-packages#7985))
([75c6768](AztecProtocol/aztec-packages@75c6768))
* Enable execute command on aws ecs services
([#7975](AztecProtocol/aztec-packages#7975))
([4331bc6](AztecProtocol/aztec-packages@4331bc6))
* Ensure bootstrapped networks have no pending blocks when proving
starts
([#7986](AztecProtocol/aztec-packages#7986))
([fb471b3](AztecProtocol/aztec-packages@fb471b3))
* Fork logs and prover job catch
([#7982](AztecProtocol/aztec-packages#7982))
([69bde53](AztecProtocol/aztec-packages@69bde53))
* Move siloing to reset
([#7871](AztecProtocol/aztec-packages#7871))
([014b5f0](AztecProtocol/aztec-packages@014b5f0))
* Pin yarn versions in noir-projects and bb/ts
([#7988](AztecProtocol/aztec-packages#7988))
([83f33a1](AztecProtocol/aztec-packages@83f33a1))
* Release Noir(0.33.0) (noir-lang/noir#5550)
([b1c7374](AztecProtocol/aztec-packages@b1c7374))
* Replace relative paths to noir-protocol-circuits
([cd5f138](AztecProtocol/aztec-packages@cd5f138))
* Replace relative paths to noir-protocol-circuits
([6f3cef9](AztecProtocol/aztec-packages@6f3cef9))
* Replace relative paths to noir-protocol-circuits
([54c4441](AztecProtocol/aztec-packages@54c4441))
* Replace VERSION with IMAGE on provernet template
([d5e48aa](AztecProtocol/aztec-packages@d5e48aa))
* Sequencer no longer proves
([#7860](AztecProtocol/aztec-packages#7860))
([7168290](AztecProtocol/aztec-packages@7168290))
* Simplify registry
([#7939](AztecProtocol/aztec-packages#7939))
([8e0418f](AztecProtocol/aztec-packages@8e0418f))
* Terraform template for prover-node
([#7846](AztecProtocol/aztec-packages#7846))
([546f946](AztecProtocol/aztec-packages@546f946))
* Update provernet docker compose template
([#7929](AztecProtocol/aztec-packages#7929))
([33d47d2](AztecProtocol/aztec-packages@33d47d2))
* Updating token with refunds
([#7969](AztecProtocol/aztec-packages#7969))
([504deba](AztecProtocol/aztec-packages@504deba))
</details>

<details><summary>barretenberg: 0.49.0</summary>

##
[0.49.0](AztecProtocol/aztec-packages@barretenberg-v0.48.0...barretenberg-v0.49.0)
(2024-08-15)


### Features

* **avm:** More no fake rows + virtual dyn gas (part 1)
([#7942](AztecProtocol/aztec-packages#7942))
([9e8ba96](AztecProtocol/aztec-packages@9e8ba96))
* IVC integration tests using new accumulate model
([#7946](AztecProtocol/aztec-packages#7946))
([c527ae9](AztecProtocol/aztec-packages@c527ae9))
* Update honk ultra_recursive_verifier to do aggregation
([#7582](AztecProtocol/aztec-packages#7582))
([a96a5ad](AztecProtocol/aztec-packages@a96a5ad))


### Miscellaneous

* **avm:** Fewer errors unless testing
([#7943](AztecProtocol/aztec-packages#7943))
([33b65a9](AztecProtocol/aztec-packages@33b65a9))
* **bb:** Constexpr simplifications
([#7906](AztecProtocol/aztec-packages#7906))
([65d3b7f](AztecProtocol/aztec-packages@65d3b7f))
* **bb:** Prereq work for polynomial mem optimization
([#7949](AztecProtocol/aztec-packages#7949))
([5ca5138](AztecProtocol/aztec-packages@5ca5138))
</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.

Implement a trait for types implementing some other trait
2 participants