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

feat: FunctionDefinition::as_typed_expr #7358

Merged
merged 4 commits into from
Feb 12, 2025
Merged

Conversation

asterite
Copy link
Collaborator

Description

Problem

Resolves #7314
Resolves #7315

Will make AztecProtocol/aztec-packages#11863 possible.

Summary

First adds FunctionDefinition::as_typed_expr, which does the same logic of type-checking the function and turning it into an ExprId.

Then, allows unquoting TypedExpr in a way that preserves the underlying ExprId.

Additional Context

In the code there's a let generics = None;. Those would be the generics resulting from turbofish on the function. Eventually we could add a as_typed_expr_with_turbofish or similar that takes a [Type] for for the generics... if really needed.

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.

@github-actions github-actions bot added the documentation Improvements or additions to documentation label Feb 12, 2025
Copy link
Contributor

github-actions bot commented Feb 12, 2025

@asterite asterite requested a review from a team February 12, 2025 19:56
Copy link
Contributor

@michaeljklein michaeljklein left a comment

Choose a reason for hiding this comment

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

Please add a couple more tests, e.g.

unconstrained fn foo<T, let N: u32>(xs: [T; N]) -> u32 {
    xs.len()
}
comptime fn bar<T, U, let N: u32>(xs_ys: ([T; N], U)) -> u32 {
    let (xs, ys) = xs_ys;
    xs.len()
}

And regression tests for the original cases.

Otherwise it LGTM

@asterite
Copy link
Collaborator Author

Do you mean getting a reference to foo and bar, converting them to typed exprs and unquoting them?

@asterite
Copy link
Collaborator Author

And regression tests for the original cases.

What would the original cases be?

@michaeljklein
Copy link
Contributor

michaeljklein commented Feb 12, 2025

Do you mean getting a reference to foo and bar, converting them to typed exprs and unquoting them?

Yes

What would the original cases be?

Just the one case from #7315:

comptime fn foo(f: TypedExpr) -> Quoted {
    quote {
        $f()
    }
}

fn bar() -> Field {
    1
}

fn main() {
    let x: Field = comptime {
        let bar_q = quote {
            bar
        };
        foo(bar_q.as_expr().unwrap().resolve(Option::none()))
    };
    assert(x == 1);
}

@asterite
Copy link
Collaborator Author

Done!

Copy link
Contributor

FYI @noir-lang/developerrelations on Noir doc changes.

@asterite asterite added this pull request to the merge queue Feb 12, 2025
Merged via the queue into master with commit 97afa52 Feb 12, 2025
102 of 103 checks passed
@asterite asterite deleted the ab/function_def_as_typed_expr branch February 12, 2025 22:50
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Feb 13, 2025
…#7358)

feat(performance): Check sub operations against induction variables (noir-lang/noir#7356)
chore: avoid doing all brillig integer arithmetic on u128s (noir-lang/noir#7357)
feat(cli): Add `--target-dir` option (noir-lang/noir#7350)
fix(ssa): Make the lookback feature opt-in (noir-lang/noir#7190)
feat(performance): Use unchecked ops based upon known induction variables (noir-lang/noir#7344)
chore: mark sha256 as deprecated from the stdlib (noir-lang/noir#7351)
fix: incorrect secondary file in LSP errors (noir-lang/noir#7347)
chore: Basic test for MSM in Noir to catch performance improvements and regressions (noir-lang/noir#7341)
fix(cli): Only lock the packages selected in the workspace (noir-lang/noir#7345)
chore: remove some unused types and functions in the AST (noir-lang/noir#7339)
chore: remove foreign calls array from Brillig VM constructor (noir-lang/noir#7337)
chore(ci): Add Vecs and vecs to cspell (noir-lang/noir#7342)
chore: redo typo PR by osrm (noir-lang/noir#7238)
chore: Release Noir(1.0.0-beta.2) (noir-lang/noir#6914)
fix: lock git dependencies folder when resolving workspace (noir-lang/noir#7327)
fix: perform SSA constraints check on final SSA (noir-lang/noir#7334)
chore: remove misleading output from `nargo check` (noir-lang/noir#7329)
chore: fix warnings (noir-lang/noir#7330)
chore: normalize path displayed by `nargo new` (noir-lang/noir#7328)
chore: split acirgen into multiple modules (noir-lang/noir#7310)
chore: remove unnecessary constants (noir-lang/noir#7326)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Feb 13, 2025
feat(performance): Check sub operations against induction variables (noir-lang/noir#7356)
chore: avoid doing all brillig integer arithmetic on u128s (noir-lang/noir#7357)
feat(cli): Add `--target-dir` option (noir-lang/noir#7350)
fix(ssa): Make the lookback feature opt-in (noir-lang/noir#7190)
feat(performance): Use unchecked ops based upon known induction variables (noir-lang/noir#7344)
chore: mark sha256 as deprecated from the stdlib (noir-lang/noir#7351)
fix: incorrect secondary file in LSP errors (noir-lang/noir#7347)
chore: Basic test for MSM in Noir to catch performance improvements and regressions (noir-lang/noir#7341)
fix(cli): Only lock the packages selected in the workspace (noir-lang/noir#7345)
chore: remove some unused types and functions in the AST (noir-lang/noir#7339)
chore: remove foreign calls array from Brillig VM constructor (noir-lang/noir#7337)
chore(ci): Add Vecs and vecs to cspell (noir-lang/noir#7342)
chore: redo typo PR by osrm (noir-lang/noir#7238)
chore: Release Noir(1.0.0-beta.2) (noir-lang/noir#6914)
fix: lock git dependencies folder when resolving workspace (noir-lang/noir#7327)
fix: perform SSA constraints check on final SSA (noir-lang/noir#7334)
chore: remove misleading output from `nargo check` (noir-lang/noir#7329)
chore: fix warnings (noir-lang/noir#7330)
chore: normalize path displayed by `nargo new` (noir-lang/noir#7328)
chore: split acirgen into multiple modules (noir-lang/noir#7310)
chore: remove unnecessary constants (noir-lang/noir#7326)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Feb 13, 2025
feat: `FunctionDefinition::as_typed_expr` (noir-lang/noir#7358)
feat(performance): Check sub operations against induction variables (noir-lang/noir#7356)
chore: avoid doing all brillig integer arithmetic on u128s (noir-lang/noir#7357)
feat(cli): Add `--target-dir` option (noir-lang/noir#7350)
fix(ssa): Make the lookback feature opt-in (noir-lang/noir#7190)
feat(performance): Use unchecked ops based upon known induction variables (noir-lang/noir#7344)
chore: mark sha256 as deprecated from the stdlib (noir-lang/noir#7351)
fix: incorrect secondary file in LSP errors (noir-lang/noir#7347)
chore: Basic test for MSM in Noir to catch performance improvements and regressions (noir-lang/noir#7341)
fix(cli): Only lock the packages selected in the workspace (noir-lang/noir#7345)
chore: remove some unused types and functions in the AST (noir-lang/noir#7339)
chore: remove foreign calls array from Brillig VM constructor (noir-lang/noir#7337)
chore(ci): Add Vecs and vecs to cspell (noir-lang/noir#7342)
chore: redo typo PR by osrm (noir-lang/noir#7238)
chore: Release Noir(1.0.0-beta.2) (noir-lang/noir#6914)
fix: lock git dependencies folder when resolving workspace (noir-lang/noir#7327)
fix: perform SSA constraints check on final SSA (noir-lang/noir#7334)
chore: remove misleading output from `nargo check` (noir-lang/noir#7329)
chore: fix warnings (noir-lang/noir#7330)
chore: normalize path displayed by `nargo new` (noir-lang/noir#7328)
chore: split acirgen into multiple modules (noir-lang/noir#7310)
chore: remove unnecessary constants (noir-lang/noir#7326)
TomAFrench added a commit to AztecProtocol/aztec-packages that referenced this pull request Feb 13, 2025
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: deprecate keccak256 (noir-lang/noir#7361)
feat: `FunctionDefinition::as_typed_expr`
(noir-lang/noir#7358)
feat(performance): Check sub operations against induction variables
(noir-lang/noir#7356)
chore: avoid doing all brillig integer arithmetic on u128s
(noir-lang/noir#7357)
feat(cli): Add `--target-dir` option
(noir-lang/noir#7350)
fix(ssa): Make the lookback feature opt-in
(noir-lang/noir#7190)
feat(performance): Use unchecked ops based upon known induction
variables (noir-lang/noir#7344)
chore: mark sha256 as deprecated from the stdlib
(noir-lang/noir#7351)
fix: incorrect secondary file in LSP errors
(noir-lang/noir#7347)
chore: Basic test for MSM in Noir to catch performance improvements and
regressions (noir-lang/noir#7341)
fix(cli): Only lock the packages selected in the workspace
(noir-lang/noir#7345)
chore: remove some unused types and functions in the AST
(noir-lang/noir#7339)
chore: remove foreign calls array from Brillig VM constructor
(noir-lang/noir#7337)
chore(ci): Add Vecs and vecs to cspell
(noir-lang/noir#7342)
chore: redo typo PR by osrm
(noir-lang/noir#7238)
chore: Release Noir(1.0.0-beta.2)
(noir-lang/noir#6914)
fix: lock git dependencies folder when resolving workspace
(noir-lang/noir#7327)
fix: perform SSA constraints check on final SSA
(noir-lang/noir#7334)
chore: remove misleading output from `nargo check`
(noir-lang/noir#7329)
chore: fix warnings (noir-lang/noir#7330)
chore: normalize path displayed by `nargo new`
(noir-lang/noir#7328)
chore: split acirgen into multiple modules
(noir-lang/noir#7310)
chore: remove unnecessary constants
(noir-lang/noir#7326)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Tom French <[email protected]>
Co-authored-by: Tom French <[email protected]>
sklppy88 pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Feb 13, 2025
🤖 I have created a release *beep* *boop*
---


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

##
[0.76.4](aztec-package-v0.76.3...aztec-package-v0.76.4)
(2025-02-13)


### Miscellaneous

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

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

##
[0.76.4](barretenberg.js-v0.76.3...barretenberg.js-v0.76.4)
(2025-02-13)


### Miscellaneous

* Unify webpack dev server versions
([#11965](#11965))
([921d2cd](921d2cd))
</details>

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

##
[0.76.4](aztec-packages-v0.76.3...aztec-packages-v0.76.4)
(2025-02-13)


### Features

* `FunctionDefinition::as_typed_expr`
(noir-lang/noir#7358)
([5efdd57](5efdd57))
* Aes decryption oracle
([#11907](#11907))
([c4ce913](c4ce913))
* **avm:** Constrained ec_add
([#11525](#11525))
([f8fe602](f8fe602))
* **avm:** Interaction testing
([#11947](#11947))
([fc647eb](fc647eb))
* **avm:** Relation microbenchmarks
([#11974](#11974))
([95b581d](95b581d))
* **cli:** Add `--target-dir` option
(noir-lang/noir#7350)
([5efdd57](5efdd57))
* Indexed protocol contracts tree
([#11897](#11897))
([96e84d4](96e84d4))
* **performance:** Check sub operations against induction variables
(noir-lang/noir#7356)
([5efdd57](5efdd57))
* **performance:** Use unchecked ops based upon known induction
variables (noir-lang/noir#7344)
([5efdd57](5efdd57))
* Small blob fixes/improvements
([#11686](#11686))
([4eab9fc](4eab9fc))
* Update fee model
([#11953](#11953))
([2798d58](2798d58))
* Use brillig optimized sha256
([#11696](#11696))
([438c905](438c905))


### Bug Fixes

* Ci fixes
([#11973](#11973))
([6386f4e](6386f4e))
* **cli:** Only lock the packages selected in the workspace
(noir-lang/noir#7345)
([5efdd57](5efdd57))
* Deterministic generation of vkeys in ts
([#11951](#11951))
([7901cac](7901cac))
* Incorrect secondary file in LSP errors
(noir-lang/noir#7347)
([5efdd57](5efdd57))
* Lock git dependencies folder when resolving workspace
(noir-lang/noir#7327)
([5efdd57](5efdd57))
* Perform SSA constraints check on final SSA
(noir-lang/noir#7334)
([5efdd57](5efdd57))
* Remove deprecated artifacts
([#11979](#11979))
([4f0dce7](4f0dce7))
* Remove serial queue in broker facade
([#11956](#11956))
([3485b52](3485b52))
* **ssa:** Make the lookback feature opt-in
(noir-lang/noir#7190)
([5efdd57](5efdd57))


### Miscellaneous

* **avm:** Tracegen interactions assertion
([#11972](#11972))
([b865ccc](b865ccc))
* Avoid doing all brillig integer arithmetic on u128s
(noir-lang/noir#7357)
([5efdd57](5efdd57))
* Basic test for MSM in Noir to catch performance improvements and
regressions (noir-lang/noir#7341)
([5efdd57](5efdd57))
* Bump devnet boot node resources
([#11958](#11958))
([bbcdefc](bbcdefc))
* **ci:** Add Vecs and vecs to cspell
(noir-lang/noir#7342)
([5efdd57](5efdd57))
* Deprecate keccak256 (noir-lang/noir#7361)
([5efdd57](5efdd57))
* Fix warnings (noir-lang/noir#7330)
([5efdd57](5efdd57))
* Mark sha256 as deprecated from the stdlib
(noir-lang/noir#7351)
([5efdd57](5efdd57))
* Moving storage slot out of `NoteHeader`
([#11904](#11904))
([8c4bb1c](8c4bb1c))
* Normalize path displayed by `nargo new`
(noir-lang/noir#7328)
([5efdd57](5efdd57))
* Redo typo PR by osrm (noir-lang/noir#7238)
([5efdd57](5efdd57))
* Release Noir(1.0.0-beta.2)
(noir-lang/noir#6914)
([5efdd57](5efdd57))
* Remove foreign calls array from Brillig VM constructor
(noir-lang/noir#7337)
([5efdd57](5efdd57))
* Remove misleading output from `nargo check`
(noir-lang/noir#7329)
([5efdd57](5efdd57))
* Remove some unused types and functions in the AST
(noir-lang/noir#7339)
([5efdd57](5efdd57))
* Remove unnecessary constants
(noir-lang/noir#7326)
([5efdd57](5efdd57))
* Revive browser test before killing it
([#11964](#11964))
([cb47cc0](cb47cc0))
* Split acirgen into multiple modules
(noir-lang/noir#7310)
([5efdd57](5efdd57))
* Unify webpack dev server versions
([#11965](#11965))
([921d2cd](921d2cd))
</details>

<details><summary>barretenberg: 0.76.4</summary>

##
[0.76.4](barretenberg-v0.76.3...barretenberg-v0.76.4)
(2025-02-13)


### Features

* Aes decryption oracle
([#11907](#11907))
([c4ce913](c4ce913))
* **avm:** Constrained ec_add
([#11525](#11525))
([f8fe602](f8fe602))
* **avm:** Interaction testing
([#11947](#11947))
([fc647eb](fc647eb))
* **avm:** Relation microbenchmarks
([#11974](#11974))
([95b581d](95b581d))


### Miscellaneous

* **avm:** Tracegen interactions assertion
([#11972](#11972))
([b865ccc](b865ccc))
* Unify webpack dev server versions
([#11965](#11965))
([921d2cd](921d2cd))
</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 Feb 14, 2025
🤖 I have created a release *beep* *boop*
---


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

##
[0.76.4](AztecProtocol/aztec-packages@aztec-package-v0.76.3...aztec-package-v0.76.4)
(2025-02-13)


### Miscellaneous

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

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

##
[0.76.4](AztecProtocol/aztec-packages@barretenberg.js-v0.76.3...barretenberg.js-v0.76.4)
(2025-02-13)


### Miscellaneous

* Unify webpack dev server versions
([#11965](AztecProtocol/aztec-packages#11965))
([921d2cd](AztecProtocol/aztec-packages@921d2cd))
</details>

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

##
[0.76.4](AztecProtocol/aztec-packages@aztec-packages-v0.76.3...aztec-packages-v0.76.4)
(2025-02-13)


### Features

* `FunctionDefinition::as_typed_expr`
(noir-lang/noir#7358)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Aes decryption oracle
([#11907](AztecProtocol/aztec-packages#11907))
([c4ce913](AztecProtocol/aztec-packages@c4ce913))
* **avm:** Constrained ec_add
([#11525](AztecProtocol/aztec-packages#11525))
([f8fe602](AztecProtocol/aztec-packages@f8fe602))
* **avm:** Interaction testing
([#11947](AztecProtocol/aztec-packages#11947))
([fc647eb](AztecProtocol/aztec-packages@fc647eb))
* **avm:** Relation microbenchmarks
([#11974](AztecProtocol/aztec-packages#11974))
([95b581d](AztecProtocol/aztec-packages@95b581d))
* **cli:** Add `--target-dir` option
(noir-lang/noir#7350)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Indexed protocol contracts tree
([#11897](AztecProtocol/aztec-packages#11897))
([96e84d4](AztecProtocol/aztec-packages@96e84d4))
* **performance:** Check sub operations against induction variables
(noir-lang/noir#7356)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* **performance:** Use unchecked ops based upon known induction
variables (noir-lang/noir#7344)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Small blob fixes/improvements
([#11686](AztecProtocol/aztec-packages#11686))
([4eab9fc](AztecProtocol/aztec-packages@4eab9fc))
* Update fee model
([#11953](AztecProtocol/aztec-packages#11953))
([2798d58](AztecProtocol/aztec-packages@2798d58))
* Use brillig optimized sha256
([#11696](AztecProtocol/aztec-packages#11696))
([438c905](AztecProtocol/aztec-packages@438c905))


### Bug Fixes

* Ci fixes
([#11973](AztecProtocol/aztec-packages#11973))
([6386f4e](AztecProtocol/aztec-packages@6386f4e))
* **cli:** Only lock the packages selected in the workspace
(noir-lang/noir#7345)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Deterministic generation of vkeys in ts
([#11951](AztecProtocol/aztec-packages#11951))
([7901cac](AztecProtocol/aztec-packages@7901cac))
* Incorrect secondary file in LSP errors
(noir-lang/noir#7347)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Lock git dependencies folder when resolving workspace
(noir-lang/noir#7327)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Perform SSA constraints check on final SSA
(noir-lang/noir#7334)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Remove deprecated artifacts
([#11979](AztecProtocol/aztec-packages#11979))
([4f0dce7](AztecProtocol/aztec-packages@4f0dce7))
* Remove serial queue in broker facade
([#11956](AztecProtocol/aztec-packages#11956))
([3485b52](AztecProtocol/aztec-packages@3485b52))
* **ssa:** Make the lookback feature opt-in
(noir-lang/noir#7190)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))


### Miscellaneous

* **avm:** Tracegen interactions assertion
([#11972](AztecProtocol/aztec-packages#11972))
([b865ccc](AztecProtocol/aztec-packages@b865ccc))
* Avoid doing all brillig integer arithmetic on u128s
(noir-lang/noir#7357)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Basic test for MSM in Noir to catch performance improvements and
regressions (noir-lang/noir#7341)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Bump devnet boot node resources
([#11958](AztecProtocol/aztec-packages#11958))
([bbcdefc](AztecProtocol/aztec-packages@bbcdefc))
* **ci:** Add Vecs and vecs to cspell
(noir-lang/noir#7342)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Deprecate keccak256 (noir-lang/noir#7361)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Fix warnings (noir-lang/noir#7330)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Mark sha256 as deprecated from the stdlib
(noir-lang/noir#7351)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Moving storage slot out of `NoteHeader`
([#11904](AztecProtocol/aztec-packages#11904))
([8c4bb1c](AztecProtocol/aztec-packages@8c4bb1c))
* Normalize path displayed by `nargo new`
(noir-lang/noir#7328)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Redo typo PR by osrm (noir-lang/noir#7238)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Release Noir(1.0.0-beta.2)
(noir-lang/noir#6914)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Remove foreign calls array from Brillig VM constructor
(noir-lang/noir#7337)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Remove misleading output from `nargo check`
(noir-lang/noir#7329)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Remove some unused types and functions in the AST
(noir-lang/noir#7339)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Remove unnecessary constants
(noir-lang/noir#7326)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Revive browser test before killing it
([#11964](AztecProtocol/aztec-packages#11964))
([cb47cc0](AztecProtocol/aztec-packages@cb47cc0))
* Split acirgen into multiple modules
(noir-lang/noir#7310)
([5efdd57](AztecProtocol/aztec-packages@5efdd57))
* Unify webpack dev server versions
([#11965](AztecProtocol/aztec-packages#11965))
([921d2cd](AztecProtocol/aztec-packages@921d2cd))
</details>

<details><summary>barretenberg: 0.76.4</summary>

##
[0.76.4](AztecProtocol/aztec-packages@barretenberg-v0.76.3...barretenberg-v0.76.4)
(2025-02-13)


### Features

* Aes decryption oracle
([#11907](AztecProtocol/aztec-packages#11907))
([c4ce913](AztecProtocol/aztec-packages@c4ce913))
* **avm:** Constrained ec_add
([#11525](AztecProtocol/aztec-packages#11525))
([f8fe602](AztecProtocol/aztec-packages@f8fe602))
* **avm:** Interaction testing
([#11947](AztecProtocol/aztec-packages#11947))
([fc647eb](AztecProtocol/aztec-packages@fc647eb))
* **avm:** Relation microbenchmarks
([#11974](AztecProtocol/aztec-packages#11974))
([95b581d](AztecProtocol/aztec-packages@95b581d))


### Miscellaneous

* **avm:** Tracegen interactions assertion
([#11972](AztecProtocol/aztec-packages#11972))
([b865ccc](AztecProtocol/aztec-packages@b865ccc))
* Unify webpack dev server versions
([#11965](AztecProtocol/aztec-packages#11965))
([921d2cd](AztecProtocol/aztec-packages@921d2cd))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
TomAFrench added a commit that referenced this pull request Feb 14, 2025
* master: (42 commits)
  fix: give "correct" error when trying to use AsTraitPath (#7360)
  chore: avoid u128s in brillig memory (#7363)
  chore: update docs about integer overflows (#7370)
  fix!: Only decrement the counter of an array if its address has not changed (#7297)
  fix: let LSP read `noirfmt.toml` for formatting files (#7355)
  chore: deprecate keccak256 (#7361)
  feat: `FunctionDefinition::as_typed_expr` (#7358)
  feat(performance): Check sub operations against induction variables (#7356)
  chore: avoid doing all brillig integer arithmetic on u128s (#7357)
  feat(cli): Add `--target-dir` option (#7350)
  fix(ssa): Make the lookback feature opt-in (#7190)
  feat(performance): Use unchecked ops based upon known induction variables (#7344)
  chore: mark sha256 as deprecated from the stdlib (#7351)
  fix: incorrect secondary file in LSP errors (#7347)
  chore: Basic test for MSM in Noir to catch performance improvements and regressions (#7341)
  fix(cli): Only lock the packages selected in the workspace (#7345)
  chore: remove some unused types and functions in the AST (#7339)
  chore: remove foreign calls array from Brillig VM constructor (#7337)
  chore(ci): Add Vecs and vecs to cspell (#7342)
  chore: redo typo PR by osrm (#7238)
  ...
TomAFrench added a commit that referenced this pull request Feb 14, 2025
…rom-brillig

* master:
  chore: allow opting in to displaying benchmark comments (#7399)
  chore: box `ExprValue` in `Value` enum (#7388)
  chore: pull out refactored methods from u128 branch (#7385)
  feat: require safety comments instead of safety doc comments (#7295)
  fix(ssa): Do not deduplicate division by a zero constant (#7393)
  chore: document traits required to be in scope (#7387)
  fix: field zero division in brillig (#7386)
  chore: box `ParserError`s in `InterpreterError` (#7373)
  chore: remove unnecessary dereferencing within brillig vm (#7375)
  fix: give "correct" error when trying to use AsTraitPath (#7360)
  chore: avoid u128s in brillig memory (#7363)
  chore: update docs about integer overflows (#7370)
  fix!: Only decrement the counter of an array if its address has not changed (#7297)
  fix: let LSP read `noirfmt.toml` for formatting files (#7355)
  chore: deprecate keccak256 (#7361)
  feat: `FunctionDefinition::as_typed_expr` (#7358)
  feat(performance): Check sub operations against induction variables (#7356)
  chore: avoid doing all brillig integer arithmetic on u128s (#7357)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

TypedExpr cannot be called like a function Add FunctionDefinition::as_typed_expr or similar
2 participants