chore(frontend): Split out trait impl setup when defining function meta data #10271
Merged
chore(frontend): Split out trait impl setup when defining function meta data #10271
Conversation
jfecher
approved these changes
Oct 23, 2025
AztecBot
added a commit
to AztecProtocol/aztec-packages
that referenced
this pull request
Nov 5, 2025
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore(frontend): Elaborator assignment unit tests (noir-lang/noir#10362) fix(elaborator): Keep the status of the outer `unsafe` block if the inner is unnecessary (noir-lang/noir#10361) chore: Start greenlight of interpreter (noir-lang/noir#10354) chore: bump bb (noir-lang/noir#10359) feat: `TypeDefinition::as_type_with_generics` (noir-lang/noir#10315) fix(elaborator): Create new type variable for each generic kind of `FmtStr` (noir-lang/noir#10349) chore: require ≥2 `FunctionId`'s in `create_apply_function` (noir-lang/noir#10329) chore(test): Show that `#[oracle]` can take and return function pointers (noir-lang/noir#10178) fix: check value of `ArraySet` during `array_set_optimization` (noir-lang/noir#10325) chore(frontend): Comptime item generation unit tests (noir-lang/noir#10319) chore: bump external pinned commits (noir-lang/noir#10236) fix: do not simplify call-data values (noir-lang/noir#10032) chore: update directory name (noir-lang/noir#10348) feat: Add `#[must_use]` attribute to promote unused warning to an error (noir-lang/noir#10313) chore: green light for basic_conditional audit (noir-lang/noir#10134) chore: add unit tests to show some features of the analysis (noir-lang/noir#10286) fix(print): Convert `HirType::Function` into `PrintableType::Tuple` (noir-lang/noir#10189) chore(frontend): Quoting/unquoting roundtrip testing (noir-lang/noir#10327) fix: remove leading stars from block doc comments (noir-lang/noir#10316) fix: slice push_back when length is not known (noir-lang/noir#10206) chore: Fix typo in defunctionalize docs (noir-lang/noir#10321) chore(frontend): Elaborator comptime module docs (noir-lang/noir#10318) fix: "No size for slice" when using black_box (noir-lang/noir#10312) chore(audit): Fix vector items offset and other refactors (noir-lang/noir#10294) chore(audit): Refactors and tests for reg-to-reg movements (noir-lang/noir#10293) chore: Document each elaborator trait function (noir-lang/noir#10303) chore(frontend): Elaborator impls documentation and additional tests (noir-lang/noir#10302) feat(ACIR): reuse element_type_sizes blocks with the same structure (noir-lang/noir#10231) feat(SSA): simplify array_get from param (noir-lang/noir#10300) chore(frontend): Elaborator lazy globals and documentation (noir-lang/noir#10260) chore: avoid unrolling loop headers twice in unrolling passes (noir-lang/noir#10284) chore(audit): Refactors in `BrilligGlobals`, `ConstantAllocation` and `VariableLiveness` (noir-lang/noir#10265) chore: Move variable elaboration to its own file (noir-lang/noir#10285) chore(ACIR): use u32::MAX for PLACEHOLDER_BRILLIG_INDEX (noir-lang/noir#10287) feat(github): Add Security Policy (noir-lang/noir#10262) chore(ACIR): handle TODO in `more_than_eq_var` (noir-lang/noir#10274) chore(ACIR): document AcirValue (noir-lang/noir#10276) chore(Brillig): no need to handle ArrayLen intrinsic (noir-lang/noir#10280) chore(frontend): Split out trait impl setup when defining function meta data (noir-lang/noir#10271) feat(LSP): show errors on stdlib files (noir-lang/noir#10283) chore: typos and some refactors, tests, etc in `noirc_evaluator/src/acir` (noir-lang/noir#10255) chore(ACIR): handle TODO in radix_decompose (noir-lang/noir#10272) feat(brillig): Automatic register deallocation (noir-lang/noir#10253) chore: Add some detail to the trait documentation (noir-lang/noir#10273) chore(frontend): Elaborator struct collection docs (noir-lang/noir#10266) chore(ACIR): add a test for OpcodeResolutionError::AcirMainCallAttempted (noir-lang/noir#10254) fix(ssa-interpreter): Add integer modulus to unfit `Field` if the value comes from a subtraction (noir-lang/noir#10241) chore(frontend): Elaborator function module (noir-lang/noir#10252) chore: typos and some refactors, tests, etc in `acvm/src/compiler` (noir-lang/noir#10111) chore(ACIR): turn "todo" into "unreachable" (noir-lang/noir#10251) chore(frontend): Elaborator module doc comments (noir-lang/noir#10249) chore(ACIR): more Circuit, Expression and Opcode parsing (noir-lang/noir#10250) chore: greenlight Elaborator visibility (noir-lang/noir#10248) chore(audit): Brillig VM nits (noir-lang/noir#10237) fix(mem2reg): Update array set value alias set and propagate array get result as alias (noir-lang/noir#10242) chore(frontend): Split up traits tests module into submodules (noir-lang/noir#10229) chore(frontend): HIR printer module for inline macro expansion unit tests (noir-lang/noir#10232) chore(frontend): Modularize the Elaborator (noir-lang/noir#10202) chore: Improve compilation time on `rollup-tx-base-public` (noir-lang/noir#10224) fix(mem2reg): Updating referenced value invalidate addresses with unknown aliases (noir-lang/noir#10175) chore(frontend): Re-organize frontend tests (noir-lang/noir#10221) chore(ACIR): simpler AsSlice implementation (noir-lang/noir#10214) chore: clone indexed call results (noir-lang/noir#10140) chore(acvm): Optimize logic ops (noir-lang/noir#10222) chore: simplify `x > 0` to `x != 0` for unsigned types in ACIR (noir-lang/noir#10220) fix(ACIR): correct brillig parameter slice length for dynamic arrays (noir-lang/noir#10198) chore: redo typo PR by spuradage (noir-lang/noir#10226) feat: attempt to inline successors in `simplify_cfg` (noir-lang/noir#9608) chore: remove incremental mutation tests (noir-lang/noir#10212) chore(ACIR): display/parse memory arrays as b0, b1, etc. (noir-lang/noir#10211) chore(ACIR): no need to return types in `flatten` (noir-lang/noir#10210) chore(ACIR): make it clear that modulo is only for signed integers (noir-lang/noir#10209) chore: document precondition to unrolling SSA pass (noir-lang/noir#10208) chore(ACIR): better display/parse for blackbox calls (noir-lang/noir#10157) chore: assume Intrinsic::ArrayLen never reaches ACIR (noir-lang/noir#10201) chore(ACIR): optimize slice_insert (noir-lang/noir#10164) chore: add minimal reproductions for Cantina issues + typo fixes (noir-lang/noir#10120) chore: address clippy warnings (noir-lang/noir#10207) fix: address off-by-one error when removing casts before constraining to constant (noir-lang/noir#10194) chore(ACIR): prefer displaying `ASSERT return_value = ...` (noir-lang/noir#10195) chore: remove if-condition from `array_set_optimization_pre_check` (noir-lang/noir#10193) chore(ssa_fuzzer): allow brillig fuzz target to work in multi threads (noir-lang/noir#10100) chore: add incremental mutation testing (noir-lang/noir#10196) chore: ensure that `useful_instructions` cannot overflow (noir-lang/noir#10173) END_COMMIT_OVERRIDE Co-authored-by: benesjan <janbenes1234@gmail.com>
github-merge-queue bot
pushed a commit
to AztecProtocol/aztec-packages
that referenced
this pull request
Nov 5, 2025
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore(frontend): Elaborator assignment unit tests (noir-lang/noir#10362) fix(elaborator): Keep the status of the outer `unsafe` block if the inner is unnecessary (noir-lang/noir#10361) chore: Start greenlight of interpreter (noir-lang/noir#10354) chore: bump bb (noir-lang/noir#10359) feat: `TypeDefinition::as_type_with_generics` (noir-lang/noir#10315) fix(elaborator): Create new type variable for each generic kind of `FmtStr` (noir-lang/noir#10349) chore: require ≥2 `FunctionId`'s in `create_apply_function` (noir-lang/noir#10329) chore(test): Show that `#[oracle]` can take and return function pointers (noir-lang/noir#10178) fix: check value of `ArraySet` during `array_set_optimization` (noir-lang/noir#10325) chore(frontend): Comptime item generation unit tests (noir-lang/noir#10319) chore: bump external pinned commits (noir-lang/noir#10236) fix: do not simplify call-data values (noir-lang/noir#10032) chore: update directory name (noir-lang/noir#10348) feat: Add `#[must_use]` attribute to promote unused warning to an error (noir-lang/noir#10313) chore: green light for basic_conditional audit (noir-lang/noir#10134) chore: add unit tests to show some features of the analysis (noir-lang/noir#10286) fix(print): Convert `HirType::Function` into `PrintableType::Tuple` (noir-lang/noir#10189) chore(frontend): Quoting/unquoting roundtrip testing (noir-lang/noir#10327) fix: remove leading stars from block doc comments (noir-lang/noir#10316) fix: slice push_back when length is not known (noir-lang/noir#10206) chore: Fix typo in defunctionalize docs (noir-lang/noir#10321) chore(frontend): Elaborator comptime module docs (noir-lang/noir#10318) fix: "No size for slice" when using black_box (noir-lang/noir#10312) chore(audit): Fix vector items offset and other refactors (noir-lang/noir#10294) chore(audit): Refactors and tests for reg-to-reg movements (noir-lang/noir#10293) chore: Document each elaborator trait function (noir-lang/noir#10303) chore(frontend): Elaborator impls documentation and additional tests (noir-lang/noir#10302) feat(ACIR): reuse element_type_sizes blocks with the same structure (noir-lang/noir#10231) feat(SSA): simplify array_get from param (noir-lang/noir#10300) chore(frontend): Elaborator lazy globals and documentation (noir-lang/noir#10260) chore: avoid unrolling loop headers twice in unrolling passes (noir-lang/noir#10284) chore(audit): Refactors in `BrilligGlobals`, `ConstantAllocation` and `VariableLiveness` (noir-lang/noir#10265) chore: Move variable elaboration to its own file (noir-lang/noir#10285) chore(ACIR): use u32::MAX for PLACEHOLDER_BRILLIG_INDEX (noir-lang/noir#10287) feat(github): Add Security Policy (noir-lang/noir#10262) chore(ACIR): handle TODO in `more_than_eq_var` (noir-lang/noir#10274) chore(ACIR): document AcirValue (noir-lang/noir#10276) chore(Brillig): no need to handle ArrayLen intrinsic (noir-lang/noir#10280) chore(frontend): Split out trait impl setup when defining function meta data (noir-lang/noir#10271) feat(LSP): show errors on stdlib files (noir-lang/noir#10283) chore: typos and some refactors, tests, etc in `noirc_evaluator/src/acir` (noir-lang/noir#10255) chore(ACIR): handle TODO in radix_decompose (noir-lang/noir#10272) feat(brillig): Automatic register deallocation (noir-lang/noir#10253) chore: Add some detail to the trait documentation (noir-lang/noir#10273) chore(frontend): Elaborator struct collection docs (noir-lang/noir#10266) chore(ACIR): add a test for OpcodeResolutionError::AcirMainCallAttempted (noir-lang/noir#10254) fix(ssa-interpreter): Add integer modulus to unfit `Field` if the value comes from a subtraction (noir-lang/noir#10241) chore(frontend): Elaborator function module (noir-lang/noir#10252) chore: typos and some refactors, tests, etc in `acvm/src/compiler` (noir-lang/noir#10111) chore(ACIR): turn "todo" into "unreachable" (noir-lang/noir#10251) chore(frontend): Elaborator module doc comments (noir-lang/noir#10249) chore(ACIR): more Circuit, Expression and Opcode parsing (noir-lang/noir#10250) chore: greenlight Elaborator visibility (noir-lang/noir#10248) chore(audit): Brillig VM nits (noir-lang/noir#10237) fix(mem2reg): Update array set value alias set and propagate array get result as alias (noir-lang/noir#10242) chore(frontend): Split up traits tests module into submodules (noir-lang/noir#10229) chore(frontend): HIR printer module for inline macro expansion unit tests (noir-lang/noir#10232) chore(frontend): Modularize the Elaborator (noir-lang/noir#10202) chore: Improve compilation time on `rollup-tx-base-public` (noir-lang/noir#10224) fix(mem2reg): Updating referenced value invalidate addresses with unknown aliases (noir-lang/noir#10175) chore(frontend): Re-organize frontend tests (noir-lang/noir#10221) chore(ACIR): simpler AsSlice implementation (noir-lang/noir#10214) chore: clone indexed call results (noir-lang/noir#10140) chore(acvm): Optimize logic ops (noir-lang/noir#10222) chore: simplify `x > 0` to `x != 0` for unsigned types in ACIR (noir-lang/noir#10220) fix(ACIR): correct brillig parameter slice length for dynamic arrays (noir-lang/noir#10198) chore: redo typo PR by spuradage (noir-lang/noir#10226) feat: attempt to inline successors in `simplify_cfg` (noir-lang/noir#9608) chore: remove incremental mutation tests (noir-lang/noir#10212) chore(ACIR): display/parse memory arrays as b0, b1, etc. (noir-lang/noir#10211) chore(ACIR): no need to return types in `flatten` (noir-lang/noir#10210) chore(ACIR): make it clear that modulo is only for signed integers (noir-lang/noir#10209) chore: document precondition to unrolling SSA pass (noir-lang/noir#10208) chore(ACIR): better display/parse for blackbox calls (noir-lang/noir#10157) chore: assume Intrinsic::ArrayLen never reaches ACIR (noir-lang/noir#10201) chore(ACIR): optimize slice_insert (noir-lang/noir#10164) chore: add minimal reproductions for Cantina issues + typo fixes (noir-lang/noir#10120) chore: address clippy warnings (noir-lang/noir#10207) fix: address off-by-one error when removing casts before constraining to constant (noir-lang/noir#10194) chore(ACIR): prefer displaying `ASSERT return_value = ...` (noir-lang/noir#10195) chore: remove if-condition from `array_set_optimization_pre_check` (noir-lang/noir#10193) chore(ssa_fuzzer): allow brillig fuzz target to work in multi threads (noir-lang/noir#10100) chore: add incremental mutation testing (noir-lang/noir#10196) chore: ensure that `useful_instructions` cannot overflow (noir-lang/noir#10173) END_COMMIT_OVERRIDE
github-merge-queue bot
pushed a commit
to AztecProtocol/aztec-packages
that referenced
this pull request
Nov 5, 2025
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore(frontend): Elaborator assignment unit tests (noir-lang/noir#10362) fix(elaborator): Keep the status of the outer `unsafe` block if the inner is unnecessary (noir-lang/noir#10361) chore: Start greenlight of interpreter (noir-lang/noir#10354) chore: bump bb (noir-lang/noir#10359) feat: `TypeDefinition::as_type_with_generics` (noir-lang/noir#10315) fix(elaborator): Create new type variable for each generic kind of `FmtStr` (noir-lang/noir#10349) chore: require ≥2 `FunctionId`'s in `create_apply_function` (noir-lang/noir#10329) chore(test): Show that `#[oracle]` can take and return function pointers (noir-lang/noir#10178) fix: check value of `ArraySet` during `array_set_optimization` (noir-lang/noir#10325) chore(frontend): Comptime item generation unit tests (noir-lang/noir#10319) chore: bump external pinned commits (noir-lang/noir#10236) fix: do not simplify call-data values (noir-lang/noir#10032) chore: update directory name (noir-lang/noir#10348) feat: Add `#[must_use]` attribute to promote unused warning to an error (noir-lang/noir#10313) chore: green light for basic_conditional audit (noir-lang/noir#10134) chore: add unit tests to show some features of the analysis (noir-lang/noir#10286) fix(print): Convert `HirType::Function` into `PrintableType::Tuple` (noir-lang/noir#10189) chore(frontend): Quoting/unquoting roundtrip testing (noir-lang/noir#10327) fix: remove leading stars from block doc comments (noir-lang/noir#10316) fix: slice push_back when length is not known (noir-lang/noir#10206) chore: Fix typo in defunctionalize docs (noir-lang/noir#10321) chore(frontend): Elaborator comptime module docs (noir-lang/noir#10318) fix: "No size for slice" when using black_box (noir-lang/noir#10312) chore(audit): Fix vector items offset and other refactors (noir-lang/noir#10294) chore(audit): Refactors and tests for reg-to-reg movements (noir-lang/noir#10293) chore: Document each elaborator trait function (noir-lang/noir#10303) chore(frontend): Elaborator impls documentation and additional tests (noir-lang/noir#10302) feat(ACIR): reuse element_type_sizes blocks with the same structure (noir-lang/noir#10231) feat(SSA): simplify array_get from param (noir-lang/noir#10300) chore(frontend): Elaborator lazy globals and documentation (noir-lang/noir#10260) chore: avoid unrolling loop headers twice in unrolling passes (noir-lang/noir#10284) chore(audit): Refactors in `BrilligGlobals`, `ConstantAllocation` and `VariableLiveness` (noir-lang/noir#10265) chore: Move variable elaboration to its own file (noir-lang/noir#10285) chore(ACIR): use u32::MAX for PLACEHOLDER_BRILLIG_INDEX (noir-lang/noir#10287) feat(github): Add Security Policy (noir-lang/noir#10262) chore(ACIR): handle TODO in `more_than_eq_var` (noir-lang/noir#10274) chore(ACIR): document AcirValue (noir-lang/noir#10276) chore(Brillig): no need to handle ArrayLen intrinsic (noir-lang/noir#10280) chore(frontend): Split out trait impl setup when defining function meta data (noir-lang/noir#10271) feat(LSP): show errors on stdlib files (noir-lang/noir#10283) chore: typos and some refactors, tests, etc in `noirc_evaluator/src/acir` (noir-lang/noir#10255) chore(ACIR): handle TODO in radix_decompose (noir-lang/noir#10272) feat(brillig): Automatic register deallocation (noir-lang/noir#10253) chore: Add some detail to the trait documentation (noir-lang/noir#10273) chore(frontend): Elaborator struct collection docs (noir-lang/noir#10266) chore(ACIR): add a test for OpcodeResolutionError::AcirMainCallAttempted (noir-lang/noir#10254) fix(ssa-interpreter): Add integer modulus to unfit `Field` if the value comes from a subtraction (noir-lang/noir#10241) chore(frontend): Elaborator function module (noir-lang/noir#10252) chore: typos and some refactors, tests, etc in `acvm/src/compiler` (noir-lang/noir#10111) chore(ACIR): turn "todo" into "unreachable" (noir-lang/noir#10251) chore(frontend): Elaborator module doc comments (noir-lang/noir#10249) chore(ACIR): more Circuit, Expression and Opcode parsing (noir-lang/noir#10250) chore: greenlight Elaborator visibility (noir-lang/noir#10248) chore(audit): Brillig VM nits (noir-lang/noir#10237) fix(mem2reg): Update array set value alias set and propagate array get result as alias (noir-lang/noir#10242) chore(frontend): Split up traits tests module into submodules (noir-lang/noir#10229) chore(frontend): HIR printer module for inline macro expansion unit tests (noir-lang/noir#10232) chore(frontend): Modularize the Elaborator (noir-lang/noir#10202) chore: Improve compilation time on `rollup-tx-base-public` (noir-lang/noir#10224) fix(mem2reg): Updating referenced value invalidate addresses with unknown aliases (noir-lang/noir#10175) chore(frontend): Re-organize frontend tests (noir-lang/noir#10221) chore(ACIR): simpler AsSlice implementation (noir-lang/noir#10214) chore: clone indexed call results (noir-lang/noir#10140) chore(acvm): Optimize logic ops (noir-lang/noir#10222) chore: simplify `x > 0` to `x != 0` for unsigned types in ACIR (noir-lang/noir#10220) fix(ACIR): correct brillig parameter slice length for dynamic arrays (noir-lang/noir#10198) chore: redo typo PR by spuradage (noir-lang/noir#10226) feat: attempt to inline successors in `simplify_cfg` (noir-lang/noir#9608) chore: remove incremental mutation tests (noir-lang/noir#10212) chore(ACIR): display/parse memory arrays as b0, b1, etc. (noir-lang/noir#10211) chore(ACIR): no need to return types in `flatten` (noir-lang/noir#10210) chore(ACIR): make it clear that modulo is only for signed integers (noir-lang/noir#10209) chore: document precondition to unrolling SSA pass (noir-lang/noir#10208) chore(ACIR): better display/parse for blackbox calls (noir-lang/noir#10157) chore: assume Intrinsic::ArrayLen never reaches ACIR (noir-lang/noir#10201) chore(ACIR): optimize slice_insert (noir-lang/noir#10164) chore: add minimal reproductions for Cantina issues + typo fixes (noir-lang/noir#10120) chore: address clippy warnings (noir-lang/noir#10207) fix: address off-by-one error when removing casts before constraining to constant (noir-lang/noir#10194) chore(ACIR): prefer displaying `ASSERT return_value = ...` (noir-lang/noir#10195) chore: remove if-condition from `array_set_optimization_pre_check` (noir-lang/noir#10193) chore(ssa_fuzzer): allow brillig fuzz target to work in multi threads (noir-lang/noir#10100) chore: add incremental mutation testing (noir-lang/noir#10196) chore: ensure that `useful_instructions` cannot overflow (noir-lang/noir#10173) END_COMMIT_OVERRIDE
charlielye
pushed a commit
to AztecProtocol/aztec-packages
that referenced
this pull request
Nov 6, 2025
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore(frontend): Elaborator assignment unit tests (noir-lang/noir#10362) fix(elaborator): Keep the status of the outer `unsafe` block if the inner is unnecessary (noir-lang/noir#10361) chore: Start greenlight of interpreter (noir-lang/noir#10354) chore: bump bb (noir-lang/noir#10359) feat: `TypeDefinition::as_type_with_generics` (noir-lang/noir#10315) fix(elaborator): Create new type variable for each generic kind of `FmtStr` (noir-lang/noir#10349) chore: require ≥2 `FunctionId`'s in `create_apply_function` (noir-lang/noir#10329) chore(test): Show that `#[oracle]` can take and return function pointers (noir-lang/noir#10178) fix: check value of `ArraySet` during `array_set_optimization` (noir-lang/noir#10325) chore(frontend): Comptime item generation unit tests (noir-lang/noir#10319) chore: bump external pinned commits (noir-lang/noir#10236) fix: do not simplify call-data values (noir-lang/noir#10032) chore: update directory name (noir-lang/noir#10348) feat: Add `#[must_use]` attribute to promote unused warning to an error (noir-lang/noir#10313) chore: green light for basic_conditional audit (noir-lang/noir#10134) chore: add unit tests to show some features of the analysis (noir-lang/noir#10286) fix(print): Convert `HirType::Function` into `PrintableType::Tuple` (noir-lang/noir#10189) chore(frontend): Quoting/unquoting roundtrip testing (noir-lang/noir#10327) fix: remove leading stars from block doc comments (noir-lang/noir#10316) fix: slice push_back when length is not known (noir-lang/noir#10206) chore: Fix typo in defunctionalize docs (noir-lang/noir#10321) chore(frontend): Elaborator comptime module docs (noir-lang/noir#10318) fix: "No size for slice" when using black_box (noir-lang/noir#10312) chore(audit): Fix vector items offset and other refactors (noir-lang/noir#10294) chore(audit): Refactors and tests for reg-to-reg movements (noir-lang/noir#10293) chore: Document each elaborator trait function (noir-lang/noir#10303) chore(frontend): Elaborator impls documentation and additional tests (noir-lang/noir#10302) feat(ACIR): reuse element_type_sizes blocks with the same structure (noir-lang/noir#10231) feat(SSA): simplify array_get from param (noir-lang/noir#10300) chore(frontend): Elaborator lazy globals and documentation (noir-lang/noir#10260) chore: avoid unrolling loop headers twice in unrolling passes (noir-lang/noir#10284) chore(audit): Refactors in `BrilligGlobals`, `ConstantAllocation` and `VariableLiveness` (noir-lang/noir#10265) chore: Move variable elaboration to its own file (noir-lang/noir#10285) chore(ACIR): use u32::MAX for PLACEHOLDER_BRILLIG_INDEX (noir-lang/noir#10287) feat(github): Add Security Policy (noir-lang/noir#10262) chore(ACIR): handle TODO in `more_than_eq_var` (noir-lang/noir#10274) chore(ACIR): document AcirValue (noir-lang/noir#10276) chore(Brillig): no need to handle ArrayLen intrinsic (noir-lang/noir#10280) chore(frontend): Split out trait impl setup when defining function meta data (noir-lang/noir#10271) feat(LSP): show errors on stdlib files (noir-lang/noir#10283) chore: typos and some refactors, tests, etc in `noirc_evaluator/src/acir` (noir-lang/noir#10255) chore(ACIR): handle TODO in radix_decompose (noir-lang/noir#10272) feat(brillig): Automatic register deallocation (noir-lang/noir#10253) chore: Add some detail to the trait documentation (noir-lang/noir#10273) chore(frontend): Elaborator struct collection docs (noir-lang/noir#10266) chore(ACIR): add a test for OpcodeResolutionError::AcirMainCallAttempted (noir-lang/noir#10254) fix(ssa-interpreter): Add integer modulus to unfit `Field` if the value comes from a subtraction (noir-lang/noir#10241) chore(frontend): Elaborator function module (noir-lang/noir#10252) chore: typos and some refactors, tests, etc in `acvm/src/compiler` (noir-lang/noir#10111) chore(ACIR): turn "todo" into "unreachable" (noir-lang/noir#10251) chore(frontend): Elaborator module doc comments (noir-lang/noir#10249) chore(ACIR): more Circuit, Expression and Opcode parsing (noir-lang/noir#10250) chore: greenlight Elaborator visibility (noir-lang/noir#10248) chore(audit): Brillig VM nits (noir-lang/noir#10237) fix(mem2reg): Update array set value alias set and propagate array get result as alias (noir-lang/noir#10242) chore(frontend): Split up traits tests module into submodules (noir-lang/noir#10229) chore(frontend): HIR printer module for inline macro expansion unit tests (noir-lang/noir#10232) chore(frontend): Modularize the Elaborator (noir-lang/noir#10202) chore: Improve compilation time on `rollup-tx-base-public` (noir-lang/noir#10224) fix(mem2reg): Updating referenced value invalidate addresses with unknown aliases (noir-lang/noir#10175) chore(frontend): Re-organize frontend tests (noir-lang/noir#10221) chore(ACIR): simpler AsSlice implementation (noir-lang/noir#10214) chore: clone indexed call results (noir-lang/noir#10140) chore(acvm): Optimize logic ops (noir-lang/noir#10222) chore: simplify `x > 0` to `x != 0` for unsigned types in ACIR (noir-lang/noir#10220) fix(ACIR): correct brillig parameter slice length for dynamic arrays (noir-lang/noir#10198) chore: redo typo PR by spuradage (noir-lang/noir#10226) feat: attempt to inline successors in `simplify_cfg` (noir-lang/noir#9608) chore: remove incremental mutation tests (noir-lang/noir#10212) chore(ACIR): display/parse memory arrays as b0, b1, etc. (noir-lang/noir#10211) chore(ACIR): no need to return types in `flatten` (noir-lang/noir#10210) chore(ACIR): make it clear that modulo is only for signed integers (noir-lang/noir#10209) chore: document precondition to unrolling SSA pass (noir-lang/noir#10208) chore(ACIR): better display/parse for blackbox calls (noir-lang/noir#10157) chore: assume Intrinsic::ArrayLen never reaches ACIR (noir-lang/noir#10201) chore(ACIR): optimize slice_insert (noir-lang/noir#10164) chore: add minimal reproductions for Cantina issues + typo fixes (noir-lang/noir#10120) chore: address clippy warnings (noir-lang/noir#10207) fix: address off-by-one error when removing casts before constraining to constant (noir-lang/noir#10194) chore(ACIR): prefer displaying `ASSERT return_value = ...` (noir-lang/noir#10195) chore: remove if-condition from `array_set_optimization_pre_check` (noir-lang/noir#10193) chore(ssa_fuzzer): allow brillig fuzz target to work in multi threads (noir-lang/noir#10100) chore: add incremental mutation testing (noir-lang/noir#10196) chore: ensure that `useful_instructions` cannot overflow (noir-lang/noir#10173) END_COMMIT_OVERRIDE Co-authored-by: benesjan <janbenes1234@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Problem*
Working towards green-light of the elaborator
Summary*
Post of the code for defining trait impl methods is unrelated from defining of the function meta itself and is mostly set-up code for the trait impl. I found it clearer to split out this setup into the
trait_implsmodule to more clearly separate the impl setup and the actual function meta definition. I decided to leave the impl setup inline as it is only concerned with adding generics to the current state and resolving the impl's self type.I also added some additional documentation to the trait impl setup for function meta definition.
Additional Context
Documentation*
Check one:
PR Checklist*
cargo fmton default settings.